{
  "$id": "https://schemas.dissco.tech/schemas/fdo-type/digital-specimen/0.4.0/georeference.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$comment": "Georeference Version 0.4.0",
  "title": "Georeference",
  "type": "object",
  "properties": {
    "@id": {
      "type": "string",
      "description": "The identifier for the Geo Reference object."
    },
    "@type": {
      "type": "string",
      "const": "ods:Georeference",
      "description": "The type of the object, in this case ods:Georeference"
    },
    "dwc:verbatimCoordinates": {
      "type": "string",
      "description": "The verbatim original spatial coordinates of the ods:Location. The coordinate ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these coordinates should be stored in dwc:verbatimSRS and the coordinate system should be stored in dwc:verbatimCoordinateSystem",
      "examples": [
        "41 05 54S 121 05 34W"
      ]
    },
    "dwc:decimalLatitude": {
      "type": "number",
      "description": "The geographic latitude (in decimal degrees, using the spatial reference system given in dwc:geodeticDatum) of the geographic center of a ods:Location. Positive values are north of the Equator, negative values are south of it. Legal values lie between -90 and 90, inclusive",
      "examples": [
        -41.0983423
      ],
      "minimum": -90,
      "maximum": 90
    },
    "dwc:verbatimLatitude": {
      "type": "string",
      "description": "The verbatim original latitude of the ods:Location. The coordinate ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these coordinates should be stored in dwc:verbatimSRS and the coordinate system should be stored in dwc:verbatimCoordinateSystem",
      "examples": [
        "41 05 54.03S"
      ]
    },
    "dwc:decimalLongitude": {
      "type": "number",
      "description": "The geographic longitude (in decimal degrees, using the spatial reference system given in dwc:geodeticDatum) of the geographic center of a ods:Location. Positive values are east of the Greenwich Meridian, negative values are west of it. Legal values lie between -180 and 180, inclusive",
      "examples": [
        -121.1761111
      ],
      "minimum": -180,
      "maximum": 180
    },
    "dwc:verbatimLongitude": {
      "type": "string",
      "description": "The verbatim original longitude of the ods:Location. The coordinate ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these coordinates should be stored in dwc:verbatimSRS and the coordinate system should be stored in dwc:verbatimCoordinateSystem",
      "examples": [
        "121d 10' 34\" W"
      ]
    },
    "dwc:verbatimCoordinateSystem": {
      "type": "string",
      "description": "The coordinate format for the dwc:verbatimLatitude and dwc:verbatimLongitude or the dwc:verbatimCoordinates of the ods:Location",
      "examples": [
        "degrees decimal minutes"
      ]
    },
    "dwc:geodeticDatum": {
      "type": "string",
      "description": "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which the geographic coordinates given in dwc:decimalLatitude and dwc:decimalLongitude are based",
      "examples": [
        "WGS84"
      ]
    },
    "dwc:coordinateUncertaintyInMeters": {
      "type": "number",
      "description": "The horizontal distance (in meters) from the given dwc:decimalLatitude and dwc:decimalLongitude describing the smallest circle containing the whole of the ods:Location. Leave the value empty if the uncertainty is unknown, cannot be estimated, or is not applicable (because there are no coordinates). Zero is not a valid value for this term",
      "examples": [
        100
      ],
      "minimum": 0
    },
    "dwc:coordinatePrecision": {
      "type": "number",
      "description": "A decimal representation of the precision of the coordinates given in the dwc:decimalLatitude and dwc:decimalLongitude",
      "examples": [
        0.01667
      ]
    },
    "dwc:pointRadiusSpatialFit": {
      "type": "number",
      "description": "The ratio of the area of the point-radius (dwc:decimalLatitude, dwc:decimalLongitude, dwc:coordinateUncertaintyInMeters) to the area of the true (original, or most specific) spatial representation of the ods:Location. Legal values are 0, greater than or equal to 1, or undefined. A value of 1 is an exact match or 100% overlap. A value of 0 should be used if the given point-radius does not completely contain the original representation. The dwc:pointRadiusSpatialFit is undefined (and should be left empty) if the original representation is any geometry without area (e.g., a point or polyline) and without uncertainty and the given georeference is not that same geometry (without uncertainty). If both the original and the given georeference are the same point, the dwc:pointRadiusSpatialFit is 1",
      "examples": [
        1.5708
      ]
    },
    "dwc:footprintWKT": {
      "type": "string",
      "description": "A Well-Known Text (WKT) representation of the shape (footprint, geometry) that defines the ods:Location. A ods:Location may have both a point-radius representation (see dwc:decimalLatitude) and a footprint representation, and they may differ from each other",
      "examples": [
        "POLYGON ((10 20, 11 20, 11 21, 10 21, 10 20))"
      ]
    },
    "dwc:footprintSRS": {
      "type": "string",
      "description": "https://rs.tdwg.org/dwc/terms/footprintSRS",
      "examples": [
        "epsg:4326"
      ]
    },
    "dwc:verbatimSRS": {
      "type": "string",
      "description": "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which the geometry given in dwc:footprintWKT is based",
      "examples": [
        "NAD27"
      ]
    },
    "dwc:footprintSpatialFit": {
      "type": "integer",
      "description": "The ratio of the area of the dwc:footprintWKT to the area of the true (original, or most specific) spatial representation of the ods:Location. Legal values are 0, greater than or equal to 1, or undefined. A value of 1 is an exact match or 100% overlap. A value of 0 should be used if the given dwc:footprintWKT does not completely contain the original representation. The dwc:footprintSpatialFit is undefined (and should be left empty) if the original representation is any geometry without area (e.g., a point or polyline) and without uncertainty and the given georeference is not that same geometry (without uncertainty). If both the original and the given georeference are the same point, the dwc:footprintSpatialFit is 1",
      "examples": [
        1.5708
      ]
    },
    "dwc:georeferencedDate": {
      "type": "string",
      "description": "The date on which the ods:Location was georeferenced",
      "examples": [
        "1963-03-08T14:07-0600"
      ]
    },
    "dwc:georeferenceProtocol": {
      "type": "string",
      "description": "A description or reference to the methods used to determine the spatial footprint, coordinates, and uncertainties",
      "examples": [
        "https://doi.org/10.35035/e09p-h128"
      ]
    },
    "dwc:georeferenceSources": {
      "type": "string",
      "description": "A list (concatenated and separated) of maps, gazetteers, or other resources used to georeference the ods:Location, described specifically enough to allow anyone in the future to use the same resources",
      "examples": [
        "https://www.geonames.org/",
        "GeoPick v2"
      ]
    },
    "dwc:georeferenceRemarks": {
      "type": "string",
      "description": "Notes or comments about the spatial description determination, explaining assumptions made in addition or opposition to the those formalized in the method referred to in dwc:georeferenceProtocol",
      "examples": [
        "Assumed distance by road (Hwy. 101)"
      ]
    },
    "ods:hasAgents": {
      "type": "array",
      "description": "The agent(s) involved in the georeferencing of this location, uses `ods:Agent`",
      "items": {
        "type": "object",
        "$ref": "https://schemas.dissco.tech/schemas/fdo-type/shared-model/0.4.0/agent.json"
      }
    }
  },
  "required": [
    "@type"
  ],
  "additionalProperties": false
}