{
	"id": "GeospatialGeometry.json",
	"title": "Geospatial Geometry",
	"description": "(Eventually to be defined as) a supertype of GeoShape designed to accommodate definitions from Geo-Spatial best practices.",
	"media": {"type": "application/json;profile=http://schema.org/GeospatialGeometry"},
	"allOf": [{"$ref": "Thing.json"}, {"$ref": "Intangible.json"}],
	"type": "object",
	"properties": {
		"geoContains": {
			"oneOf": [
				{"$ref": "#/definitions/geoContains"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoContains"}
				}
			]
		},
		"geoCoveredBy": {
			"oneOf": [
				{"$ref": "#/definitions/geoCoveredBy"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoCoveredBy"}
				}
			]
		},
		"geoCovers": {
			"oneOf": [
				{"$ref": "#/definitions/geoCovers"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoCovers"}
				}
			]
		},
		"geoCrosses": {
			"oneOf": [
				{"$ref": "#/definitions/geoCrosses"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoCrosses"}
				}
			]
		},
		"geoDisjoint": {
			"oneOf": [
				{"$ref": "#/definitions/geoDisjoint"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoDisjoint"}
				}
			]
		},
		"geoEquals": {
			"oneOf": [
				{"$ref": "#/definitions/geoEquals"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoEquals"}
				}
			]
		},
		"geoIntersects": {
			"oneOf": [
				{"$ref": "#/definitions/geoIntersects"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoIntersects"}
				}
			]
		},
		"geoOverlaps": {
			"oneOf": [
				{"$ref": "#/definitions/geoOverlaps"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoOverlaps"}
				}
			]
		},
		"geoTouches": {
			"oneOf": [
				{"$ref": "#/definitions/geoTouches"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoTouches"}
				}
			]
		},
		"geoWithin": {
			"oneOf": [
				{"$ref": "#/definitions/geoWithin"},
				{
					"type": "array",
					"items": {"$ref": "#/definitions/geoWithin"}
				}
			]
		}
	},
	"definitions": {
		"array": {
			"type": "array",
			"items": {"$ref": "#"}
		},
		"geoContains": {
			"title": "Geo Contains",
			"description": "Represents a relationship between two geometries (or the places they represent), relating a containing geometry to a contained geometry. \"a contains b iff no points of b lie in the exterior of a, and at least one point of the interior of b lies in the interior of a\". As defined in DE-9IM.",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"geoCoveredBy": {
			"title": "Geo Covered by",
			"description": "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that covers it. As defined in DE-9IM.",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"geoCovers": {
			"title": "Geo Covers",
			"description": "Represents a relationship between two geometries (or the places they represent), relating a covering geometry to a covered geometry. \"Every point of b is a point of (the interior or boundary of) a\". As defined in DE-9IM.",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"geoCrosses": {
			"title": "Geo Crosses",
			"description": "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that crosses it: \"a crosses b: they have some but not all interior points in common, and the dimension of the intersection is less than that of at least one of them\". As defined in DE-9IM.",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"geoDisjoint": {
			"title": "Geo Disjoint",
			"description": "Represents spatial relations in which two geometries (or the places they represent) are topologically disjoint: they have no point in common. They form a set of disconnected geometries.\" (a symmetric relationship, as defined in DE-9IM)",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"geoEquals": {
			"title": "Geo Equals",
			"description": "Represents spatial relations in which two geometries (or the places they represent) are topologically equal, as defined in DE-9IM. \"Two geometries are topologically equal if their interiors intersect and no part of the interior or boundary of one geometry intersects the exterior of the other\" (a symmetric relationship)",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"geoIntersects": {
			"title": "Geo Intersects",
			"description": "Represents spatial relations in which two geometries (or the places they represent) have at least one point in common. As defined in DE-9IM.",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"geoOverlaps": {
			"title": "Geo Overlaps",
			"description": "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that geospatially overlaps it, i.e. they have some but not all points in common. As defined in DE-9IM.",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"geoTouches": {
			"title": "Geo Touches",
			"description": "Represents spatial relations in which two geometries (or the places they represent) touch: they have at least one boundary point in common, but no interior points.\" (a symmetric relationship, as defined in DE-9IM )",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"geoWithin": {
			"title": "Geo Within",
			"description": "Represents a relationship between two geometries (or the places they represent), relating a geometry to one that contains it, i.e. it is inside (i.e. within) its interior. As defined in DE-9IM.",
			"anyOf": [{"$ref": "GeospatialGeometry.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"possibleRef": {
			"oneOf": [
				{"$ref": "#"},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"possibleRefArray": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/possibleRef"}
				},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		}
	}
}