Add GeoPackage export support - #144
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds GeoPackage output to
cjconvertand Tyler.The export groups features by CityObject type and CityJSON geometry type. For example:
building_multisurface:id,cityobject_id,cityobject_type,geometry_type,lod,geom, and projected fields such asattributes__name.buildingpart_multisurface: the same standard fields, with fields inferred specifically for BuildingPart objects.building_multisurface_lod2.Layer names are lowercased and sanitized for use as GeoPackage table names. Each CityJSON geometry becomes one row in the matching layer. Coordinates use the EPSG reference system declared by the source data. Opt
ional layers and tables can include addresses, semantics, and object relationships.
Tyler writes one GeoPackage under
t/<level>/<x>/<y>.gpkgfor each non-empty tile. It also writes a globalmetadata.gpkgat the output root. Its spatialmetadatalayer contains one row for every successfullywritten tile and links the tiled dataset together through:
tile_id: the tile’s quadtree identifier.content_path: the relative path to its.gpkgfile.geographical_extent: the tile’s spatial extent.Only written tiles are included, so the global metadata does not point to skipped or failed outputs. Metadata aggregation is always enabled for tiled GeoPackage exports.
The tile export pipeline now records an explicit result for every job:
Written: the tile output was created successfully.Skipped: the job contained no features, so no output was needed.Failed: preparing or writing the tile returned an error.This replaces the previous behavior where empty jobs could be treated as successful implicitly. Tyler reports totals for all three outcomes, uses written results for global metadata, and stores the outcomes in de
bug snapshots for later replay. Older debug snapshots are not compatible with the new result format.
The change also aligns GeoPackage and TSV tabular output and adds documentation and automated tests.