should be it
This commit is contained in:
141
external/duckdb/test/geoparquet/roundtrip.test
vendored
Normal file
141
external/duckdb/test/geoparquet/roundtrip.test
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
# name: test/geoparquet/roundtrip.test
|
||||
# group: [geoparquet]
|
||||
|
||||
require spatial
|
||||
|
||||
require parquet
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Test points
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
query II nosort point_result
|
||||
SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-point-wkt.csv'
|
||||
|
||||
query II nosort point_result
|
||||
SELECT col, st_astext(geometry) FROM '__WORKING_DIRECTORY__/data/geoparquet/data-point-encoding_wkb.parquet'
|
||||
|
||||
# Now write it back to parquet
|
||||
statement ok
|
||||
COPY (SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-point-wkt.csv')
|
||||
TO '__TEST_DIR__/data-point-out.parquet' (FORMAT PARQUET)
|
||||
|
||||
# Test that the data is the same
|
||||
query II nosort point_result
|
||||
SELECT col, geometry FROM '__TEST_DIR__/data-point-out.parquet'
|
||||
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Test linestrings
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
query II nosort linestring_result
|
||||
SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-linestring-wkt.csv'
|
||||
|
||||
query II nosort linestring_result
|
||||
SELECT col, st_astext(geometry) FROM '__WORKING_DIRECTORY__/data/geoparquet/data-linestring-encoding_wkb.parquet'
|
||||
|
||||
# Now write it back to parquet
|
||||
statement ok
|
||||
COPY (SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-linestring-encoding_wkb.parquet')
|
||||
TO '__TEST_DIR__/data-linestring-out.parquet' (FORMAT PARQUET)
|
||||
|
||||
# Test that the data is the same
|
||||
query II nosort linestring_result
|
||||
SELECT col, geometry FROM '__TEST_DIR__/data-linestring-out.parquet'
|
||||
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Test polygons
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
query II nosort polygon_result
|
||||
SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-polygon-wkt.csv'
|
||||
|
||||
query II nosort polygon_result
|
||||
SELECT col, st_astext(geometry) FROM '__WORKING_DIRECTORY__/data/geoparquet/data-polygon-encoding_wkb.parquet'
|
||||
|
||||
# Now write it back to parquet
|
||||
statement ok
|
||||
COPY (SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-polygon-encoding_wkb.parquet')
|
||||
TO '__TEST_DIR__/data-polygon-out.parquet' (FORMAT PARQUET)
|
||||
|
||||
# Test that the data is the same
|
||||
query II nosort polygon_result
|
||||
SELECT col, geometry FROM '__TEST_DIR__/data-polygon-out.parquet'
|
||||
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Test multipoints
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
query II nosort multipoint_result
|
||||
SELECT col, ST_GeomFromText(geometry) FROM '__WORKING_DIRECTORY__/data/geoparquet/data-multipoint-wkt.csv'
|
||||
|
||||
query II nosort multipoint_result
|
||||
SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-multipoint-encoding_wkb.parquet'
|
||||
|
||||
# Now write it back to parquet
|
||||
statement ok
|
||||
COPY (SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-multipoint-encoding_wkb.parquet')
|
||||
TO '__TEST_DIR__/data-multipoint-out.parquet' (FORMAT PARQUET)
|
||||
|
||||
# Test that the data is the same
|
||||
query II nosort multipoint_result
|
||||
SELECT col, geometry FROM '__TEST_DIR__/data-multipoint-out.parquet'
|
||||
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Test multilinestrings
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
query II nosort multilinestring_result
|
||||
SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-multilinestring-wkt.csv'
|
||||
|
||||
query II nosort multilinestring_result
|
||||
SELECT col, st_astext(geometry) FROM '__WORKING_DIRECTORY__/data/geoparquet/data-multilinestring-encoding_wkb.parquet'
|
||||
|
||||
# Now write it back to parquet
|
||||
statement ok
|
||||
COPY (SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-multilinestring-encoding_wkb.parquet')
|
||||
TO '__TEST_DIR__/data-multilinestring-out.parquet' (FORMAT PARQUET)
|
||||
|
||||
# Test that the data is the same
|
||||
query II nosort multilinestring_result
|
||||
SELECT col, geometry FROM '__TEST_DIR__/data-multilinestring-out.parquet'
|
||||
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Test multipolygons
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
query II nosort multipolygon_result
|
||||
SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-multipolygon-wkt.csv'
|
||||
|
||||
query II nosort multipolygon_result
|
||||
SELECT col, st_astext(geometry) FROM '__WORKING_DIRECTORY__/data/geoparquet/data-multipolygon-encoding_wkb.parquet'
|
||||
|
||||
# Now write it back to parquet
|
||||
statement ok
|
||||
COPY (SELECT col, geometry FROM '__WORKING_DIRECTORY__/data/geoparquet/data-multipolygon-encoding_wkb.parquet')
|
||||
TO '__TEST_DIR__/data-multipolygon-out.parquet' (FORMAT PARQUET)
|
||||
|
||||
# Test that the data is the same
|
||||
query II nosort multipolygon_result
|
||||
SELECT col, geometry FROM '__TEST_DIR__/data-multipolygon-out.parquet'
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# Inspect metadata
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
query I
|
||||
SELECT decode(value) as col
|
||||
FROM parquet_kv_metadata('__TEST_DIR__/data-multipolygon-out.parquet') WHERE key = 'geo';
|
||||
----
|
||||
{"version":"1.0.0","primary_column":"geometry","columns":{"geometry":{"encoding":"WKB","geometry_types":["MultiPolygon"],"bbox":[5.0,5.0,45.0,45.0]}}}
|
||||
Reference in New Issue
Block a user