This is an automated email from the ASF dual-hosted git repository. adrabble pushed a commit to branch 849-default-crs in repository https://gitbox.apache.org/repos/asf/incubator-baremaps.git
commit 8100549bc8d05fdc130633f10186a960ded2ce93 Author: drabble <[email protected]> AuthorDate: Sat Jun 1 20:45:47 2024 +0200 Use the default CRS when crs field is null in Geoparquet --- .../baremaps/geoparquet/data/GeoParquetMetadata.java | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/baremaps-geoparquet/src/main/java/org/apache/baremaps/geoparquet/data/GeoParquetMetadata.java b/baremaps-geoparquet/src/main/java/org/apache/baremaps/geoparquet/data/GeoParquetMetadata.java index eccbedc6..3b9f4139 100644 --- a/baremaps-geoparquet/src/main/java/org/apache/baremaps/geoparquet/data/GeoParquetMetadata.java +++ b/baremaps-geoparquet/src/main/java/org/apache/baremaps/geoparquet/data/GeoParquetMetadata.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.JsonNode; import com.google.common.base.Objects; import java.util.Map; +import java.util.Optional; public class GeoParquetMetadata { @@ -60,16 +61,21 @@ public class GeoParquetMetadata { } public int getSrid(String column) { - JsonNode crsId = getColumns().get(column).getCrs().get("id"); - int srid = switch (crsId.get("authority").asText()) { - case "OGC" -> switch (crsId.get("code").asText()) { + Optional<JsonNode> crs = Optional.ofNullable(getColumns().get(column).getCrs()); + if(crs.isPresent()){ + JsonNode crsId = crs.get().get("id"); + int srid = switch (crsId.get("authority").asText()) { + case "OGC" -> switch (crsId.get("code").asText()) { case "CRS84" -> 4326; default -> 0; }; - case "EPSG" -> crsId.get("code").asInt(); - default -> 0; - }; - return srid; + case "EPSG" -> crsId.get("code").asInt(); + default -> 0; + }; + return srid; + } else { + return 4326; + } } public boolean isGeometryColumn(String column) {
