Skip to content

features: fix the CRS in a request body and the last modification time - #617

Merged
cportele merged 3 commits into
masterfrom
part4-ats-fixes
Aug 23, 2026
Merged

features: fix the CRS in a request body and the last modification time#617
cportele merged 3 commits into
masterfrom
part4-ats-fixes

Conversation

@cportele

Copy link
Copy Markdown
Contributor

Part of addressing ldproxy/ldproxy#1756

  • The 'coordRefSys' member of a geometry was passed to the parser as the
    enclosing object, so a JSON-FG geometry with an in-document coordinate
    reference system was rejected with "Expected STRING, OBJECT or ARRAY for
    'coordRefSys', but got: OBJECT".
  • The JSON and the GML geometry decoder can be restricted to a list of
    coordinate reference systems; a 'coordRefSys' member or a 'srsName'
    attribute that resolves to another one is rejected. Only the code is
    compared, not the axis order, which is a property of the encoding.
  • The last modification time of a feature was parsed with Instant.parse in a
    catch-and-ignore, which fails for every value without a time zone - and a
    DATETIME property is projected as a timestamp without time zone. It is now
    parsed with the same flexible parser as the temporal extent, a value
    without a time zone is interpreted in the provider's 'nativeTimeZone', and
    a value that cannot be parsed at all is logged instead of ignored.
  • The source schema validator warns when a DATETIME property is mapped to a
    column with a time zone while 'nativeTimeZone' is set to another zone than
    UTC: the values of such a column are read in UTC and would then be
    interpreted in the configured zone, which shifts them.

- The 'coordRefSys' member of a geometry was passed to the parser as the
  enclosing object, so a JSON-FG geometry with an in-document coordinate
  reference system was rejected with "Expected STRING, OBJECT or ARRAY for
  'coordRefSys', but got: OBJECT".
- The JSON and the GML geometry decoder can be restricted to a list of
  coordinate reference systems; a 'coordRefSys' member or a 'srsName'
  attribute that resolves to another one is rejected. Only the code is
  compared, not the axis order, which is a property of the encoding.
- The last modification time of a feature was parsed with Instant.parse in a
  catch-and-ignore, which fails for every value without a time zone - and a
  DATETIME property is projected as a timestamp without time zone. It is now
  parsed with the same flexible parser as the temporal extent, a value
  without a time zone is interpreted in the provider's 'nativeTimeZone', and
  a value that cannot be parsed at all is logged instead of ignored.
- The source schema validator warns when a DATETIME property is mapped to a
  column with a time zone while 'nativeTimeZone' is set to another zone than
  UTC: the values of such a column are read in UTC and would then be
  interpreted in the configured zone, which shifts them.
@cportele
cportele requested a review from azahnen as a code owner August 23, 2026 13:12
@cportele
cportele merged commit e79b1da into master Aug 23, 2026
3 checks passed
@cportele
cportele deleted the part4-ats-fixes branch August 23, 2026 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant