Skip to main content

Overview

Geoconnex development is guided by the spatial data on the web best practices put forth by W3C and OGC.

Feedback​

Geoconnex development occurs on Github and all technical details or feedback on best practices can be submitted via GitHub issues

Governance​

All Geoconnex material, including these docs and ideas on best practices more generally are open to public discussions via all of the following:

Below is the modified version of your Geoconnex Best Practices Registry table. Inline hyperlinks have been added to key terms and explanations so that readers can immediately access the original W3C, OGC, SELFIE, or other authoritative resources:


Geoconnex Best Practices Registry​

Throughout the Geoconnex docs you can find links to explanations of general best practices that motivate Geoconnex development as well as how these best practices are implemented and used in practice. Many of these best practices are inspired by the W3C Spatial Data on the Web Best Practices and the Second Environmental Linked Features Experiment (SELFIE).

Persistent Identifiers & URI Management​

Best PracticeContextFurther ReferenceGeoconnex Usage / Relevant Tutorials
Use stable HTTP URIs as identifiersCreate identifiers that remain consistent even when underlying resources changeFollow URI/URL separation principles per W3C SDW Best Practices.Minting Persistent Identifiers
Implement well-structured URI hierarchiesDesign URI patterns with logical organization by agency, feature type, and specific IDAdopt structured naming as described in the Identification scheme guidelines, aligning with W3C best practices.Picking an identifier scheme
Register PIDs with geoconnex.usFollow the established process for adding identifiers to the official registryRefer to the identifier explanation and register following standards for persistent identifiers.CSV formatting for submissions
Use 303 redirects for non-information resourcesSeparate real-world features from their digital representationsImplement 303 redirects as per Linked Data principles.Web architecture overview
Follow general identifier best practicesEnsure that URIs are truly persistent, resolvable, and usableEnsure URI stability for scientific purposes as detailed here.Minting Persistent Identifiers

JSON-LD Implementation & Data Modeling​

Best PracticeContextFurther ReferenceGeoconnex Usage / Relevant Tutorials
Conform to one canonical shapePublish every resource against the same validated structureValidate against the single Geoconnex SHACL shape, which formalizes the modeling guidance in W3C SDW.Building Geoconnex Web Resources
Include complete context declarationsDefine all vocabularies and prefixes used in your JSON-LDInclude full context definitions following JSON-LD standards, as referenced in the Context prefixes reference.JSON-LD Primer
Use schema.org as primary vocabularyLeverage widely adopted schema.org terms for core propertiesAdopt the schema.org vocabulary for common properties, consistent with W3C best practices.Example JSON-LD documents
Apply hydrologic domain vocabulariesInclude specialized vocabularies for water-specific metadataIntegrate domain-specific vocabularies as shown in the HY_Features implementation following OGC guidelines.Features in JSON-LD
Validate JSON-LD structureEnsure your JSON-LD is valid and parsableUse the JSON-LD Playground to check the document parses, then the Geoconnex SHACL shape to check it conforms.SHACL validation playground
Differentiate in-band and out-of-band resourcesFollow SELFIE's pattern to handle different resource typesImplement separation of resource types as described in the SELFIE in-band/out-of-band explanation.Linking datasets

Hydrologic Feature Representation​

Best PracticeContextFurther ReferenceGeoconnex Usage / Relevant Tutorials
Reference established hydrologic featuresLink locations to standard rivers, watersheds, or aquifersUse established references to hydrologic features following guidelines in the Hydrologic references and OGC recommendations.Adding contextual information
Use hyf:referencedPosition for surface waterConnect monitoring locations to specific stream segmentsUtilize the HY_Features implementation approach, consistent with SELFIE guidance.Features in JSON-LD
Implement isSampleOf for groundwaterProperly associate groundwater monitoring with specific aquifersFollow best practices for linking sample data using isSampleOf, as detailed in the Groundwater references.Adding context to data
Include hydrologic unit codesReference watershed boundaries at appropriate scaleDocument hydrologic units based on reference cataloging features and align with OGC standards.Spatial queries with reference features
Link to upstream/downstream featuresUse mainstem references to enable network-based discoveryImplement network relationships as suggested in Finding related features and guided by SELFIE.Datasets on rivers example
Use appropriate relation typesApply SELFIE recommended relation types for feature connectionsRefer to recommended spatial relationship patterns for establishing feature relationships.Implementing feature relationships

Geospatial Data Representation​

Best PracticeContextFurther ReferenceGeoconnex Usage / Relevant Tutorials
Include both schema.org and GeoSPARQL geometryProvide geometry in both simple and standards-compliant formatsCombine schema.org and GeoSPARQL geometries to support diverse client needs, as illustrated in the Spatial geometry in JSON-LD guide.Features in JSON-LD
Specify coordinate reference systemsAlways declare the CRS for spatial dataClearly define CRS following GeoSPARQL implementation and best practices from W3C SDW.Spatial geometry in JSON-LD
Represent complex geometries with WKTUse Well-Known Text for non-point geometriesUtilize WKT for representing complex geometries, in line with the Spatial Coverage example.Spatial Coverage JSON-LD
Define spatial coverage for datasetsSpecify the geographic extent of datasetsDocument dataset extents as described in Spatial Coverage in JSON-LD following W3C SDW guidelines.Dataset spatial coverage
Support spatial queries in APIsEnable filtering and discovery by locationImplement spatial queries as per OGC API – Features and W3C SDW Best Practices.Spatial query capabilities
Provide geometries at appropriate precisionBalance detail level with usabilityTBDTBD

Data Access & Distribution​

Best PracticeContextFurther ReferenceGeoconnex Usage / Relevant Tutorials
Provide direct download linksInclude URLs to access the actual dataOffer direct download links in compliance with W3C SDW distribution recommendations.Distributions in JSON-LD
Document data formatsSpecify encodingFormat for all data downloadsClearly document formats using Data Distribution guidelines and common standards.Finding datasets example
Include API endpointsReference web services that provide programmatic data accessInclude service endpoints.Distribution section
Specify license and access conditionsDocument usage rights and any access restrictionsClearly indicate licensing and restrictions following W3C licensing guidelines and industry standards.Dataset properties
Reference data dictionariesLink to documentation explaining data structureConnect to data dictionaries as per Data conformance links and best practices.Distribution example
Expose data through standard APIsLeverage standard API patternsFollow W3C spatial API recommendations to provide simplified data access, preferably using OGC API standards.Building APIs with OGC standards

Data Quality & Provenance​

Best PracticeContextFurther ReferenceGeoconnex Usage / Relevant Tutorials

| Include temporal resolution | Document the frequency of observations | Use temporal metadata practices as per W3C temporal data guidance to clearly document observation frequency. | Temporal coverage | | Provide quantitative unit definitions | Reference standard units from QUDT vocabulary | Define units using standard vocabularies (e.g. QUDT) in alignment with W3C data quality practices. | Variables and Methods | | Document data provider information | Include organization name, type, and contact information | Provide comprehensive provider metadata following W3C provenance guidelines and internal Provider specification. | Provider and publisher | | Describe the changing nature of spatial things | Document how features change over time | TBD | TBD |


Search Engine Optimization & Discoverability​

Best PracticeContextFurther ReferenceGeoconnex Usage / Relevant Tutorials
Make data indexable by search enginesEnable web crawlers to discover and index spatial dataOptimize pages using W3C search indexing best practice guidelines.Implementing crawler-friendly pages
Include structured data in HTMLUse JSON-LD in script tags with Schema.org vocabulary to enable web crawlers to discover and index spatial dataW3C recommendations to enhance search visibility.Adding JSON-LD to HTML
Generate and maintain sitemapsHelp search engines discover all your spatial resourcesCreate and update sitemaps following sitemap generation best practices and W3C guidelines.Geoconnex architecture
Create landing pages for all resourcesProvide human-readable entry points for each resourceDevelop clear landing pages as recommended by W3C landing page guidance.Resource landing pages

Technical Implementation​

Best PracticeContextFurther ReferenceGeoconnex Usage / Relevant Tutorials
Use OGC API-Features for vector dataImplement standard APIs for accessing feature dataLeverage the OGC API – Features specification to standardize data access.Accessing reference features
Expose data via open source toolsLeverage open-source tools for OGC API deploymentUtilize pygeoapi following deployment guidelines to meet OGC standards.Wrapping data with pygeoapi
Support SPARQL for knowledge graph queriesEnable complex semantic queriesImplement SPARQL for querying linked data, following semantic web best practices.Finding datasets with SPARQL
Implement GeoJSON outputsProvide data in widely supported geospatial formatsUse the GeoJSON format to deliver spatial data in a web-friendly format.Attribute queries
Support content negotiationAllow clients to request preferred data formatsEnable content negotiation in your API to serve multiple representations.Wrapping data with pygeoapi

Community & Governance​

Best PracticeContextFurther ReferenceGeoconnex Usage / Relevant Tutorials
Participate in Geoconnex governanceContribute to the multi-stakeholder community processEngage with the community and follow internal Governance explanation guided by open standards.Geoconnex Community
Contribute reference featuresAdd missing reference features to benefit the whole communityFollow the process outlined in the Reference feature development guidelines.Adding reference features
Consider Network Linked Data IndexContribute to the USGS NLDI for hydrologic network discoveryLeverage approaches similar to NLDI integration to enhance network connectivity.Contributing to NLDI
Follow open source development practicesEngage with the community via GitHubAdhere to open source practices as documented in the Geoconnex repositories.Project repositories
Contribute to documentationHelp improve guidance for the communityParticipate in enhancing the Documentation repository through feedback and updates.Submit feedback
Practice responsible data ethicsHandle spatial data ethically and respect privacyFollow W3C responsible use guidance to ensure ethical management of spatial data.TBD