This is an automated email from the ASF dual-hosted git repository.

imbruced pushed a commit to branch feature/geopackage-reader
in repository https://gitbox.apache.org/repos/asf/sedona.git

commit f6f75c07eed4fac9ac169a435156d39dbec43f0e
Author: pawelkocinski <[email protected]>
AuthorDate: Mon Sep 23 18:55:57 2024 +0200

    Add other missing data types.
---
 .../sedona/sql/datasources/geopackage/example.gpkg | Bin 2682880 -> 2682880 
bytes
 .../geopackage/model/GeoPackageField.scala         |   4 ++++
 .../geopackage/transform/ValuesMapper.scala        |   8 ++++++++
 3 files changed, 12 insertions(+)

diff --git 
a/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/example.gpkg
 
b/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/example.gpkg
index da5f1db32..ebcc4f245 100644
Binary files 
a/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/example.gpkg
 and 
b/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/example.gpkg
 differ
diff --git 
a/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/model/GeoPackageField.scala
 
b/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/model/GeoPackageField.scala
index f7f352c14..fea83c5ee 100644
--- 
a/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/model/GeoPackageField.scala
+++ 
b/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/model/GeoPackageField.scala
@@ -24,6 +24,10 @@ case class GeoPackageField(name: String, dataType: String, 
isNullable: Boolean)
       case "LINESTRING" => StructField(name, GeometryUDT)
       case "POLYGON" => StructField(name, GeometryUDT)
       case "GEOMETRY" => StructField(name, GeometryUDT)
+      case "MULTIPOINT" => StructField(name, GeometryUDT)
+      case "MULTILINESTRING" => StructField(name, GeometryUDT)
+      case "MULTIPOLYGON" => StructField(name, GeometryUDT)
+      case "GEOMETRYCOLLECTION" => StructField(name, GeometryUDT)
       case "REAL" => StructField(name, DoubleType)
       case "BOOLEAN" => StructField(name, BooleanType)
       case "DATE" => StructField(name, DateType)
diff --git 
a/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/transform/ValuesMapper.scala
 
b/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/transform/ValuesMapper.scala
index 96c2e47b3..56437b916 100644
--- 
a/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/transform/ValuesMapper.scala
+++ 
b/spark/spark-3.3/src/main/scala/org/apache/sedona/sql/datasources/geopackage/transform/ValuesMapper.scala
@@ -46,6 +46,14 @@ object ValuesMapper {
             GeometryReader.extractWKB(rs.getBytes(column.name))
           case (GeoPackageType.GEOMETRY, _) =>
             GeometryReader.extractWKB(rs.getBytes(column.name))
+          case (GeoPackageType.MULTIPOINT, _) =>
+            GeometryReader.extractWKB(rs.getBytes(column.name))
+          case (GeoPackageType.MULTILINESTRING, _) =>
+            GeometryReader.extractWKB(rs.getBytes(column.name))
+          case (GeoPackageType.MULTIPOLYGON, _) =>
+            GeometryReader.extractWKB(rs.getBytes(column.name))
+          case (GeoPackageType.GEOMETRYCOLLECTION, _) =>
+            GeometryReader.extractWKB(rs.getBytes(column.name))
           case _ =>
             UTF8String.fromString(rs.getString(column.name))
         }

Reply via email to