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