Publish GeoServer layers as GeoPackage instead of shapefile#75
Merged
Conversation
Convert each product's GeoJSON to a single .gpkg (GPKG driver) and upload it to a native GeoServer GeoPackage datastore via PUT .../file.gpkg (Content-Type application/x-sqlite3), replacing the zipped ESRI Shapefile flow. GeoPackage removes the shapefile's 10-char field-name truncation and the multi-file zip; it needs no GeoServer extension. The delete-first datastore reset still runs, so a store left from the old shapefile backend is recreated cleanly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
Switches the geoserver asset from a zipped ESRI Shapefile to a GeoPackage.
Changes
orchestration/assets/products.py:_geojson_to_shapefile_zip→_geojson_to_geopackage— writes a single.gpkg(GPKG driver, layer = product id). Dropped thezipfileimport.orchestration/resources/geoserver.py:publish_shapefile→publish_geopackage—PUT .../datastores/{id}/file.gpkg?configure=allwithContent-Type: application/x-sqlite3.Why
The delete-first datastore reset is unchanged, so any store left from the shapefile backend is recreated cleanly on the next run.
Verified: definitions load (38 assets), flake8 clean, GPKG conversion round-trips a sample feature.
🤖 Generated with Claude Code