Summary
The in-app IMDF validator rejects relationship features that follow the current IMDF relationship model.
Evidence
src/lib/imdf/validate.ts:115 hard-requires relationship geometry to be null.
src/lib/imdf/validate.ts:192 validates a required references array for relationship features.
src/lib/imdf/featureCatalog.ts:209 defines relationship required fields as category, numeric direction, and references.
Why this is a bug
Current IMDF relationship features are modeled with origin, intermediary, and destination references, and geometry may be null or present as GeoJSON. The current validator/schema rejects those features.
Reference: https://docs.ogc.org/cs/20-094/relationship/index.html
Reproduction
- Create/import a relationship feature that uses
origin + destination references (no references array), with direction as "directed" or "undirected".
- Run through
validateImdfDatasetFiles (directly or via archive import).
- Observe errors for missing
properties.references and/or geometry requirements.
Expected
- Accept IMDF relationship fields (
origin, optional intermediary, destination, string direction enum).
- Allow relationship geometry to be
null or a valid GeoJSON geometry.
Impact
Interoperability with spec-conformant IMDF datasets is broken; valid relationship data is rejected.
Summary
The in-app IMDF validator rejects relationship features that follow the current IMDF relationship model.
Evidence
src/lib/imdf/validate.ts:115hard-requiresrelationshipgeometry to benull.src/lib/imdf/validate.ts:192validates a requiredreferencesarray for relationship features.src/lib/imdf/featureCatalog.ts:209defines relationship required fields ascategory, numericdirection, andreferences.Why this is a bug
Current IMDF relationship features are modeled with
origin,intermediary, anddestinationreferences, and geometry may be null or present as GeoJSON. The current validator/schema rejects those features.Reference: https://docs.ogc.org/cs/20-094/relationship/index.html
Reproduction
origin+destinationreferences (noreferencesarray), withdirectionas"directed"or"undirected".validateImdfDatasetFiles(directly or via archive import).properties.referencesand/or geometry requirements.Expected
origin, optionalintermediary,destination, string direction enum).nullor a valid GeoJSON geometry.Impact
Interoperability with spec-conformant IMDF datasets is broken; valid relationship data is rejected.