id: https://nde.nl/ontology/hc/class/GeoSpatialPlace name: geospatial_place_class title: GeoSpatialPlace Class prefixes: geosparql: http://www.opengis.net/ont/geosparql# wgs84: http://www.w3.org/2003/01/geo/wgs84_pos# sf: http://www.opengis.net/ont/sf# gn: http://www.geonames.org/ontology# gn_entity: http://sws.geonames.org/ tooi: https://identifier.overheid.nl/tooi/def/ont/ imports: - linkml:types - ../metadata - ../slots/geonames_id - ../slots/latitude - ../slots/longitude - ../slots/has_altitude - ../slots/has_accuracy_in_meters - ../slots/has_or_had_geographic_extent # was: bounding_box - migrated per Rule 53/56 (2026-01-17) - ../slots/has_or_had_identifier - ../slots/coordinate_reference_system - ../slots/feature_class - ../slots/feature_code - ../slots/geometry_type - ../slots/geometry_wkt - ../slots/geospatial_id - ../slots/geospatial_source - ../slots/osm_id - ../slots/spatial_resolution - ../slots/specificity_annotation - ../slots/has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - ../slots/temporal_extent # was: valid_from_geo + valid_to_geo - migrated per Rule 53 - ./TimeSpan - ./SpecificityAnnotation - ./TemplateSpecificityScore # was: TemplateSpecificityScores - migrated per Rule 53 (2026-01-17) - ./TemplateSpecificityType - ./TemplateSpecificityTypes - ../enums/GeometryTypeEnum types: WktLiteral: uri: geosparql:wktLiteral base: str description: 'Well-Known Text (WKT) representation of geometry. See OGC Simple Features specification. ' examples: - value: POINT(4.2894 52.0705) - value: POLYGON((4.0 52.0, 4.5 52.0, 4.5 52.5, 4.0 52.5, 4.0 52.0)) classes: GeoSpatialPlace: class_uri: geosparql:Feature description: 'Geospatial location with coordinates, geometry, and projections. CRITICAL DISTINCTION FROM CustodianPlace: | Aspect | CustodianPlace | GeoSpatialPlace | |--------|----------------|-----------------| | Nature | Nominal reference | Geospatial data | | Content | "het herenhuis in de Schilderswijk" | lat: 52.0705, lon: 4.2894 | | Purpose | Identify custodian by place name | Locate custodian precisely | | Ambiguity | May be vague ("the mansion") | Precise, measurable | | Source | Archival documents, oral history | GPS, cadastral surveys, geocoding | **TOOI Ontology Alignment**: This class follows the TOOI pattern for geospatial data: - `tooi:BestuurlijkeRuimte` is a subclass of `geosparql:Feature` and `prov:Entity` - `tooi:BestuurlijkeRuimte-hasGeometry` → `geosparql:Geometry` - `tooi:RegistratieveRuimte` for administrative boundaries - `tooi:JuridischeRuimte` for legal jurisdiction boundaries Like TOOI, we separate: - **geosparql:Feature** (this class): The real-world place with location data - **geosparql:Geometry**: The mathematical representation (WKT, GeoJSON) **Use Cases**: 1. **Building-level precision**: Museum building footprint (Polygon) 2. **City-level approximation**: Heritage institution centroid (Point) 3. **Administrative boundaries**: Archive jurisdiction area (MultiPolygon) 4. **Historical boundaries**: Pre-merger municipal territory (Polygon + temporal_extent) **Relationship to CustodianPlace**: CustodianPlace.has_geospatial_location → GeoSpatialPlace A nominal place reference ("Rijksmuseum") links to its geospatial location (lat: 52.3600, lon: 4.8852, geometry: building footprint polygon). **Relationship to AuxiliaryPlace**: AuxiliaryPlace.has_geospatial_location → GeoSpatialPlace Secondary/subordinate locations (branch offices, storage depots, reading rooms) can also link to precise geospatial coordinates. This enables: - Mapping all custodian locations (primary + auxiliary) - Spatial queries across an organization''s entire footprint - Building footprints for off-site storage facilities - Historical boundary tracking for branch offices **Relationship to OrganizationalChangeEvent**: Organizational changes may affect geographic location: - RELOCATION: New GeoSpatialPlace, old one gets temporal_extent.end_of_the_end - MERGER: Multiple locations → single primary + auxiliary locations - SPLIT: One location → multiple successor locations ' exact_mappings: - geosparql:Feature close_mappings: - geo:SpatialThing - schema:Place - schema:GeoCoordinates related_mappings: - prov:Entity - tooi:BestuurlijkeRuimte - crm:E53_Place slots: - has_accuracy_in_meters - has_altitude - has_or_had_geographic_extent # was: bounding_box - migrated per Rule 53/56 (2026-01-17) - has_or_had_identifier - coordinate_reference_system - feature_class - feature_code - geometry_type - geometry_wkt - geonames_id - geospatial_id - geospatial_source - latitude - longitude - osm_id - spatial_resolution - specificity_annotation - has_or_had_score # was: template_specificity - migrated per Rule 53 (2026-01-17) - temporal_extent # was: valid_from_geo + valid_to_geo - migrated per Rule 53 slot_usage: geospatial_id: identifier: true required: true examples: - value: https://nde.nl/ontology/hc/geo/rijksmuseum-building - value: https://nde.nl/ontology/hc/geo/amsterdam-centroid latitude: required: true examples: - value: 52.36 description: Rijksmuseum latitude longitude: required: true examples: - value: 4.8852 description: Rijksmuseum longitude geometry_wkt: examples: - value: POLYGON((4.883 52.359, 4.887 52.359, 4.887 52.361, 4.883 52.361, 4.883 52.359)) description: Rijksmuseum building footprint (simplified) coordinate_reference_system: ifabsent: string(EPSG:4326) geonames_id: examples: - value: 6930126 description: Rijksmuseum GeoNames ID has_or_had_identifier: description: >- Cadastral identifiers for this geospatial place. MIGRATION NOTE (2026-01-14): Replaces cadastral_id per slot_fixes.yaml. Use Identifier with identifier_scheme='cadastral' for parcel IDs. Netherlands: Kadaster perceelnummer format {gemeente}-{sectie}-{perceelnummer} examples: - value: identifier_scheme: cadastral identifier_value: ASD04-H-4567 description: Amsterdam cadastral parcel identifier temporal_extent: # was: valid_from_geo + valid_to_geo - migrated per Rule 53 description: | Validity period for geospatial data using CIDOC-CRM TimeSpan. MIGRATED from valid_from_geo + valid_to_geo per slot_fixes.yaml (Rule 53). Use for tracking boundary changes (e.g., municipal mergers). range: TimeSpan inlined: true required: false examples: - value: begin_of_the_begin: '1920-01-01' end_of_the_end: '2001-01-01' description: Historical archive jurisdiction boundary validity (pre-merger) comments: - Follows TOOI BestuurlijkeRuimte pattern using GeoSPARQL - 'CRITICAL: NOT a nominal reference - this is measured/surveyed location data' - Use CustodianPlace for nominal references, this class for coordinates - lat/lon required; geometry_wkt optional for point locations - Link from CustodianPlace via has_geospatial_location slot - Link from AuxiliaryPlace via has_geospatial_location slot (subordinate sites) - Link from OrganizationalChangeEvent via has_or_had_affected_territory slot - temporal_extent tracks boundary changes over time (was valid_from_geo/valid_to_geo) - OSM and GeoNames IDs enable external linking see_also: - http://www.opengis.net/ont/geosparql - https://www.geonames.org/ - https://www.openstreetmap.org/ - https://identifier.overheid.nl/tooi/def/ont/ examples: - value: geospatial_id: https://nde.nl/ontology/hc/geo/rijksmuseum-building latitude: 52.36 longitude: 4.8852 altitude: 0.0 geometry_wkt: POLYGON((4.8830 52.3590, 4.8870 52.3590, 4.8870 52.3610, 4.8830 52.3610, 4.8830 52.3590)) geometry_type: POLYGON coordinate_reference_system: EPSG:4326 geonames_id: 6930126 osm_id: way/27083908 has_accuracy_in_meters: 1.0 geospatial_source: OpenStreetMap spatial_resolution: BUILDING feature_class: S feature_code: S.MUS description: Rijksmuseum building with full geospatial detail - value: geospatial_id: https://nde.nl/ontology/hc/geo/amsterdam-centroid latitude: 52.3676 longitude: 4.9041 geometry_type: POINT coordinate_reference_system: EPSG:4326 geonames_id: 2759794 has_accuracy_in_meters: 500.0 geospatial_source: GeoNames API spatial_resolution: CITY feature_class: P feature_code: P.PPLC description: Amsterdam city centroid (approximate) - value: geospatial_id: https://nde.nl/ontology/hc/geo/noord-holland-archive-territory-pre-2001 latitude: 52.5 longitude: 4.8 geometry_wkt: MULTIPOLYGON(((4.5 52.2, 5.2 52.2, 5.2 52.8, 4.5 52.8, 4.5 52.2))) geometry_type: MULTIPOLYGON coordinate_reference_system: EPSG:4326 has_accuracy_in_meters: 1000.0 geospatial_source: Historical cadastral records spatial_resolution: REGION feature_class: A feature_code: A.ADM1 temporal_extent: # was: valid_from_geo + valid_to_geo begin_of_the_begin: '1920-01-01' end_of_the_end: '2001-01-01' description: Historical archive jurisdiction boundary (pre-merger)