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) {

Reply via email to