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

jiayu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/sedona-testing.git


The following commit(s) were added to refs/heads/main by this push:
     new cafe46a  Add parsing example files (#5)
cafe46a is described below

commit cafe46a926d16759f5e507bb2456b9ab3031dab1
Author: Dewey Dunnington <[email protected]>
AuthorDate: Sat Jun 7 18:55:40 2025 -0500

    Add parsing example files (#5)
    
    * add example parsing
    
    * first go
    
    * fix big endian empties
    
    * Update data/parsing/README.md
    
    Co-authored-by: John Bampton <[email protected]>
    
    * Update data/parsing/README.md
    
    Co-authored-by: John Bampton <[email protected]>
    
    * Update data/parsing/README.md
    
    Co-authored-by: John Bampton <[email protected]>
    
    * fix typo
    
    * ignore trailing whitespace in tsvs
    
    * indent all the things
    
    ---------
    
    Co-authored-by: John Bampton <[email protected]>
---
 .pre-commit-config.yaml          |   1 +
 data/parsing/README.md           |  33 ++++++
 data/parsing/example-ewkb-be.tsv | 137 +++++++++++++++++++++
 data/parsing/example-ewkb-le.tsv | 137 +++++++++++++++++++++
 data/parsing/example-gen.R       |  58 +++++++++
 data/parsing/example-gen.py      |  88 ++++++++++++++
 data/parsing/example-wkb-be.tsv  | 137 +++++++++++++++++++++
 data/parsing/example-wkb-le.tsv  | 137 +++++++++++++++++++++
 data/parsing/example-wkt.tsv     | 137 +++++++++++++++++++++
 data/parsing/example.yaml        | 249 +++++++++++++++++++++++++++++++++++++++
 10 files changed, 1114 insertions(+)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 3115456..4e4b393 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -67,6 +67,7 @@ repos:
       - id: mixed-line-ending
       - id: trailing-whitespace
         args: [--markdown-linebreak-ext=md]
+        exclude_types: [tsv]
   - repo: https://github.com/rhysd/actionlint
     rev: v1.7.7
     hooks:
diff --git a/data/parsing/README.md b/data/parsing/README.md
new file mode 100644
index 0000000..6d014f3
--- /dev/null
+++ b/data/parsing/README.md
@@ -0,0 +1,33 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ -->
+
+# WKT and WKB Parsing Test Files
+
+These files are intended primarily as tests for WKT and WKB parsing
+and formatting, and cover the full matrix of geometry types, dimensions,
+big/little endian, and extended/ISO well-known binary.
+
+- `example.yaml`: The source from which the other files in this directory are 
derived. This is derived from the [GeoSpatial test files in the Parquet testing 
repo](https://github.com/apache/parquet-testing/tree/master/data/geospatial).
+- `example-wkt.tsv`: A tab-separated values file with columns `id`, `group`, 
and `geometry`, where geometry is formatted as well-known text.
+- `example-wkb-le.tsv`: A tab-separated values file with columns `id`, 
`group`, and `geometry`, where geometry is formatted as little-endian ISO 
well-known binary.
+- `example-wkb-be.tsv`: A tab-separated values file with columns `id`, 
`group`, and `geometry`, where geometry is formatted as big-endian ISO 
well-known binary.
+- `example-ewkb-le.tsv`: A tab-separated values file with columns `id`, 
`group`, and `geometry`, where geometry is formatted as little-endian ISO 
well-known binary (EWKB).
+- `example-ewkb-be.tsv`: A tab-separated values file with columns `id`, 
`group`, and `geometry`, where geometry is formatted as big-endian extended 
well-known binary (EWKB).
+
+This directory also contains the files used to generate the `.tsv` formatted 
versions (`example-gen.py` and `example-gen.R`).
diff --git a/data/parsing/example-ewkb-be.tsv b/data/parsing/example-ewkb-be.tsv
new file mode 100644
index 0000000..37e0621
--- /dev/null
+++ b/data/parsing/example-ewkb-be.tsv
@@ -0,0 +1,137 @@
+id     group   geometry
+0      point   0000000001403E0000000000004024000000000000
+1      point   000000000140440000000000004034000000000000
+2      point   NA
+3      point   00000000017FF80000000000007FF8000000000000
+4      linestring      
000000000200000003403E00000000000040240000000000004024000000000000403E00000000000040440000000000004044000000000000
+5      linestring      
000000000200000003404400000000000040340000000000004034000000000000404400000000000040490000000000004049000000000000
+6      linestring      NA
+7      linestring      000000000200000000
+8      polygon 
00000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E0000000000004024000000000000
+9      polygon 
000000000300000002000000054041800000000000402400000000000040468000000000004046800000000000402E00000000000040440000000000004024000000000000403400000000000040418000000000004024000000000000000000044034000000000000403E00000000000040418000000000004041800000000000403E00000000000040340000000000004034000000000000403E000000000000
+10     polygon NA
+11     polygon 000000000300000000
+12     multipoint      
0000000004000000010000000001403E0000000000004024000000000000
+13     multipoint      
00000000040000000400000000014024000000000000404400000000000000000000014044000000000000403E0000000000000000000001403400000000000040340000000000000000000001403E0000000000004024000000000000
+14     multipoint      NA
+15     multipoint      000000000400000000
+16     multilinestring 
000000000500000001000000000200000003403E00000000000040240000000000004024000000000000403E00000000000040440000000000004044000000000000
+17     multilinestring 
00000000050000000200000000020000000340240000000000004024000000000000403400000000000040340000000000004024000000000000404400000000000000000000020000000440440000000000004044000000000000403E000000000000403E00000000000040440000000000004034000000000000403E0000000000004024000000000000
+18     multilinestring NA
+19     multilinestring 000000000500000000
+20     multipolygon    
00000000060000000100000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E0000000000004024000000000000
+21     multipolygon    
00000000060000000200000000030000000100000004403E00000000000040340000000000004046800000000000404400000000000040240000000000004044000000000000403E000000000000403400000000000000000000030000000100000005402E0000000000004014000000000000404400000000000040240000000000004024000000000000403400000000000040140000000000004024000000000000402E0000000000004014000000000000
+22     multipolygon    
0000000006000000020000000003000000010000000440440000000000004044000000000000403400000000000040468000000000004046800000000000403E0000000000004044000000000000404400000000000000000000030000000200000006403400000000000040418000000000004024000000000000403E00000000000040240000000000004024000000000000403E0000000000004014000000000000404680000000000040340000000000004034000000000000404180000000000000000004403E00000000000040340000000000004034000000000000402E00000000000040340000000000
 [...]
+23     multipolygon    NA
+24     multipolygon    000000000600000000
+25     geometrycollection      
0000000007000000010000000001403E0000000000004024000000000000
+26     geometrycollection      
000000000700000001000000000200000003403E00000000000040240000000000004024000000000000403E00000000000040440000000000004044000000000000
+27     geometrycollection      
00000000070000000100000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E0000000000004024000000000000
+28     geometrycollection      
0000000007000000010000000004000000010000000001403E0000000000004024000000000000
+29     geometrycollection      
000000000700000001000000000500000001000000000200000003403E00000000000040240000000000004024000000000000403E00000000000040440000000000004044000000000000
+30     geometrycollection      
00000000070000000100000000060000000100000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E0000000000004024000000000000
+31     geometrycollection      
0000000007000000060000000001403E0000000000004024000000000000000000000200000003403E00000000000040240000000000004024000000000000403E0000000000004044000000000000404400000000000000000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E00000000000040240000000000000000000004000000010000000001403E0000000000004024000000000000000000000500000001000000000200000003403E0000000000
 [...]
+32     geometrycollection      NA
+33     geometrycollection      000000000700000000
+34     point-z 0080000001403E00000000000040240000000000004044000000000000
+35     point-z 008000000140440000000000004034000000000000404E000000000000
+36     point-z NA
+37     point-z 00800000017FF80000000000007FF80000000000007FF8000000000000
+38     linestring-z    
008000000200000003403E000000000000402400000000000040440000000000004024000000000000403E0000000000004044000000000000404400000000000040440000000000004054000000000000
+39     linestring-z    
00800000020000000340440000000000004034000000000000404E00000000000040340000000000004044000000000000404E000000000000404900000000000040490000000000004059000000000000
+40     linestring-z    NA
+41     linestring-z    008000000200000000
+42     polygon-z       
00800000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000000040240000000000004044000000000000
+43     polygon-z       
00800000030000000200000005404180000000000040240000000000004046800000000000404680000000000040468000000000004056800000000000402E0000000000004044000000000000404B80000000000040240000000000004034000000000000403E000000000000404180000000000040240000000000004046800000000000000000044034000000000000403E0000000000004049000000000000404180000000000040418000000000004051800000000000403E000000000000403400000000000040490000000000004034000000000000403E0000000000004049000000000000
+44     polygon-z       NA
+45     polygon-z       008000000300000000
+46     multipoint-z    
0080000004000000010080000001403E00000000000040240000000000004044000000000000
+47     multipoint-z    
008000000400000004008000000140240000000000004044000000000000404900000000000000800000014044000000000000403E000000000000405180000000000000800000014034000000000000403400000000000040440000000000000080000001403E00000000000040240000000000004044000000000000
+48     multipoint-z    NA
+49     multipoint-z    008000000400000000
+50     multilinestring-z       
008000000500000001008000000200000003403E000000000000402400000000000040440000000000004024000000000000403E0000000000004044000000000000404400000000000040440000000000004054000000000000
+51     multilinestring-z       
008000000500000002008000000200000003402400000000000040240000000000004034000000000000403400000000000040340000000000004044000000000000402400000000000040440000000000004049000000000000008000000200000004404400000000000040440000000000004054000000000000403E000000000000403E000000000000404E00000000000040440000000000004034000000000000404E000000000000403E00000000000040240000000000004044000000000000
+52     multilinestring-z       NA
+53     multilinestring-z       008000000500000000
+54     multipolygon-z  
00800000060000000100800000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000000040240000000000004044000000000000
+55     multipolygon-z  
00800000060000000200800000030000000100000004403E00000000000040340000000000004049000000000000404680000000000040440000000000004055400000000000402400000000000040440000000000004049000000000000403E0000000000004034000000000000404900000000000000800000030000000100000005402E0000000000004014000000000000403400000000000040440000000000004024000000000000404900000000000040240000000000004034000000000000403E00000000000040140000000000004024000000000000402E000000000000402E0000000000004014
 [...]
+56     multipolygon-z  
008000000600000002008000000300000001000000044044000000000000404400000000000040540000000000004034000000000000404680000000000040504000000000004046800000000000403E0000000000004052C000000000004044000000000000404400000000000040540000000000000080000003000000020000000640340000000000004041800000000000404B8000000000004024000000000000403E0000000000004044000000000000402400000000000040240000000000004034000000000000403E0000000000004014000000000000404180000000000040468000000000004034
 [...]
+57     multipolygon-z  NA
+58     multipolygon-z  008000000600000000
+59     geometrycollection-z    
0080000007000000010080000001403E00000000000040240000000000004044000000000000
+60     geometrycollection-z    
008000000700000001008000000200000003403E000000000000402400000000000040440000000000004024000000000000403E0000000000004044000000000000404400000000000040440000000000004054000000000000
+61     geometrycollection-z    
00800000070000000100800000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000000040240000000000004044000000000000
+62     geometrycollection-z    
0080000007000000010080000004000000010080000001403E00000000000040240000000000004044000000000000
+63     geometrycollection-z    
008000000700000001008000000500000001008000000200000003403E000000000000402400000000000040440000000000004024000000000000403E0000000000004044000000000000404400000000000040440000000000004054000000000000
+64     geometrycollection-z    
00800000070000000100800000060000000100800000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000000040240000000000004044000000000000
+65     geometrycollection-z    
0080000007000000060080000001403E00000000000040240000000000004044000000000000008000000200000003403E000000000000402400000000000040440000000000004024000000000000403E000000000000404400000000000040440000000000004044000000000000405400000000000000800000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000
 [...]
+66     geometrycollection-z    NA
+67     geometrycollection-z    008000000700000000
+68     point-m 0040000001403E00000000000040240000000000004072C00000000000
+69     point-m 0040000001404400000000000040340000000000004089000000000000
+70     point-m NA
+71     point-m 00400000017FF80000000000007FF80000000000007FF8000000000000
+72     linestring-m    
004000000200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C00000000000404400000000000040440000000000004099000000000000
+73     linestring-m    
0040000002000000034044000000000000403400000000000040890000000000004034000000000000404400000000000040890000000000004049000000000000404900000000000040A3880000000000
+74     linestring-m    NA
+75     linestring-m    004000000200000000
+76     polygon-m       
00400000030000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000000040240000000000004072C00000000000
+77     polygon-m       
00400000030000000200000005404180000000000040240000000000004075E0000000000040468000000000004046800000000000409FA40000000000402E00000000000040440000000000004082C00000000000402400000000000040340000000000004069000000000000404180000000000040240000000000004075E00000000000000000044034000000000000403E0000000000004082C00000000000404180000000000040418000000000004093240000000000403E00000000000040340000000000004082C000000000004034000000000000403E0000000000004082C00000000000
+78     polygon-m       NA
+79     polygon-m       004000000300000000
+80     multipoint-m    
0040000004000000010040000001403E00000000000040240000000000004072C00000000000
+81     multipoint-m    
004000000400000004004000000140240000000000004044000000000000407900000000000000400000014044000000000000403E0000000000004092C0000000000000400000014034000000000000403400000000000040790000000000000040000001403E00000000000040240000000000004072C00000000000
+82     multipoint-m    NA
+83     multipoint-m    004000000400000000
+84     multilinestring-m       
004000000500000001004000000200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C00000000000404400000000000040440000000000004099000000000000
+85     multilinestring-m       
004000000500000002004000000200000003402400000000000040240000000000004059000000000000403400000000000040340000000000004079000000000000402400000000000040440000000000004079000000000000004000000200000004404400000000000040440000000000004099000000000000403E000000000000403E000000000000408C200000000000404400000000000040340000000000004089000000000000403E00000000000040240000000000004072C00000000000
+86     multilinestring-m       NA
+87     multilinestring-m       004000000500000000
+88     multipolygon-m  
00400000060000000100400000030000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000000040240000000000004072C00000000000
+89     multipolygon-m  
00400000060000000200400000030000000100000004403E00000000000040340000000000004082C0000000000040468000000000004044000000000000409C200000000000402400000000000040440000000000004079000000000000403E00000000000040340000000000004082C0000000000000400000030000000100000005402E00000000000040140000000000004052C00000000000404400000000000040240000000000004079000000000000402400000000000040340000000000004069000000000000401400000000000040240000000000004049000000000000402E0000000000004014
 [...]
+90     multipolygon-m  
0040000006000000020040000003000000010000000440440000000000004044000000000000409900000000000040340000000000004046800000000000408C2000000000004046800000000000403E000000000000409518000000000040440000000000004044000000000000409900000000000000400000030000000200000006403400000000000040418000000000004085E000000000004024000000000000403E0000000000004072C00000000000402400000000000040240000000000004059000000000000403E00000000000040140000000000004062C0000000000040468000000000004034
 [...]
+91     multipolygon-m  NA
+92     multipolygon-m  004000000600000000
+93     geometrycollection-m    
0040000007000000010040000001403E00000000000040240000000000004072C00000000000
+94     geometrycollection-m    
004000000700000001004000000200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C00000000000404400000000000040440000000000004099000000000000
+95     geometrycollection-m    
00400000070000000100400000030000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000000040240000000000004072C00000000000
+96     geometrycollection-m    
0040000007000000010040000004000000010040000001403E00000000000040240000000000004072C00000000000
+97     geometrycollection-m    
004000000700000001004000000500000001004000000200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C00000000000404400000000000040440000000000004099000000000000
+98     geometrycollection-m    
00400000070000000100400000060000000100400000030000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000000040240000000000004072C00000000000
+99     geometrycollection-m    
0040000007000000060040000001403E00000000000040240000000000004072C00000000000004000000200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C0000000000040440000000000004044000000000000409900000000000000400000030000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000
 [...]
+100    geometrycollection-m    NA
+101    geometrycollection-m    004000000700000000
+102    point-zm        
00C0000001403E000000000000402400000000000040440000000000004072C00000000000
+103    point-zm        
00C000000140440000000000004034000000000000404E0000000000004089000000000000
+104    point-zm        NA
+105    point-zm        
00C00000017FF80000000000007FF80000000000007FF80000000000007FF8000000000000
+106    linestring-zm   
00C000000200000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C000000000004044000000000000404400000000000040540000000000004099000000000000
+107    linestring-zm   
00C00000020000000340440000000000004034000000000000404E000000000000408900000000000040340000000000004044000000000000404E000000000000408900000000000040490000000000004049000000000000405900000000000040A3880000000000
+108    linestring-zm   NA
+109    linestring-zm   00C000000200000000
+110    polygon-zm      
00C00000030000000100000005403E000000000000402400000000000040440000000000004072C00000000000404400000000000040440000000000004054000000000000409900000000000040340000000000004044000000000000404E000000000000408900000000000040240000000000004034000000000000403E0000000000004069000000000000403E000000000000402400000000000040440000000000004072C00000000000
+111    polygon-zm      
00C000000300000002000000054041800000000000402400000000000040468000000000004075E00000000000404680000000000040468000000000004056800000000000409FA40000000000402E0000000000004044000000000000404B8000000000004082C0000000000040240000000000004034000000000000403E00000000000040690000000000004041800000000000402400000000000040468000000000004075E00000000000000000044034000000000000403E00000000000040490000000000004082C0000000000040418000000000004041800000000000405180000000000040932400000
 [...]
+112    polygon-zm      NA
+113    polygon-zm      00C000000300000000
+114    multipoint-zm   
00C00000040000000100C0000001403E000000000000402400000000000040440000000000004072C00000000000
+115    multipoint-zm   
00C00000040000000400C0000001402400000000000040440000000000004049000000000000407900000000000000C00000014044000000000000403E00000000000040518000000000004092C0000000000000C0000001403400000000000040340000000000004044000000000000407900000000000000C0000001403E000000000000402400000000000040440000000000004072C00000000000
+116    multipoint-zm   NA
+117    multipoint-zm   00C000000400000000
+118    multilinestring-zm      
00C00000050000000100C000000200000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C000000000004044000000000000404400000000000040540000000000004099000000000000
+119    multilinestring-zm      
00C00000050000000200C00000020000000340240000000000004024000000000000403400000000000040590000000000004034000000000000403400000000000040440000000000004079000000000000402400000000000040440000000000004049000000000000407900000000000000C0000002000000044044000000000000404400000000000040540000000000004099000000000000403E000000000000403E000000000000404E000000000000408C20000000000040440000000000004034000000000000404E0000000000004089000000000000403E000000000000402400000000000
 [...]
+120    multilinestring-zm      NA
+121    multilinestring-zm      00C000000500000000
+122    multipolygon-zm 
00C00000060000000100C00000030000000100000005403E000000000000402400000000000040440000000000004072C00000000000404400000000000040440000000000004054000000000000409900000000000040340000000000004044000000000000404E000000000000408900000000000040240000000000004034000000000000403E0000000000004069000000000000403E000000000000402400000000000040440000000000004072C00000000000
+123    multipolygon-zm 
00C00000060000000200C00000030000000100000004403E000000000000403400000000000040490000000000004082C00000000000404680000000000040440000000000004055400000000000409C2000000000004024000000000000404400000000000040490000000000004079000000000000403E000000000000403400000000000040490000000000004082C0000000000000C00000030000000100000005402E000000000000401400000000000040340000000000004052C000000000004044000000000000402400000000000040490000000000004079000000000000402400000000000040
 [...]
+124    multipolygon-zm 
00C00000060000000200C000000300000001000000044044000000000000404400000000000040540000000000004099000000000000403400000000000040468000000000004050400000000000408C2000000000004046800000000000403E0000000000004052C000000000004095180000000000404400000000000040440000000000004054000000000000409900000000000000C0000003000000020000000640340000000000004041800000000000404B8000000000004085E000000000004024000000000000403E00000000000040440000000000004072C00000000000402400000000000040
 [...]
+125    multipolygon-zm NA
+126    multipolygon-zm 00C000000600000000
+127    geometrycollection-zm   
00C00000070000000100C0000001403E000000000000402400000000000040440000000000004072C00000000000
+128    geometrycollection-zm   
00C00000070000000100C000000200000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C000000000004044000000000000404400000000000040540000000000004099000000000000
+129    geometrycollection-zm   
00C00000070000000100C00000030000000100000005403E000000000000402400000000000040440000000000004072C00000000000404400000000000040440000000000004054000000000000409900000000000040340000000000004044000000000000404E000000000000408900000000000040240000000000004034000000000000403E0000000000004069000000000000403E000000000000402400000000000040440000000000004072C00000000000
+130    geometrycollection-zm   
00C00000070000000100C00000040000000100C0000001403E000000000000402400000000000040440000000000004072C00000000000
+131    geometrycollection-zm   
00C00000070000000100C00000050000000100C000000200000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C000000000004044000000000000404400000000000040540000000000004099000000000000
+132    geometrycollection-zm   
00C00000070000000100C00000060000000100C00000030000000100000005403E000000000000402400000000000040440000000000004072C00000000000404400000000000040440000000000004054000000000000409900000000000040340000000000004044000000000000404E000000000000408900000000000040240000000000004034000000000000403E0000000000004069000000000000403E000000000000402400000000000040440000000000004072C00000000000
+133    geometrycollection-zm   
00C00000070000000600C0000001403E000000000000402400000000000040440000000000004072C0000000000000C000000200000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C00000000000404400000000000040440000000000004054000000000000409900000000000000C00000030000000100000005403E000000000000402400000000000040440000000000004072C0000000000040440000000000004044000000000000405400000000000040990000000000004034000000
 [...]
+134    geometrycollection-zm   NA
+135    geometrycollection-zm   00C000000700000000
diff --git a/data/parsing/example-ewkb-le.tsv b/data/parsing/example-ewkb-le.tsv
new file mode 100644
index 0000000..8dcb56b
--- /dev/null
+++ b/data/parsing/example-ewkb-le.tsv
@@ -0,0 +1,137 @@
+id     group   geometry
+0      point   01010000000000000000003E400000000000002440
+1      point   010100000000000000000044400000000000003440
+2      point   NA
+3      point   0101000000000000000000F87F000000000000F87F
+4      linestring      
0102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440
+5      linestring      
010200000003000000000000000000444000000000000034400000000000003440000000000000444000000000000049400000000000004940
+6      linestring      NA
+7      linestring      010200000000000000
+8      polygon 
010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E400000000000002440
+9      polygon 
0103000000020000000500000000000000008041400000000000002440000000000080464000000000008046400000000000002E40000000000000444000000000000024400000000000003440000000000080414000000000000024400400000000000000000034400000000000003E40000000000080414000000000008041400000000000003E40000000000000344000000000000034400000000000003E40
+10     polygon NA
+11     polygon 010300000000000000
+12     multipoint      
01040000000100000001010000000000000000003E400000000000002440
+13     multipoint      
010400000004000000010100000000000000000024400000000000004440010100000000000000000044400000000000003E4001010000000000000000003440000000000000344001010000000000000000003E400000000000002440
+14     multipoint      NA
+15     multipoint      010400000000000000
+16     multilinestring 
0105000000010000000102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440
+17     multilinestring 
010500000002000000010200000003000000000000000000244000000000000024400000000000003440000000000000344000000000000024400000000000004440010200000004000000000000000000444000000000000044400000000000003E400000000000003E40000000000000444000000000000034400000000000003E400000000000002440
+18     multilinestring NA
+19     multilinestring 010500000000000000
+20     multipolygon    
010600000001000000010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E400000000000002440
+21     multipolygon    
010600000002000000010300000001000000040000000000000000003E40000000000000344000000000008046400000000000004440000000000000244000000000000044400000000000003E400000000000003440010300000001000000050000000000000000002E4000000000000014400000000000004440000000000000244000000000000024400000000000003440000000000000144000000000000024400000000000002E400000000000001440
+22     multipolygon    
01060000000200000001030000000100000004000000000000000000444000000000000044400000000000003440000000000080464000000000008046400000000000003E4000000000000044400000000000004440010300000002000000060000000000000000003440000000000080414000000000000024400000000000003E40000000000000244000000000000024400000000000003E4000000000000014400000000000804640000000000000344000000000000034400000000000804140040000000000000000003E40000000000000344000000000000034400000000000002E4000000000000034
 [...]
+23     multipolygon    NA
+24     multipolygon    010600000000000000
+25     geometrycollection      
01070000000100000001010000000000000000003E400000000000002440
+26     geometrycollection      
0107000000010000000102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440
+27     geometrycollection      
010700000001000000010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E400000000000002440
+28     geometrycollection      
01070000000100000001040000000100000001010000000000000000003E400000000000002440
+29     geometrycollection      
0107000000010000000105000000010000000102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440
+30     geometrycollection      
010700000001000000010600000001000000010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E400000000000002440
+31     geometrycollection      
01070000000600000001010000000000000000003E4000000000000024400102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E40000000000000244001040000000100000001010000000000000000003E4000000000000024400105000000010000000102000000030000000000000000003E
 [...]
+32     geometrycollection      NA
+33     geometrycollection      010700000000000000
+34     point-z 01010000800000000000003E4000000000000024400000000000004440
+35     point-z 0101000080000000000000444000000000000034400000000000004E40
+36     point-z NA
+37     point-z 0101000080000000000000F87F000000000000F87F000000000000F87F
+38     linestring-z    
0102000080030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E400000000000004440000000000000444000000000000044400000000000005440
+39     linestring-z    
010200008003000000000000000000444000000000000034400000000000004E40000000000000344000000000000044400000000000004E40000000000000494000000000000049400000000000005940
+40     linestring-z    NA
+41     linestring-z    010200008000000000
+42     polygon-z       
010300008001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E400000000000003E4000000000000024400000000000004440
+43     polygon-z       
010300008002000000050000000000000000804140000000000000244000000000008046400000000000804640000000000080464000000000008056400000000000002E4000000000000044400000000000804B40000000000000244000000000000034400000000000003E400000000000804140000000000000244000000000008046400400000000000000000034400000000000003E4000000000000049400000000000804140000000000080414000000000008051400000000000003E400000000000003440000000000000494000000000000034400000000000003E400000000000004940
+44     polygon-z       NA
+45     polygon-z       010300008000000000
+46     multipoint-z    
01040000800100000001010000800000000000003E4000000000000024400000000000004440
+47     multipoint-z    
0104000080040000000101000080000000000000244000000000000044400000000000004940010100008000000000000044400000000000003E400000000000805140010100008000000000000034400000000000003440000000000000444001010000800000000000003E4000000000000024400000000000004440
+48     multipoint-z    NA
+49     multipoint-z    010400008000000000
+50     multilinestring-z       
0105000080010000000102000080030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E400000000000004440000000000000444000000000000044400000000000005440
+51     multilinestring-z       
0105000080020000000102000080030000000000000000002440000000000000244000000000000034400000000000003440000000000000344000000000000044400000000000002440000000000000444000000000000049400102000080040000000000000000004440000000000000444000000000000054400000000000003E400000000000003E400000000000004E40000000000000444000000000000034400000000000004E400000000000003E4000000000000024400000000000004440
+52     multilinestring-z       NA
+53     multilinestring-z       010500008000000000
+54     multipolygon-z  
010600008001000000010300008001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E400000000000003E4000000000000024400000000000004440
+55     multipolygon-z  
010600008002000000010300008001000000040000000000000000003E40000000000000344000000000000049400000000000804640000000000000444000000000004055400000000000002440000000000000444000000000000049400000000000003E4000000000000034400000000000004940010300008001000000050000000000000000002E4000000000000014400000000000003440000000000000444000000000000024400000000000004940000000000000244000000000000034400000000000003E40000000000000144000000000000024400000000000002E400000000000002E400000
 [...]
+56     multipolygon-z  
0106000080020000000103000080010000000400000000000000000044400000000000004440000000000000544000000000000034400000000000804640000000000040504000000000008046400000000000003E400000000000C0524000000000000044400000000000004440000000000000544001030000800200000006000000000000000000344000000000008041400000000000804B4000000000000024400000000000003E4000000000000044400000000000002440000000000000244000000000000034400000000000003E400000000000001440000000000080414000000000008046400000
 [...]
+57     multipolygon-z  NA
+58     multipolygon-z  010600008000000000
+59     geometrycollection-z    
01070000800100000001010000800000000000003E4000000000000024400000000000004440
+60     geometrycollection-z    
0107000080010000000102000080030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E400000000000004440000000000000444000000000000044400000000000005440
+61     geometrycollection-z    
010700008001000000010300008001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E400000000000003E4000000000000024400000000000004440
+62     geometrycollection-z    
01070000800100000001040000800100000001010000800000000000003E4000000000000024400000000000004440
+63     geometrycollection-z    
0107000080010000000105000080010000000102000080030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E400000000000004440000000000000444000000000000044400000000000005440
+64     geometrycollection-z    
010700008001000000010600008001000000010300008001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E400000000000003E4000000000000024400000000000004440
+65     geometrycollection-z    
01070000800600000001010000800000000000003E40000000000000244000000000000044400102000080030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E400000000000004440000000000000444000000000000044400000000000005440010300008001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E40000000000000
 [...]
+66     geometrycollection-z    NA
+67     geometrycollection-z    010700008000000000
+68     point-m 01010000400000000000003E4000000000000024400000000000C07240
+69     point-m 0101000040000000000000444000000000000034400000000000008940
+70     point-m NA
+71     point-m 0101000040000000000000F87F000000000000F87F000000000000F87F
+72     linestring-m    
0102000040030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C07240000000000000444000000000000044400000000000009940
+73     linestring-m    
01020000400300000000000000000044400000000000003440000000000000894000000000000034400000000000004440000000000000894000000000000049400000000000004940000000000088A340
+74     linestring-m    NA
+75     linestring-m    010200004000000000
+76     polygon-m       
010300004001000000050000000000000000003E4000000000000024400000000000C072400000000000004440000000000000444000000000000099400000000000003440000000000000444000000000000089400000000000002440000000000000344000000000000069400000000000003E4000000000000024400000000000C07240
+77     polygon-m       
01030000400200000005000000000000000080414000000000000024400000000000E07540000000000080464000000000008046400000000000A49F400000000000002E4000000000000044400000000000C08240000000000000244000000000000034400000000000006940000000000080414000000000000024400000000000E075400400000000000000000034400000000000003E400000000000C082400000000000804140000000000080414000000000002493400000000000003E4000000000000034400000000000C0824000000000000034400000000000003E400000000000C08240
+78     polygon-m       NA
+79     polygon-m       010300004000000000
+80     multipoint-m    
01040000400100000001010000400000000000003E4000000000000024400000000000C07240
+81     multipoint-m    
0104000040040000000101000040000000000000244000000000000044400000000000007940010100004000000000000044400000000000003E400000000000C09240010100004000000000000034400000000000003440000000000000794001010000400000000000003E4000000000000024400000000000C07240
+82     multipoint-m    NA
+83     multipoint-m    010400004000000000
+84     multilinestring-m       
0105000040010000000102000040030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C07240000000000000444000000000000044400000000000009940
+85     multilinestring-m       
0105000040020000000102000040030000000000000000002440000000000000244000000000000059400000000000003440000000000000344000000000000079400000000000002440000000000000444000000000000079400102000040040000000000000000004440000000000000444000000000000099400000000000003E400000000000003E400000000000208C400000000000004440000000000000344000000000000089400000000000003E4000000000000024400000000000C07240
+86     multilinestring-m       NA
+87     multilinestring-m       010500004000000000
+88     multipolygon-m  
010600004001000000010300004001000000050000000000000000003E4000000000000024400000000000C072400000000000004440000000000000444000000000000099400000000000003440000000000000444000000000000089400000000000002440000000000000344000000000000069400000000000003E4000000000000024400000000000C07240
+89     multipolygon-m  
010600004002000000010300004001000000040000000000000000003E4000000000000034400000000000C08240000000000080464000000000000044400000000000209C400000000000002440000000000000444000000000000079400000000000003E4000000000000034400000000000C08240010300004001000000050000000000000000002E4000000000000014400000000000C052400000000000004440000000000000244000000000000079400000000000002440000000000000344000000000000069400000000000001440000000000000244000000000000049400000000000002E400000
 [...]
+90     multipolygon-m  
01060000400200000001030000400100000004000000000000000000444000000000000044400000000000009940000000000000344000000000008046400000000000208C4000000000008046400000000000003E40000000000018954000000000000044400000000000004440000000000000994001030000400200000006000000000000000000344000000000008041400000000000E0854000000000000024400000000000003E400000000000C072400000000000002440000000000000244000000000000059400000000000003E4000000000000014400000000000C0624000000000008046400000
 [...]
+91     multipolygon-m  NA
+92     multipolygon-m  010600004000000000
+93     geometrycollection-m    
01070000400100000001010000400000000000003E4000000000000024400000000000C07240
+94     geometrycollection-m    
0107000040010000000102000040030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C07240000000000000444000000000000044400000000000009940
+95     geometrycollection-m    
010700004001000000010300004001000000050000000000000000003E4000000000000024400000000000C072400000000000004440000000000000444000000000000099400000000000003440000000000000444000000000000089400000000000002440000000000000344000000000000069400000000000003E4000000000000024400000000000C07240
+96     geometrycollection-m    
01070000400100000001040000400100000001010000400000000000003E4000000000000024400000000000C07240
+97     geometrycollection-m    
0107000040010000000105000040010000000102000040030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C07240000000000000444000000000000044400000000000009940
+98     geometrycollection-m    
010700004001000000010600004001000000010300004001000000050000000000000000003E4000000000000024400000000000C072400000000000004440000000000000444000000000000099400000000000003440000000000000444000000000000089400000000000002440000000000000344000000000000069400000000000003E4000000000000024400000000000C07240
+99     geometrycollection-m    
01070000400600000001010000400000000000003E4000000000000024400000000000C072400102000040030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C07240000000000000444000000000000044400000000000009940010300004001000000050000000000000000003E4000000000000024400000000000C07240000000000000444000000000000044400000000000009940000000000000344000000000000044400000000000008940000000000000244000000000000034400000000000006940000000000000
 [...]
+100    geometrycollection-m    NA
+101    geometrycollection-m    010700004000000000
+102    point-zm        
01010000C00000000000003E40000000000000244000000000000044400000000000C07240
+103    point-zm        
01010000C0000000000000444000000000000034400000000000004E400000000000008940
+104    point-zm        NA
+105    point-zm        
01010000C0000000000000F87F000000000000F87F000000000000F87F000000000000F87F
+106    linestring-zm   
01020000C0030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940
+107    linestring-zm   
01020000C003000000000000000000444000000000000034400000000000004E400000000000008940000000000000344000000000000044400000000000004E400000000000008940000000000000494000000000000049400000000000005940000000000088A340
+108    linestring-zm   NA
+109    linestring-zm   01020000C000000000
+110    polygon-zm      
01030000C001000000050000000000000000003E40000000000000244000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940000000000000344000000000000044400000000000004E400000000000008940000000000000244000000000000034400000000000003E4000000000000069400000000000003E40000000000000244000000000000044400000000000C07240
+111    polygon-zm      
01030000C002000000050000000000000000804140000000000000244000000000008046400000000000E075400000000000804640000000000080464000000000008056400000000000A49F400000000000002E4000000000000044400000000000804B400000000000C08240000000000000244000000000000034400000000000003E4000000000000069400000000000804140000000000000244000000000008046400000000000E075400400000000000000000034400000000000003E4000000000000049400000000000C0824000000000008041400000000000804140000000000080514000000000002
 [...]
+112    polygon-zm      NA
+113    polygon-zm      01030000C000000000
+114    multipoint-zm   
01040000C00100000001010000C00000000000003E40000000000000244000000000000044400000000000C07240
+115    multipoint-zm   
01040000C00400000001010000C0000000000000244000000000000044400000000000004940000000000000794001010000C000000000000044400000000000003E4000000000008051400000000000C0924001010000C0000000000000344000000000000034400000000000004440000000000000794001010000C00000000000003E40000000000000244000000000000044400000000000C07240
+116    multipoint-zm   NA
+117    multipoint-zm   01040000C000000000
+118    multilinestring-zm      
01050000C00100000001020000C0030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940
+119    multilinestring-zm      
01050000C00200000001020000C00300000000000000000024400000000000002440000000000000344000000000000059400000000000003440000000000000344000000000000044400000000000007940000000000000244000000000000044400000000000004940000000000000794001020000C00400000000000000000044400000000000004440000000000000544000000000000099400000000000003E400000000000003E400000000000004E400000000000208C40000000000000444000000000000034400000000000004E4000000000000089400000000000003E40000000000000244
 [...]
+120    multilinestring-zm      NA
+121    multilinestring-zm      01050000C000000000
+122    multipolygon-zm 
01060000C00100000001030000C001000000050000000000000000003E40000000000000244000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940000000000000344000000000000044400000000000004E400000000000008940000000000000244000000000000034400000000000003E4000000000000069400000000000003E40000000000000244000000000000044400000000000C07240
+123    multipolygon-zm 
01060000C00200000001030000C001000000040000000000000000003E40000000000000344000000000000049400000000000C082400000000000804640000000000000444000000000004055400000000000209C4000000000000024400000000000004440000000000000494000000000000079400000000000003E40000000000000344000000000000049400000000000C0824001030000C001000000050000000000000000002E40000000000000144000000000000034400000000000C052400000000000004440000000000000244000000000000049400000000000007940000000000000244000
 [...]
+124    multipolygon-zm 
01060000C00200000001030000C0010000000400000000000000000044400000000000004440000000000000544000000000000099400000000000003440000000000080464000000000004050400000000000208C4000000000008046400000000000003E400000000000C052400000000000189540000000000000444000000000000044400000000000005440000000000000994001030000C00200000006000000000000000000344000000000008041400000000000804B400000000000E0854000000000000024400000000000003E4000000000000044400000000000C07240000000000000244000
 [...]
+125    multipolygon-zm NA
+126    multipolygon-zm 01060000C000000000
+127    geometrycollection-zm   
01070000C00100000001010000C00000000000003E40000000000000244000000000000044400000000000C07240
+128    geometrycollection-zm   
01070000C00100000001020000C0030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940
+129    geometrycollection-zm   
01070000C00100000001030000C001000000050000000000000000003E40000000000000244000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940000000000000344000000000000044400000000000004E400000000000008940000000000000244000000000000034400000000000003E4000000000000069400000000000003E40000000000000244000000000000044400000000000C07240
+130    geometrycollection-zm   
01070000C00100000001040000C00100000001010000C00000000000003E40000000000000244000000000000044400000000000C07240
+131    geometrycollection-zm   
01070000C00100000001050000C00100000001020000C0030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940
+132    geometrycollection-zm   
01070000C00100000001060000C00100000001030000C001000000050000000000000000003E40000000000000244000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940000000000000344000000000000044400000000000004E400000000000008940000000000000244000000000000034400000000000003E4000000000000069400000000000003E40000000000000244000000000000044400000000000C07240
+133    geometrycollection-zm   
01070000C00600000001010000C00000000000003E40000000000000244000000000000044400000000000C0724001020000C0030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C07240000000000000444000000000000044400000000000005440000000000000994001030000C001000000050000000000000000003E40000000000000244000000000000044400000000000C0724000000000000044400000000000004440000000000000544000000000000099400000000000
 [...]
+134    geometrycollection-zm   NA
+135    geometrycollection-zm   01070000C000000000
diff --git a/data/parsing/example-gen.R b/data/parsing/example-gen.R
new file mode 100644
index 0000000..e57c7c7
--- /dev/null
+++ b/data/parsing/example-gen.R
@@ -0,0 +1,58 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# This generates the example-ewkb-*.tsv files. This is done in R because
+# the wk package for R includes an EWKB writer that faithfully translates
+# ZM EMPTY geometries from WKT to WKB with both endians.
+
+library(tidyverse)
+library(wk)
+library(yaml)
+
+examples <- yaml.load_file("data/parsing/example.yaml")
+
+wkb_example_hex_ewkb <- function(endian = 0x01) {
+  tibble(
+    group = names(examples),
+    geometry = examples |>
+      map(as.list)
+  ) |>
+    unnest_longer(geometry) |>
+    transmute(
+      id = 0:(n() - 1),
+      group,
+      geometry = geometry |>
+        wkt() |>
+        wk_handle(wkb_writer(endian = endian)) |>
+        unclass() |>
+        map(~ {
+          if (is.null(.x)) {
+            NA_character_
+          } else {
+            paste(PKI::raw2hex(.x), collapse = "")
+          }
+        }) |>
+        as.character() |>
+        str_to_upper()
+    )
+}
+
+wkb_example_hex_ewkb(endian = 0x01) |>
+  write_tsv("data/parsing/example-ewkb-le.tsv")
+
+wkb_example_hex_ewkb(endian = 0x00) |>
+  write_tsv("data/parsing/example-ewkb-be.tsv")
diff --git a/data/parsing/example-gen.py b/data/parsing/example-gen.py
new file mode 100644
index 0000000..72b4d4c
--- /dev/null
+++ b/data/parsing/example-gen.py
@@ -0,0 +1,88 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# This generates the example-wkt.tsv and example-wkb-*.tsv files. This is
+# done using geoarrow.pyarrow because it includes a WKB writer that
+# faithfully translates ZM EMPTY geometries from WKT to WKB. Shapely is
+# used to write big-endian WKB (where ZM EMPTY geometries are special-cased).
+
+from pathlib import Path
+
+import geoarrow.pyarrow as ga
+import shapely
+import yaml
+
+HERE = Path(__file__).parent
+
+if __name__ == "__main__":
+    with open(HERE / "example.yaml") as f:
+        examples = yaml.safe_load(f)
+
+    with open(HERE / "example-wkt.tsv", "w") as f:
+        f.write("id\tgroup\tgeometry\n")
+        row = 0
+        for group_name, geometries_wkt in examples.items():
+            for geometry in geometries_wkt:
+                geometry = "" if geometry is None else geometry
+                f.write(f"{row}\t{group_name}\t{geometry}\n")
+                row += 1
+
+    with open(HERE / "example-wkb-le.tsv", "w") as f:
+        f.write("id\tgroup\tgeometry\n")
+        row = 0
+        for group_name, geometries_wkt in examples.items():
+            for geometry in geometries_wkt:
+                if geometry is not None:
+                    geometry_wkb = 
bytes(ga.as_wkb([geometry]).storage[0].as_py())
+                else:
+                    geometry_wkb = b""
+
+                f.write(f"{row}\t{group_name}\t{geometry_wkb.hex().upper()}\n")
+                row += 1
+
+    # GEOS/Shapely can't roundtrip empty geometries that aren't just XY
+    BE_OVERRIDES = {
+        "MULTIPOINT Z EMPTY": "00000003EC00000000",
+        "MULTILINESTRING Z EMPTY": "00000003ED00000000",
+        "MULTIPOLYGON Z EMPTY": "00000003EE00000000",
+        "GEOMETRYCOLLECTION Z EMPTY": "00000003EF00000000",
+        "MULTIPOINT M EMPTY": "00000007D400000000",
+        "MULTILINESTRING M EMPTY": "00000007D500000000",
+        "MULTIPOLYGON M EMPTY": "00000007D600000000",
+        "GEOMETRYCOLLECTION M EMPTY": "00000007D700000000",
+        "MULTIPOINT ZM EMPTY": "0000000BBC00000000",
+        "MULTILINESTRING ZM EMPTY": "0000000BBD00000000",
+        "MULTIPOLYGON ZM EMPTY": "0000000BBE00000000",
+        "GEOMETRYCOLLECTION ZM EMPTY": "0000000BBF00000000",
+        None: "",
+    }
+
+    with open(HERE / "example-wkb-be.tsv", "w") as f:
+        f.write("id\tgroup\tgeometry\n")
+        row = 0
+        for group_name, geometries_wkt in examples.items():
+            for geometry in geometries_wkt:
+                if geometry not in BE_OVERRIDES:
+                    geom = shapely.from_wkt(geometry)
+                    geometry_wkb = (
+                        shapely.to_wkb(geom, flavor="iso", 
byte_order=0).hex().upper()
+                    )
+                else:
+                    geometry_wkb = BE_OVERRIDES[geometry]
+
+                f.write(f"{row}\t{group_name}\t{geometry_wkb}\n")
+                row += 1
diff --git a/data/parsing/example-wkb-be.tsv b/data/parsing/example-wkb-be.tsv
new file mode 100644
index 0000000..4114ce8
--- /dev/null
+++ b/data/parsing/example-wkb-be.tsv
@@ -0,0 +1,137 @@
+id     group   geometry
+0      point   0000000001403E0000000000004024000000000000
+1      point   000000000140440000000000004034000000000000
+2      point   
+3      point   00000000017FF80000000000007FF8000000000000
+4      linestring      
000000000200000003403E00000000000040240000000000004024000000000000403E00000000000040440000000000004044000000000000
+5      linestring      
000000000200000003404400000000000040340000000000004034000000000000404400000000000040490000000000004049000000000000
+6      linestring      
+7      linestring      000000000200000000
+8      polygon 
00000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E0000000000004024000000000000
+9      polygon 
000000000300000002000000054041800000000000402400000000000040468000000000004046800000000000402E00000000000040440000000000004024000000000000403400000000000040418000000000004024000000000000000000044034000000000000403E00000000000040418000000000004041800000000000403E00000000000040340000000000004034000000000000403E000000000000
+10     polygon 
+11     polygon 000000000300000000
+12     multipoint      
0000000004000000010000000001403E0000000000004024000000000000
+13     multipoint      
00000000040000000400000000014024000000000000404400000000000000000000014044000000000000403E0000000000000000000001403400000000000040340000000000000000000001403E0000000000004024000000000000
+14     multipoint      
+15     multipoint      000000000400000000
+16     multilinestring 
000000000500000001000000000200000003403E00000000000040240000000000004024000000000000403E00000000000040440000000000004044000000000000
+17     multilinestring 
00000000050000000200000000020000000340240000000000004024000000000000403400000000000040340000000000004024000000000000404400000000000000000000020000000440440000000000004044000000000000403E000000000000403E00000000000040440000000000004034000000000000403E0000000000004024000000000000
+18     multilinestring 
+19     multilinestring 000000000500000000
+20     multipolygon    
00000000060000000100000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E0000000000004024000000000000
+21     multipolygon    
00000000060000000200000000030000000100000004403E00000000000040340000000000004046800000000000404400000000000040240000000000004044000000000000403E000000000000403400000000000000000000030000000100000005402E0000000000004014000000000000404400000000000040240000000000004024000000000000403400000000000040140000000000004024000000000000402E0000000000004014000000000000
+22     multipolygon    
0000000006000000020000000003000000010000000440440000000000004044000000000000403400000000000040468000000000004046800000000000403E0000000000004044000000000000404400000000000000000000030000000200000006403400000000000040418000000000004024000000000000403E00000000000040240000000000004024000000000000403E0000000000004014000000000000404680000000000040340000000000004034000000000000404180000000000000000004403E00000000000040340000000000004034000000000000402E00000000000040340000000000
 [...]
+23     multipolygon    
+24     multipolygon    000000000600000000
+25     geometrycollection      
0000000007000000010000000001403E0000000000004024000000000000
+26     geometrycollection      
000000000700000001000000000200000003403E00000000000040240000000000004024000000000000403E00000000000040440000000000004044000000000000
+27     geometrycollection      
00000000070000000100000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E0000000000004024000000000000
+28     geometrycollection      
0000000007000000010000000004000000010000000001403E0000000000004024000000000000
+29     geometrycollection      
000000000700000001000000000500000001000000000200000003403E00000000000040240000000000004024000000000000403E00000000000040440000000000004044000000000000
+30     geometrycollection      
00000000070000000100000000060000000100000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E0000000000004024000000000000
+31     geometrycollection      
0000000007000000060000000001403E0000000000004024000000000000000000000200000003403E00000000000040240000000000004024000000000000403E0000000000004044000000000000404400000000000000000000030000000100000005403E0000000000004024000000000000404400000000000040440000000000004034000000000000404400000000000040240000000000004034000000000000403E00000000000040240000000000000000000004000000010000000001403E0000000000004024000000000000000000000500000001000000000200000003403E0000000000
 [...]
+32     geometrycollection      
+33     geometrycollection      000000000700000000
+34     point-z 00000003E9403E00000000000040240000000000004044000000000000
+35     point-z 00000003E940440000000000004034000000000000404E000000000000
+36     point-z 
+37     point-z 00000003E97FF80000000000007FF80000000000007FF8000000000000
+38     linestring-z    
00000003EA00000003403E000000000000402400000000000040440000000000004024000000000000403E0000000000004044000000000000404400000000000040440000000000004054000000000000
+39     linestring-z    
00000003EA0000000340440000000000004034000000000000404E00000000000040340000000000004044000000000000404E000000000000404900000000000040490000000000004059000000000000
+40     linestring-z    
+41     linestring-z    00000003EA00000000
+42     polygon-z       
00000003EB0000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000000040240000000000004044000000000000
+43     polygon-z       
00000003EB0000000200000005404180000000000040240000000000004046800000000000404680000000000040468000000000004056800000000000402E0000000000004044000000000000404B80000000000040240000000000004034000000000000403E000000000000404180000000000040240000000000004046800000000000000000044034000000000000403E0000000000004049000000000000404180000000000040418000000000004051800000000000403E000000000000403400000000000040490000000000004034000000000000403E0000000000004049000000000000
+44     polygon-z       
+45     polygon-z       00000003EB00000000
+46     multipoint-z    
00000003EC0000000100000003E9403E00000000000040240000000000004044000000000000
+47     multipoint-z    
00000003EC0000000400000003E940240000000000004044000000000000404900000000000000000003E94044000000000000403E000000000000405180000000000000000003E940340000000000004034000000000000404400000000000000000003E9403E00000000000040240000000000004044000000000000
+48     multipoint-z    
+49     multipoint-z    00000003EC00000000
+50     multilinestring-z       
00000003ED0000000100000003EA00000003403E000000000000402400000000000040440000000000004024000000000000403E0000000000004044000000000000404400000000000040440000000000004054000000000000
+51     multilinestring-z       
00000003ED0000000200000003EA0000000340240000000000004024000000000000403400000000000040340000000000004034000000000000404400000000000040240000000000004044000000000000404900000000000000000003EA00000004404400000000000040440000000000004054000000000000403E000000000000403E000000000000404E00000000000040440000000000004034000000000000404E000000000000403E00000000000040240000000000004044000000000000
+52     multilinestring-z       
+53     multilinestring-z       00000003ED00000000
+54     multipolygon-z  
00000003EE0000000100000003EB0000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000000040240000000000004044000000000000
+55     multipolygon-z  
00000003EE0000000200000003EB0000000100000004403E00000000000040340000000000004049000000000000404680000000000040440000000000004055400000000000402400000000000040440000000000004049000000000000403E0000000000004034000000000000404900000000000000000003EB0000000100000005402E0000000000004014000000000000403400000000000040440000000000004024000000000000404900000000000040240000000000004034000000000000403E00000000000040140000000000004024000000000000402E000000000000402E0000000000004014
 [...]
+56     multipolygon-z  
00000003EE0000000200000003EB00000001000000044044000000000000404400000000000040540000000000004034000000000000404680000000000040504000000000004046800000000000403E0000000000004052C0000000000040440000000000004044000000000000405400000000000000000003EB000000020000000640340000000000004041800000000000404B8000000000004024000000000000403E0000000000004044000000000000402400000000000040240000000000004034000000000000403E0000000000004014000000000000404180000000000040468000000000004034
 [...]
+57     multipolygon-z  
+58     multipolygon-z  00000003EE00000000
+59     geometrycollection-z    
00000003EF0000000100000003E9403E00000000000040240000000000004044000000000000
+60     geometrycollection-z    
00000003EF0000000100000003EA00000003403E000000000000402400000000000040440000000000004024000000000000403E0000000000004044000000000000404400000000000040440000000000004054000000000000
+61     geometrycollection-z    
00000003EF0000000100000003EB0000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000000040240000000000004044000000000000
+62     geometrycollection-z    
00000003EF0000000100000003EC0000000100000003E9403E00000000000040240000000000004044000000000000
+63     geometrycollection-z    
00000003EF0000000100000003ED0000000100000003EA00000003403E000000000000402400000000000040440000000000004024000000000000403E0000000000004044000000000000404400000000000040440000000000004054000000000000
+64     geometrycollection-z    
00000003EF0000000100000003EE0000000100000003EB0000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000000040240000000000004044000000000000
+65     geometrycollection-z    
00000003EF0000000600000003E9403E0000000000004024000000000000404400000000000000000003EA00000003403E000000000000402400000000000040440000000000004024000000000000403E000000000000404400000000000040440000000000004044000000000000405400000000000000000003EB0000000100000005403E0000000000004024000000000000404400000000000040440000000000004044000000000000405400000000000040340000000000004044000000000000404E00000000000040240000000000004034000000000000403E000000000000403E00000000
 [...]
+66     geometrycollection-z    
+67     geometrycollection-z    00000003EF00000000
+68     point-m 00000007D1403E00000000000040240000000000004072C00000000000
+69     point-m 00000007D1404400000000000040340000000000004089000000000000
+70     point-m 
+71     point-m 00000007D17FF80000000000007FF80000000000007FF8000000000000
+72     linestring-m    
00000007D200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C00000000000404400000000000040440000000000004099000000000000
+73     linestring-m    
00000007D2000000034044000000000000403400000000000040890000000000004034000000000000404400000000000040890000000000004049000000000000404900000000000040A3880000000000
+74     linestring-m    
+75     linestring-m    00000007D200000000
+76     polygon-m       
00000007D30000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000000040240000000000004072C00000000000
+77     polygon-m       
00000007D30000000200000005404180000000000040240000000000004075E0000000000040468000000000004046800000000000409FA40000000000402E00000000000040440000000000004082C00000000000402400000000000040340000000000004069000000000000404180000000000040240000000000004075E00000000000000000044034000000000000403E0000000000004082C00000000000404180000000000040418000000000004093240000000000403E00000000000040340000000000004082C000000000004034000000000000403E0000000000004082C00000000000
+78     polygon-m       
+79     polygon-m       00000007D300000000
+80     multipoint-m    
00000007D40000000100000007D1403E00000000000040240000000000004072C00000000000
+81     multipoint-m    
00000007D40000000400000007D140240000000000004044000000000000407900000000000000000007D14044000000000000403E0000000000004092C0000000000000000007D140340000000000004034000000000000407900000000000000000007D1403E00000000000040240000000000004072C00000000000
+82     multipoint-m    
+83     multipoint-m    00000007D400000000
+84     multilinestring-m       
00000007D50000000100000007D200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C00000000000404400000000000040440000000000004099000000000000
+85     multilinestring-m       
00000007D50000000200000007D20000000340240000000000004024000000000000405900000000000040340000000000004034000000000000407900000000000040240000000000004044000000000000407900000000000000000007D200000004404400000000000040440000000000004099000000000000403E000000000000403E000000000000408C200000000000404400000000000040340000000000004089000000000000403E00000000000040240000000000004072C00000000000
+86     multilinestring-m       
+87     multilinestring-m       00000007D500000000
+88     multipolygon-m  
00000007D60000000100000007D30000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000000040240000000000004072C00000000000
+89     multipolygon-m  
00000007D60000000200000007D30000000100000004403E00000000000040340000000000004082C0000000000040468000000000004044000000000000409C200000000000402400000000000040440000000000004079000000000000403E00000000000040340000000000004082C0000000000000000007D30000000100000005402E00000000000040140000000000004052C00000000000404400000000000040240000000000004079000000000000402400000000000040340000000000004069000000000000401400000000000040240000000000004049000000000000402E0000000000004014
 [...]
+90     multipolygon-m  
00000007D60000000200000007D3000000010000000440440000000000004044000000000000409900000000000040340000000000004046800000000000408C2000000000004046800000000000403E000000000000409518000000000040440000000000004044000000000000409900000000000000000007D30000000200000006403400000000000040418000000000004085E000000000004024000000000000403E0000000000004072C00000000000402400000000000040240000000000004059000000000000403E00000000000040140000000000004062C0000000000040468000000000004034
 [...]
+91     multipolygon-m  
+92     multipolygon-m  00000007D600000000
+93     geometrycollection-m    
00000007D70000000100000007D1403E00000000000040240000000000004072C00000000000
+94     geometrycollection-m    
00000007D70000000100000007D200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C00000000000404400000000000040440000000000004099000000000000
+95     geometrycollection-m    
00000007D70000000100000007D30000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000000040240000000000004072C00000000000
+96     geometrycollection-m    
00000007D70000000100000007D40000000100000007D1403E00000000000040240000000000004072C00000000000
+97     geometrycollection-m    
00000007D70000000100000007D50000000100000007D200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C00000000000404400000000000040440000000000004099000000000000
+98     geometrycollection-m    
00000007D70000000100000007D60000000100000007D30000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000000040240000000000004072C00000000000
+99     geometrycollection-m    
00000007D70000000600000007D1403E00000000000040240000000000004072C0000000000000000007D200000003403E00000000000040240000000000004072C000000000004024000000000000403E0000000000004072C0000000000040440000000000004044000000000000409900000000000000000007D30000000100000005403E00000000000040240000000000004072C00000000000404400000000000040440000000000004099000000000000403400000000000040440000000000004089000000000000402400000000000040340000000000004069000000000000403E00000000
 [...]
+100    geometrycollection-m    
+101    geometrycollection-m    00000007D700000000
+102    point-zm        
0000000BB9403E000000000000402400000000000040440000000000004072C00000000000
+103    point-zm        
0000000BB940440000000000004034000000000000404E0000000000004089000000000000
+104    point-zm        
+105    point-zm        
0000000BB97FF80000000000007FF80000000000007FF80000000000007FF8000000000000
+106    linestring-zm   
0000000BBA00000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C000000000004044000000000000404400000000000040540000000000004099000000000000
+107    linestring-zm   
0000000BBA0000000340440000000000004034000000000000404E000000000000408900000000000040340000000000004044000000000000404E000000000000408900000000000040490000000000004049000000000000405900000000000040A3880000000000
+108    linestring-zm   
+109    linestring-zm   0000000BBA00000000
+110    polygon-zm      
0000000BBB0000000100000005403E000000000000402400000000000040440000000000004072C00000000000404400000000000040440000000000004054000000000000409900000000000040340000000000004044000000000000404E000000000000408900000000000040240000000000004034000000000000403E0000000000004069000000000000403E000000000000402400000000000040440000000000004072C00000000000
+111    polygon-zm      
0000000BBB00000002000000054041800000000000402400000000000040468000000000004075E00000000000404680000000000040468000000000004056800000000000409FA40000000000402E0000000000004044000000000000404B8000000000004082C0000000000040240000000000004034000000000000403E00000000000040690000000000004041800000000000402400000000000040468000000000004075E00000000000000000044034000000000000403E00000000000040490000000000004082C0000000000040418000000000004041800000000000405180000000000040932400000
 [...]
+112    polygon-zm      
+113    polygon-zm      0000000BBB00000000
+114    multipoint-zm   
0000000BBC000000010000000BB9403E000000000000402400000000000040440000000000004072C00000000000
+115    multipoint-zm   
0000000BBC000000040000000BB940240000000000004044000000000000404900000000000040790000000000000000000BB94044000000000000403E00000000000040518000000000004092C000000000000000000BB940340000000000004034000000000000404400000000000040790000000000000000000BB9403E000000000000402400000000000040440000000000004072C00000000000
+116    multipoint-zm   
+117    multipoint-zm   0000000BBC00000000
+118    multilinestring-zm      
0000000BBD000000010000000BBA00000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C000000000004044000000000000404400000000000040540000000000004099000000000000
+119    multilinestring-zm      
0000000BBD000000020000000BBA000000034024000000000000402400000000000040340000000000004059000000000000403400000000000040340000000000004044000000000000407900000000000040240000000000004044000000000000404900000000000040790000000000000000000BBA000000044044000000000000404400000000000040540000000000004099000000000000403E000000000000403E000000000000404E000000000000408C20000000000040440000000000004034000000000000404E0000000000004089000000000000403E000000000000402400000000000
 [...]
+120    multilinestring-zm      
+121    multilinestring-zm      0000000BBD00000000
+122    multipolygon-zm 
0000000BBE000000010000000BBB0000000100000005403E000000000000402400000000000040440000000000004072C00000000000404400000000000040440000000000004054000000000000409900000000000040340000000000004044000000000000404E000000000000408900000000000040240000000000004034000000000000403E0000000000004069000000000000403E000000000000402400000000000040440000000000004072C00000000000
+123    multipolygon-zm 
0000000BBE000000020000000BBB0000000100000004403E000000000000403400000000000040490000000000004082C00000000000404680000000000040440000000000004055400000000000409C2000000000004024000000000000404400000000000040490000000000004079000000000000403E000000000000403400000000000040490000000000004082C000000000000000000BBB0000000100000005402E000000000000401400000000000040340000000000004052C000000000004044000000000000402400000000000040490000000000004079000000000000402400000000000040
 [...]
+124    multipolygon-zm 
0000000BBE000000020000000BBB00000001000000044044000000000000404400000000000040540000000000004099000000000000403400000000000040468000000000004050400000000000408C2000000000004046800000000000403E0000000000004052C00000000000409518000000000040440000000000004044000000000000405400000000000040990000000000000000000BBB000000020000000640340000000000004041800000000000404B8000000000004085E000000000004024000000000000403E00000000000040440000000000004072C00000000000402400000000000040
 [...]
+125    multipolygon-zm 
+126    multipolygon-zm 0000000BBE00000000
+127    geometrycollection-zm   
0000000BBF000000010000000BB9403E000000000000402400000000000040440000000000004072C00000000000
+128    geometrycollection-zm   
0000000BBF000000010000000BBA00000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C000000000004044000000000000404400000000000040540000000000004099000000000000
+129    geometrycollection-zm   
0000000BBF000000010000000BBB0000000100000005403E000000000000402400000000000040440000000000004072C00000000000404400000000000040440000000000004054000000000000409900000000000040340000000000004044000000000000404E000000000000408900000000000040240000000000004034000000000000403E0000000000004069000000000000403E000000000000402400000000000040440000000000004072C00000000000
+130    geometrycollection-zm   
0000000BBF000000010000000BBC000000010000000BB9403E000000000000402400000000000040440000000000004072C00000000000
+131    geometrycollection-zm   
0000000BBF000000010000000BBD000000010000000BBA00000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C000000000004044000000000000404400000000000040540000000000004099000000000000
+132    geometrycollection-zm   
0000000BBF000000010000000BBE000000010000000BBB0000000100000005403E000000000000402400000000000040440000000000004072C00000000000404400000000000040440000000000004054000000000000409900000000000040340000000000004044000000000000404E000000000000408900000000000040240000000000004034000000000000403E0000000000004069000000000000403E000000000000402400000000000040440000000000004072C00000000000
+133    geometrycollection-zm   
0000000BBF000000060000000BB9403E000000000000402400000000000040440000000000004072C000000000000000000BBA00000003403E000000000000402400000000000040440000000000004072C000000000004024000000000000403E00000000000040440000000000004072C0000000000040440000000000004044000000000000405400000000000040990000000000000000000BBB0000000100000005403E000000000000402400000000000040440000000000004072C0000000000040440000000000004044000000000000405400000000000040990000000000004034000000
 [...]
+134    geometrycollection-zm   
+135    geometrycollection-zm   0000000BBF00000000
diff --git a/data/parsing/example-wkb-le.tsv b/data/parsing/example-wkb-le.tsv
new file mode 100644
index 0000000..1de533a
--- /dev/null
+++ b/data/parsing/example-wkb-le.tsv
@@ -0,0 +1,137 @@
+id     group   geometry
+0      point   01010000000000000000003E400000000000002440
+1      point   010100000000000000000044400000000000003440
+2      point   
+3      point   0101000000000000000000F87F000000000000F87F
+4      linestring      
0102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440
+5      linestring      
010200000003000000000000000000444000000000000034400000000000003440000000000000444000000000000049400000000000004940
+6      linestring      
+7      linestring      010200000000000000
+8      polygon 
010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E400000000000002440
+9      polygon 
0103000000020000000500000000000000008041400000000000002440000000000080464000000000008046400000000000002E40000000000000444000000000000024400000000000003440000000000080414000000000000024400400000000000000000034400000000000003E40000000000080414000000000008041400000000000003E40000000000000344000000000000034400000000000003E40
+10     polygon 
+11     polygon 010300000000000000
+12     multipoint      
01040000000100000001010000000000000000003E400000000000002440
+13     multipoint      
010400000004000000010100000000000000000024400000000000004440010100000000000000000044400000000000003E4001010000000000000000003440000000000000344001010000000000000000003E400000000000002440
+14     multipoint      
+15     multipoint      010400000000000000
+16     multilinestring 
0105000000010000000102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440
+17     multilinestring 
010500000002000000010200000003000000000000000000244000000000000024400000000000003440000000000000344000000000000024400000000000004440010200000004000000000000000000444000000000000044400000000000003E400000000000003E40000000000000444000000000000034400000000000003E400000000000002440
+18     multilinestring 
+19     multilinestring 010500000000000000
+20     multipolygon    
010600000001000000010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E400000000000002440
+21     multipolygon    
010600000002000000010300000001000000040000000000000000003E40000000000000344000000000008046400000000000004440000000000000244000000000000044400000000000003E400000000000003440010300000001000000050000000000000000002E4000000000000014400000000000004440000000000000244000000000000024400000000000003440000000000000144000000000000024400000000000002E400000000000001440
+22     multipolygon    
01060000000200000001030000000100000004000000000000000000444000000000000044400000000000003440000000000080464000000000008046400000000000003E4000000000000044400000000000004440010300000002000000060000000000000000003440000000000080414000000000000024400000000000003E40000000000000244000000000000024400000000000003E4000000000000014400000000000804640000000000000344000000000000034400000000000804140040000000000000000003E40000000000000344000000000000034400000000000002E4000000000000034
 [...]
+23     multipolygon    
+24     multipolygon    010600000000000000
+25     geometrycollection      
01070000000100000001010000000000000000003E400000000000002440
+26     geometrycollection      
0107000000010000000102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440
+27     geometrycollection      
010700000001000000010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E400000000000002440
+28     geometrycollection      
01070000000100000001040000000100000001010000000000000000003E400000000000002440
+29     geometrycollection      
0107000000010000000105000000010000000102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440
+30     geometrycollection      
010700000001000000010600000001000000010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E400000000000002440
+31     geometrycollection      
01070000000600000001010000000000000000003E4000000000000024400102000000030000000000000000003E40000000000000244000000000000024400000000000003E4000000000000044400000000000004440010300000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000034400000000000004440000000000000244000000000000034400000000000003E40000000000000244001040000000100000001010000000000000000003E4000000000000024400105000000010000000102000000030000000000000000003E
 [...]
+32     geometrycollection      
+33     geometrycollection      010700000000000000
+34     point-z 01E90300000000000000003E4000000000000024400000000000004440
+35     point-z 01E9030000000000000000444000000000000034400000000000004E40
+36     point-z 
+37     point-z 01E9030000000000000000F87F000000000000F87F000000000000F87F
+38     linestring-z    
01EA030000030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E400000000000004440000000000000444000000000000044400000000000005440
+39     linestring-z    
01EA03000003000000000000000000444000000000000034400000000000004E40000000000000344000000000000044400000000000004E40000000000000494000000000000049400000000000005940
+40     linestring-z    
+41     linestring-z    01EA03000000000000
+42     polygon-z       
01EB03000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E400000000000003E4000000000000024400000000000004440
+43     polygon-z       
01EB03000002000000050000000000000000804140000000000000244000000000008046400000000000804640000000000080464000000000008056400000000000002E4000000000000044400000000000804B40000000000000244000000000000034400000000000003E400000000000804140000000000000244000000000008046400400000000000000000034400000000000003E4000000000000049400000000000804140000000000080414000000000008051400000000000003E400000000000003440000000000000494000000000000034400000000000003E400000000000004940
+44     polygon-z       
+45     polygon-z       01EB03000000000000
+46     multipoint-z    
01EC0300000100000001E90300000000000000003E4000000000000024400000000000004440
+47     multipoint-z    
01EC0300000400000001E903000000000000000024400000000000004440000000000000494001E903000000000000000044400000000000003E40000000000080514001E903000000000000000034400000000000003440000000000000444001E90300000000000000003E4000000000000024400000000000004440
+48     multipoint-z    
+49     multipoint-z    01EC03000000000000
+50     multilinestring-z       
01ED0300000100000001EA030000030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E400000000000004440000000000000444000000000000044400000000000005440
+51     multilinestring-z       
01ED0300000200000001EA0300000300000000000000000024400000000000002440000000000000344000000000000034400000000000003440000000000000444000000000000024400000000000004440000000000000494001EA030000040000000000000000004440000000000000444000000000000054400000000000003E400000000000003E400000000000004E40000000000000444000000000000034400000000000004E400000000000003E4000000000000024400000000000004440
+52     multilinestring-z       
+53     multilinestring-z       01ED03000000000000
+54     multipolygon-z  
01EE0300000100000001EB03000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E400000000000003E4000000000000024400000000000004440
+55     multipolygon-z  
01EE0300000200000001EB03000001000000040000000000000000003E40000000000000344000000000000049400000000000804640000000000000444000000000004055400000000000002440000000000000444000000000000049400000000000003E400000000000003440000000000000494001EB03000001000000050000000000000000002E4000000000000014400000000000003440000000000000444000000000000024400000000000004940000000000000244000000000000034400000000000003E40000000000000144000000000000024400000000000002E400000000000002E400000
 [...]
+56     multipolygon-z  
01EE0300000200000001EB030000010000000400000000000000000044400000000000004440000000000000544000000000000034400000000000804640000000000040504000000000008046400000000000003E400000000000C0524000000000000044400000000000004440000000000000544001EB0300000200000006000000000000000000344000000000008041400000000000804B4000000000000024400000000000003E4000000000000044400000000000002440000000000000244000000000000034400000000000003E400000000000001440000000000080414000000000008046400000
 [...]
+57     multipolygon-z  
+58     multipolygon-z  01EE03000000000000
+59     geometrycollection-z    
01EF0300000100000001E90300000000000000003E4000000000000024400000000000004440
+60     geometrycollection-z    
01EF0300000100000001EA030000030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E400000000000004440000000000000444000000000000044400000000000005440
+61     geometrycollection-z    
01EF0300000100000001EB03000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E400000000000003E4000000000000024400000000000004440
+62     geometrycollection-z    
01EF0300000100000001EC0300000100000001E90300000000000000003E4000000000000024400000000000004440
+63     geometrycollection-z    
01EF0300000100000001ED0300000100000001EA030000030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E400000000000004440000000000000444000000000000044400000000000005440
+64     geometrycollection-z    
01EF0300000100000001EE0300000100000001EB03000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E400000000000003E4000000000000024400000000000004440
+65     geometrycollection-z    
01EF0300000600000001E90300000000000000003E400000000000002440000000000000444001EA030000030000000000000000003E400000000000002440000000000000444000000000000024400000000000003E40000000000000444000000000000044400000000000004440000000000000544001EB03000001000000050000000000000000003E4000000000000024400000000000004440000000000000444000000000000044400000000000005440000000000000344000000000000044400000000000004E40000000000000244000000000000034400000000000003E40000000000000
 [...]
+66     geometrycollection-z    
+67     geometrycollection-z    01EF03000000000000
+68     point-m 01D10700000000000000003E4000000000000024400000000000C07240
+69     point-m 01D1070000000000000000444000000000000034400000000000008940
+70     point-m 
+71     point-m 01D1070000000000000000F87F000000000000F87F000000000000F87F
+72     linestring-m    
01D2070000030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C07240000000000000444000000000000044400000000000009940
+73     linestring-m    
01D20700000300000000000000000044400000000000003440000000000000894000000000000034400000000000004440000000000000894000000000000049400000000000004940000000000088A340
+74     linestring-m    
+75     linestring-m    01D207000000000000
+76     polygon-m       
01D307000001000000050000000000000000003E4000000000000024400000000000C072400000000000004440000000000000444000000000000099400000000000003440000000000000444000000000000089400000000000002440000000000000344000000000000069400000000000003E4000000000000024400000000000C07240
+77     polygon-m       
01D30700000200000005000000000000000080414000000000000024400000000000E07540000000000080464000000000008046400000000000A49F400000000000002E4000000000000044400000000000C08240000000000000244000000000000034400000000000006940000000000080414000000000000024400000000000E075400400000000000000000034400000000000003E400000000000C082400000000000804140000000000080414000000000002493400000000000003E4000000000000034400000000000C0824000000000000034400000000000003E400000000000C08240
+78     polygon-m       
+79     polygon-m       01D307000000000000
+80     multipoint-m    
01D40700000100000001D10700000000000000003E4000000000000024400000000000C07240
+81     multipoint-m    
01D40700000400000001D107000000000000000024400000000000004440000000000000794001D107000000000000000044400000000000003E400000000000C0924001D107000000000000000034400000000000003440000000000000794001D10700000000000000003E4000000000000024400000000000C07240
+82     multipoint-m    
+83     multipoint-m    01D407000000000000
+84     multilinestring-m       
01D50700000100000001D2070000030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C07240000000000000444000000000000044400000000000009940
+85     multilinestring-m       
01D50700000200000001D20700000300000000000000000024400000000000002440000000000000594000000000000034400000000000003440000000000000794000000000000024400000000000004440000000000000794001D2070000040000000000000000004440000000000000444000000000000099400000000000003E400000000000003E400000000000208C400000000000004440000000000000344000000000000089400000000000003E4000000000000024400000000000C07240
+86     multilinestring-m       
+87     multilinestring-m       01D507000000000000
+88     multipolygon-m  
01D60700000100000001D307000001000000050000000000000000003E4000000000000024400000000000C072400000000000004440000000000000444000000000000099400000000000003440000000000000444000000000000089400000000000002440000000000000344000000000000069400000000000003E4000000000000024400000000000C07240
+89     multipolygon-m  
01D60700000200000001D307000001000000040000000000000000003E4000000000000034400000000000C08240000000000080464000000000000044400000000000209C400000000000002440000000000000444000000000000079400000000000003E4000000000000034400000000000C0824001D307000001000000050000000000000000002E4000000000000014400000000000C052400000000000004440000000000000244000000000000079400000000000002440000000000000344000000000000069400000000000001440000000000000244000000000000049400000000000002E400000
 [...]
+90     multipolygon-m  
01D60700000200000001D30700000100000004000000000000000000444000000000000044400000000000009940000000000000344000000000008046400000000000208C4000000000008046400000000000003E40000000000018954000000000000044400000000000004440000000000000994001D30700000200000006000000000000000000344000000000008041400000000000E0854000000000000024400000000000003E400000000000C072400000000000002440000000000000244000000000000059400000000000003E4000000000000014400000000000C0624000000000008046400000
 [...]
+91     multipolygon-m  
+92     multipolygon-m  01D607000000000000
+93     geometrycollection-m    
01D70700000100000001D10700000000000000003E4000000000000024400000000000C07240
+94     geometrycollection-m    
01D70700000100000001D2070000030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C07240000000000000444000000000000044400000000000009940
+95     geometrycollection-m    
01D70700000100000001D307000001000000050000000000000000003E4000000000000024400000000000C072400000000000004440000000000000444000000000000099400000000000003440000000000000444000000000000089400000000000002440000000000000344000000000000069400000000000003E4000000000000024400000000000C07240
+96     geometrycollection-m    
01D70700000100000001D40700000100000001D10700000000000000003E4000000000000024400000000000C07240
+97     geometrycollection-m    
01D70700000100000001D50700000100000001D2070000030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C07240000000000000444000000000000044400000000000009940
+98     geometrycollection-m    
01D70700000100000001D60700000100000001D307000001000000050000000000000000003E4000000000000024400000000000C072400000000000004440000000000000444000000000000099400000000000003440000000000000444000000000000089400000000000002440000000000000344000000000000069400000000000003E4000000000000024400000000000C07240
+99     geometrycollection-m    
01D70700000600000001D10700000000000000003E4000000000000024400000000000C0724001D2070000030000000000000000003E4000000000000024400000000000C0724000000000000024400000000000003E400000000000C0724000000000000044400000000000004440000000000000994001D307000001000000050000000000000000003E4000000000000024400000000000C07240000000000000444000000000000044400000000000009940000000000000344000000000000044400000000000008940000000000000244000000000000034400000000000006940000000000000
 [...]
+100    geometrycollection-m    
+101    geometrycollection-m    01D707000000000000
+102    point-zm        
01B90B00000000000000003E40000000000000244000000000000044400000000000C07240
+103    point-zm        
01B90B0000000000000000444000000000000034400000000000004E400000000000008940
+104    point-zm        
+105    point-zm        
01B90B0000000000000000F87F000000000000F87F000000000000F87F000000000000F87F
+106    linestring-zm   
01BA0B0000030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940
+107    linestring-zm   
01BA0B000003000000000000000000444000000000000034400000000000004E400000000000008940000000000000344000000000000044400000000000004E400000000000008940000000000000494000000000000049400000000000005940000000000088A340
+108    linestring-zm   
+109    linestring-zm   01BA0B000000000000
+110    polygon-zm      
01BB0B000001000000050000000000000000003E40000000000000244000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940000000000000344000000000000044400000000000004E400000000000008940000000000000244000000000000034400000000000003E4000000000000069400000000000003E40000000000000244000000000000044400000000000C07240
+111    polygon-zm      
01BB0B000002000000050000000000000000804140000000000000244000000000008046400000000000E075400000000000804640000000000080464000000000008056400000000000A49F400000000000002E4000000000000044400000000000804B400000000000C08240000000000000244000000000000034400000000000003E4000000000000069400000000000804140000000000000244000000000008046400000000000E075400400000000000000000034400000000000003E4000000000000049400000000000C0824000000000008041400000000000804140000000000080514000000000002
 [...]
+112    polygon-zm      
+113    polygon-zm      01BB0B000000000000
+114    multipoint-zm   
01BC0B00000100000001B90B00000000000000003E40000000000000244000000000000044400000000000C07240
+115    multipoint-zm   
01BC0B00000400000001B90B0000000000000000244000000000000044400000000000004940000000000000794001B90B000000000000000044400000000000003E4000000000008051400000000000C0924001B90B0000000000000000344000000000000034400000000000004440000000000000794001B90B00000000000000003E40000000000000244000000000000044400000000000C07240
+116    multipoint-zm   
+117    multipoint-zm   01BC0B000000000000
+118    multilinestring-zm      
01BD0B00000100000001BA0B0000030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940
+119    multilinestring-zm      
01BD0B00000200000001BA0B00000300000000000000000024400000000000002440000000000000344000000000000059400000000000003440000000000000344000000000000044400000000000007940000000000000244000000000000044400000000000004940000000000000794001BA0B00000400000000000000000044400000000000004440000000000000544000000000000099400000000000003E400000000000003E400000000000004E400000000000208C40000000000000444000000000000034400000000000004E4000000000000089400000000000003E40000000000000244
 [...]
+120    multilinestring-zm      
+121    multilinestring-zm      01BD0B000000000000
+122    multipolygon-zm 
01BE0B00000100000001BB0B000001000000050000000000000000003E40000000000000244000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940000000000000344000000000000044400000000000004E400000000000008940000000000000244000000000000034400000000000003E4000000000000069400000000000003E40000000000000244000000000000044400000000000C07240
+123    multipolygon-zm 
01BE0B00000200000001BB0B000001000000040000000000000000003E40000000000000344000000000000049400000000000C082400000000000804640000000000000444000000000004055400000000000209C4000000000000024400000000000004440000000000000494000000000000079400000000000003E40000000000000344000000000000049400000000000C0824001BB0B000001000000050000000000000000002E40000000000000144000000000000034400000000000C052400000000000004440000000000000244000000000000049400000000000007940000000000000244000
 [...]
+124    multipolygon-zm 
01BE0B00000200000001BB0B0000010000000400000000000000000044400000000000004440000000000000544000000000000099400000000000003440000000000080464000000000004050400000000000208C4000000000008046400000000000003E400000000000C052400000000000189540000000000000444000000000000044400000000000005440000000000000994001BB0B00000200000006000000000000000000344000000000008041400000000000804B400000000000E0854000000000000024400000000000003E4000000000000044400000000000C07240000000000000244000
 [...]
+125    multipolygon-zm 
+126    multipolygon-zm 01BE0B000000000000
+127    geometrycollection-zm   
01BF0B00000100000001B90B00000000000000003E40000000000000244000000000000044400000000000C07240
+128    geometrycollection-zm   
01BF0B00000100000001BA0B0000030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940
+129    geometrycollection-zm   
01BF0B00000100000001BB0B000001000000050000000000000000003E40000000000000244000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940000000000000344000000000000044400000000000004E400000000000008940000000000000244000000000000034400000000000003E4000000000000069400000000000003E40000000000000244000000000000044400000000000C07240
+130    geometrycollection-zm   
01BF0B00000100000001BC0B00000100000001B90B00000000000000003E40000000000000244000000000000044400000000000C07240
+131    geometrycollection-zm   
01BF0B00000100000001BD0B00000100000001BA0B0000030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940
+132    geometrycollection-zm   
01BF0B00000100000001BE0B00000100000001BB0B000001000000050000000000000000003E40000000000000244000000000000044400000000000C072400000000000004440000000000000444000000000000054400000000000009940000000000000344000000000000044400000000000004E400000000000008940000000000000244000000000000034400000000000003E4000000000000069400000000000003E40000000000000244000000000000044400000000000C07240
+133    geometrycollection-zm   
01BF0B00000600000001B90B00000000000000003E40000000000000244000000000000044400000000000C0724001BA0B0000030000000000000000003E40000000000000244000000000000044400000000000C0724000000000000024400000000000003E4000000000000044400000000000C07240000000000000444000000000000044400000000000005440000000000000994001BB0B000001000000050000000000000000003E40000000000000244000000000000044400000000000C0724000000000000044400000000000004440000000000000544000000000000099400000000000
 [...]
+134    geometrycollection-zm   
+135    geometrycollection-zm   01BF0B000000000000
diff --git a/data/parsing/example-wkt.tsv b/data/parsing/example-wkt.tsv
new file mode 100644
index 0000000..73bf048
--- /dev/null
+++ b/data/parsing/example-wkt.tsv
@@ -0,0 +1,137 @@
+id     group   geometry
+0      point   POINT (30 10)
+1      point   POINT (40 20)
+2      point   
+3      point   POINT EMPTY
+4      linestring      LINESTRING (30 10, 10 30, 40 40)
+5      linestring      LINESTRING (40 20, 20 40, 50 50)
+6      linestring      
+7      linestring      LINESTRING EMPTY
+8      polygon POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
+9      polygon POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), (20 30, 35 35, 30 
20, 20 30))
+10     polygon 
+11     polygon POLYGON EMPTY
+12     multipoint      MULTIPOINT ((30 10))
+13     multipoint      MULTIPOINT ((10 40), (40 30), (20 20), (30 10))
+14     multipoint      
+15     multipoint      MULTIPOINT EMPTY
+16     multilinestring MULTILINESTRING ((30 10, 10 30, 40 40))
+17     multilinestring MULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 
40 20, 30 10))
+18     multilinestring 
+19     multilinestring MULTILINESTRING EMPTY
+20     multipolygon    MULTIPOLYGON (((30 10, 40 40, 20 40, 10 20, 30 10)))
+21     multipolygon    MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), ((15 5, 
40 10, 10 20, 5 10, 15 5)))
+22     multipolygon    MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), ((20 35, 
10 30, 10 10, 30 5, 45 20, 20 35), (30 20, 20 15, 20 25, 30 20)))
+23     multipolygon    
+24     multipolygon    MULTIPOLYGON EMPTY
+25     geometrycollection      GEOMETRYCOLLECTION (POINT (30 10))
+26     geometrycollection      GEOMETRYCOLLECTION (LINESTRING (30 10, 10 30, 
40 40))
+27     geometrycollection      GEOMETRYCOLLECTION (POLYGON ((30 10, 40 40, 20 
40, 10 20, 30 10)))
+28     geometrycollection      GEOMETRYCOLLECTION (MULTIPOINT ((30 10)))
+29     geometrycollection      GEOMETRYCOLLECTION (MULTILINESTRING ((30 10, 10 
30, 40 40)))
+30     geometrycollection      GEOMETRYCOLLECTION (MULTIPOLYGON (((30 10, 40 
40, 20 40, 10 20, 30 10))))
+31     geometrycollection      GEOMETRYCOLLECTION (POINT (30 10), LINESTRING 
(30 10, 10 30, 40 40), POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)), 
MULTIPOINT ((30 10)), MULTILINESTRING ((30 10, 10 30, 40 40)), MULTIPOLYGON 
(((30 10, 40 40, 20 40, 10 20, 30 10))))
+32     geometrycollection      
+33     geometrycollection      GEOMETRYCOLLECTION EMPTY
+34     point-z POINT Z (30 10 40)
+35     point-z POINT Z (40 20 60)
+36     point-z 
+37     point-z POINT Z EMPTY
+38     linestring-z    LINESTRING Z (30 10 40, 10 30 40, 40 40 80)
+39     linestring-z    LINESTRING Z (40 20 60, 20 40 60, 50 50 100)
+40     linestring-z    
+41     linestring-z    LINESTRING Z EMPTY
+42     polygon-z       POLYGON Z ((30 10 40, 40 40 80, 20 40 60, 10 20 30, 30 
10 40))
+43     polygon-z       POLYGON Z ((35 10 45, 45 45 90, 15 40 55, 10 20 30, 35 
10 45), (20 30 50, 35 35 70, 30 20 50, 20 30 50))
+44     polygon-z       
+45     polygon-z       POLYGON Z EMPTY
+46     multipoint-z    MULTIPOINT Z ((30 10 40))
+47     multipoint-z    MULTIPOINT Z ((10 40 50), (40 30 70), (20 20 40), (30 
10 40))
+48     multipoint-z    
+49     multipoint-z    MULTIPOINT Z EMPTY
+50     multilinestring-z       MULTILINESTRING Z ((30 10 40, 10 30 40, 40 40 
80))
+51     multilinestring-z       MULTILINESTRING Z ((10 10 20, 20 20 40, 10 40 
50), (40 40 80, 30 30 60, 40 20 60, 30 10 40))
+52     multilinestring-z       
+53     multilinestring-z       MULTILINESTRING Z EMPTY
+54     multipolygon-z  MULTIPOLYGON Z (((30 10 40, 40 40 80, 20 40 60, 10 20 
30, 30 10 40)))
+55     multipolygon-z  MULTIPOLYGON Z (((30 20 50, 45 40 85, 10 40 50, 30 20 
50)), ((15 5 20, 40 10 50, 10 20 30, 5 10 15, 15 5 20)))
+56     multipolygon-z  MULTIPOLYGON Z (((40 40 80, 20 45 65, 45 30 75, 40 40 
80)), ((20 35 55, 10 30 40, 10 10 20, 30 5 35, 45 20 65, 20 35 55), (30 20 50, 
20 15 35, 20 25 45, 30 20 50)))
+57     multipolygon-z  
+58     multipolygon-z  MULTIPOLYGON Z EMPTY
+59     geometrycollection-z    GEOMETRYCOLLECTION Z (POINT Z (30 10 40))
+60     geometrycollection-z    GEOMETRYCOLLECTION Z (LINESTRING Z (30 10 40, 
10 30 40, 40 40 80))
+61     geometrycollection-z    GEOMETRYCOLLECTION Z (POLYGON Z ((30 10 40, 40 
40 80, 20 40 60, 10 20 30, 30 10 40)))
+62     geometrycollection-z    GEOMETRYCOLLECTION Z (MULTIPOINT Z ((30 10 40)))
+63     geometrycollection-z    GEOMETRYCOLLECTION Z (MULTILINESTRING Z ((30 10 
40, 10 30 40, 40 40 80)))
+64     geometrycollection-z    GEOMETRYCOLLECTION Z (MULTIPOLYGON Z (((30 10 
40, 40 40 80, 20 40 60, 10 20 30, 30 10 40))))
+65     geometrycollection-z    GEOMETRYCOLLECTION Z (POINT Z (30 10 40), 
LINESTRING Z (30 10 40, 10 30 40, 40 40 80), POLYGON Z ((30 10 40, 40 40 80, 20 
40 60, 10 20 30, 30 10 40)), MULTIPOINT Z ((30 10 40)), MULTILINESTRING Z ((30 
10 40, 10 30 40, 40 40 80)), MULTIPOLYGON Z (((30 10 40, 40 40 80, 20 40 60, 10 
20 30, 30 10 40))))
+66     geometrycollection-z    
+67     geometrycollection-z    GEOMETRYCOLLECTION Z EMPTY
+68     point-m POINT M (30 10 300)
+69     point-m POINT M (40 20 800)
+70     point-m 
+71     point-m POINT M EMPTY
+72     linestring-m    LINESTRING M (30 10 300, 10 30 300, 40 40 1600)
+73     linestring-m    LINESTRING M (40 20 800, 20 40 800, 50 50 2500)
+74     linestring-m    
+75     linestring-m    LINESTRING M EMPTY
+76     polygon-m       POLYGON M ((30 10 300, 40 40 1600, 20 40 800, 10 20 
200, 30 10 300))
+77     polygon-m       POLYGON M ((35 10 350, 45 45 2025, 15 40 600, 10 20 
200, 35 10 350), (20 30 600, 35 35 1225, 30 20 600, 20 30 600))
+78     polygon-m       
+79     polygon-m       POLYGON M EMPTY
+80     multipoint-m    MULTIPOINT M ((30 10 300))
+81     multipoint-m    MULTIPOINT M ((10 40 400), (40 30 1200), (20 20 400), 
(30 10 300))
+82     multipoint-m    
+83     multipoint-m    MULTIPOINT M EMPTY
+84     multilinestring-m       MULTILINESTRING M ((30 10 300, 10 30 300, 40 40 
1600))
+85     multilinestring-m       MULTILINESTRING M ((10 10 100, 20 20 400, 10 40 
400), (40 40 1600, 30 30 900, 40 20 800, 30 10 300))
+86     multilinestring-m       
+87     multilinestring-m       MULTILINESTRING M EMPTY
+88     multipolygon-m  MULTIPOLYGON M (((30 10 300, 40 40 1600, 20 40 800, 10 
20 200, 30 10 300)))
+89     multipolygon-m  MULTIPOLYGON M (((30 20 600, 45 40 1800, 10 40 400, 30 
20 600)), ((15 5 75, 40 10 400, 10 20 200, 5 10 50, 15 5 75)))
+90     multipolygon-m  MULTIPOLYGON M (((40 40 1600, 20 45 900, 45 30 1350, 40 
40 1600)), ((20 35 700, 10 30 300, 10 10 100, 30 5 150, 45 20 900, 20 35 700), 
(30 20 600, 20 15 300, 20 25 500, 30 20 600)))
+91     multipolygon-m  
+92     multipolygon-m  MULTIPOLYGON M EMPTY
+93     geometrycollection-m    GEOMETRYCOLLECTION M (POINT M (30 10 300))
+94     geometrycollection-m    GEOMETRYCOLLECTION M (LINESTRING M (30 10 300, 
10 30 300, 40 40 1600))
+95     geometrycollection-m    GEOMETRYCOLLECTION M (POLYGON M ((30 10 300, 40 
40 1600, 20 40 800, 10 20 200, 30 10 300)))
+96     geometrycollection-m    GEOMETRYCOLLECTION M (MULTIPOINT M ((30 10 
300)))
+97     geometrycollection-m    GEOMETRYCOLLECTION M (MULTILINESTRING M ((30 10 
300, 10 30 300, 40 40 1600)))
+98     geometrycollection-m    GEOMETRYCOLLECTION M (MULTIPOLYGON M (((30 10 
300, 40 40 1600, 20 40 800, 10 20 200, 30 10 300))))
+99     geometrycollection-m    GEOMETRYCOLLECTION M (POINT M (30 10 300), 
LINESTRING M (30 10 300, 10 30 300, 40 40 1600), POLYGON M ((30 10 300, 40 40 
1600, 20 40 800, 10 20 200, 30 10 300)), MULTIPOINT M ((30 10 300)), 
MULTILINESTRING M ((30 10 300, 10 30 300, 40 40 1600)), MULTIPOLYGON M (((30 10 
300, 40 40 1600, 20 40 800, 10 20 200, 30 10 300))))
+100    geometrycollection-m    
+101    geometrycollection-m    GEOMETRYCOLLECTION M EMPTY
+102    point-zm        POINT ZM (30 10 40 300)
+103    point-zm        POINT ZM (40 20 60 800)
+104    point-zm        
+105    point-zm        POINT ZM EMPTY
+106    linestring-zm   LINESTRING ZM (30 10 40 300, 10 30 40 300, 40 40 80 
1600)
+107    linestring-zm   LINESTRING ZM (40 20 60 800, 20 40 60 800, 50 50 100 
2500)
+108    linestring-zm   
+109    linestring-zm   LINESTRING ZM EMPTY
+110    polygon-zm      POLYGON ZM ((30 10 40 300, 40 40 80 1600, 20 40 60 800, 
10 20 30 200, 30 10 40 300))
+111    polygon-zm      POLYGON ZM ((35 10 45 350, 45 45 90 2025, 15 40 55 600, 
10 20 30 200, 35 10 45 350), (20 30 50 600, 35 35 70 1225, 30 20 50 600, 20 30 
50 600))
+112    polygon-zm      
+113    polygon-zm      POLYGON ZM EMPTY
+114    multipoint-zm   MULTIPOINT ZM ((30 10 40 300))
+115    multipoint-zm   MULTIPOINT ZM ((10 40 50 400), (40 30 70 1200), (20 20 
40 400), (30 10 40 300))
+116    multipoint-zm   
+117    multipoint-zm   MULTIPOINT ZM EMPTY
+118    multilinestring-zm      MULTILINESTRING ZM ((30 10 40 300, 10 30 40 
300, 40 40 80 1600))
+119    multilinestring-zm      MULTILINESTRING ZM ((10 10 20 100, 20 20 40 
400, 10 40 50 400), (40 40 80 1600, 30 30 60 900, 40 20 60 800, 30 10 40 300))
+120    multilinestring-zm      
+121    multilinestring-zm      MULTILINESTRING ZM EMPTY
+122    multipolygon-zm MULTIPOLYGON ZM (((30 10 40 300, 40 40 80 1600, 20 40 
60 800, 10 20 30 200, 30 10 40 300)))
+123    multipolygon-zm MULTIPOLYGON ZM (((30 20 50 600, 45 40 85 1800, 10 40 
50 400, 30 20 50 600)), ((15 5 20 75, 40 10 50 400, 10 20 30 200, 5 10 15 50, 
15 5 20 75)))
+124    multipolygon-zm MULTIPOLYGON ZM (((40 40 80 1600, 20 45 65 900, 45 30 
75 1350, 40 40 80 1600)), ((20 35 55 700, 10 30 40 300, 10 10 20 100, 30 5 35 
150, 45 20 65 900, 20 35 55 700), (30 20 50 600, 20 15 35 300, 20 25 45 500, 30 
20 50 600)))
+125    multipolygon-zm 
+126    multipolygon-zm MULTIPOLYGON ZM EMPTY
+127    geometrycollection-zm   GEOMETRYCOLLECTION ZM (POINT ZM (30 10 40 300))
+128    geometrycollection-zm   GEOMETRYCOLLECTION ZM (LINESTRING ZM (30 10 40 
300, 10 30 40 300, 40 40 80 1600))
+129    geometrycollection-zm   GEOMETRYCOLLECTION ZM (POLYGON ZM ((30 10 40 
300, 40 40 80 1600, 20 40 60 800, 10 20 30 200, 30 10 40 300)))
+130    geometrycollection-zm   GEOMETRYCOLLECTION ZM (MULTIPOINT ZM ((30 10 40 
300)))
+131    geometrycollection-zm   GEOMETRYCOLLECTION ZM (MULTILINESTRING ZM ((30 
10 40 300, 10 30 40 300, 40 40 80 1600)))
+132    geometrycollection-zm   GEOMETRYCOLLECTION ZM (MULTIPOLYGON ZM (((30 10 
40 300, 40 40 80 1600, 20 40 60 800, 10 20 30 200, 30 10 40 300))))
+133    geometrycollection-zm   GEOMETRYCOLLECTION ZM (POINT ZM (30 10 40 300), 
LINESTRING ZM (30 10 40 300, 10 30 40 300, 40 40 80 1600), POLYGON ZM ((30 10 
40 300, 40 40 80 1600, 20 40 60 800, 10 20 30 200, 30 10 40 300)), MULTIPOINT 
ZM ((30 10 40 300)), MULTILINESTRING ZM ((30 10 40 300, 10 30 40 300, 40 40 80 
1600)), MULTIPOLYGON ZM (((30 10 40 300, 40 40 80 1600, 20 40 60 800, 10 20 30 
200, 30 10 40 300))))
+134    geometrycollection-zm   
+135    geometrycollection-zm   GEOMETRYCOLLECTION ZM EMPTY
diff --git a/data/parsing/example.yaml b/data/parsing/example.yaml
new file mode 100644
index 0000000..260529d
--- /dev/null
+++ b/data/parsing/example.yaml
@@ -0,0 +1,249 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# These are the values used to generate the content of several other files.
+# Note that Z values are always calculated as X + Y and M values are always
+# calculated as Z * Y for the purposes of this example data.
+
+# Individual row groups for each geometry type/dimensions combination.
+# Each contains at least two non-empty items, a null, and an EMPTY.
+point:
+  - POINT (30 10)
+  - POINT (40 20)
+  - null
+  - POINT EMPTY
+
+linestring:
+  - LINESTRING (30 10, 10 30, 40 40)
+  - LINESTRING (40 20, 20 40, 50 50)
+  - null
+  - LINESTRING EMPTY
+
+polygon:
+  - POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
+  - POLYGON ((35 10, 45 45, 15 40, 10 20, 35 10), (20 30, 35 35, 30 20, 20 30))
+  - null
+  - POLYGON EMPTY
+
+multipoint:
+  - MULTIPOINT ((30 10))
+  - MULTIPOINT ((10 40), (40 30), (20 20), (30 10))
+  - null
+  - MULTIPOINT EMPTY
+
+multilinestring:
+  - MULTILINESTRING ((30 10, 10 30, 40 40))
+  - MULTILINESTRING ((10 10, 20 20, 10 40), (40 40, 30 30, 40 20, 30 10))
+  - null
+  - MULTILINESTRING EMPTY
+
+multipolygon:
+  - MULTIPOLYGON (((30 10, 40 40, 20 40, 10 20, 30 10)))
+  - MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 
15 5)))
+  - MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)), ((20 35, 10 30, 10 10, 30 5, 
45 20,
+    20 35), (30 20, 20 15, 20 25, 30 20)))
+  - null
+  - MULTIPOLYGON EMPTY
+
+geometrycollection:
+  - GEOMETRYCOLLECTION (POINT (30 10))
+  - GEOMETRYCOLLECTION (LINESTRING (30 10, 10 30, 40 40))
+  - GEOMETRYCOLLECTION (POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)))
+  - GEOMETRYCOLLECTION (MULTIPOINT ((30 10)))
+  - GEOMETRYCOLLECTION (MULTILINESTRING ((30 10, 10 30, 40 40)))
+  - GEOMETRYCOLLECTION (MULTIPOLYGON (((30 10, 40 40, 20 40, 10 20, 30 10))))
+  - GEOMETRYCOLLECTION (POINT (30 10), LINESTRING (30 10, 10 30, 40 40), 
POLYGON ((30
+    10, 40 40, 20 40, 10 20, 30 10)), MULTIPOINT ((30 10)), MULTILINESTRING 
((30 10,
+    10 30, 40 40)), MULTIPOLYGON (((30 10, 40 40, 20 40, 10 20, 30 10))))
+  - null
+  - GEOMETRYCOLLECTION EMPTY
+
+point-z:
+  - POINT Z (30 10 40)
+  - POINT Z (40 20 60)
+  - null
+  - POINT Z EMPTY
+
+linestring-z:
+  - LINESTRING Z (30 10 40, 10 30 40, 40 40 80)
+  - LINESTRING Z (40 20 60, 20 40 60, 50 50 100)
+  - null
+  - LINESTRING Z EMPTY
+
+polygon-z:
+  - POLYGON Z ((30 10 40, 40 40 80, 20 40 60, 10 20 30, 30 10 40))
+  - POLYGON Z ((35 10 45, 45 45 90, 15 40 55, 10 20 30, 35 10 45), (20 30 50, 
35 35
+    70, 30 20 50, 20 30 50))
+  - null
+  - POLYGON Z EMPTY
+
+multipoint-z:
+  - MULTIPOINT Z ((30 10 40))
+  - MULTIPOINT Z ((10 40 50), (40 30 70), (20 20 40), (30 10 40))
+  - null
+  - MULTIPOINT Z EMPTY
+
+multilinestring-z:
+  - MULTILINESTRING Z ((30 10 40, 10 30 40, 40 40 80))
+  - MULTILINESTRING Z ((10 10 20, 20 20 40, 10 40 50), (40 40 80, 30 30 60, 40 
20 60,
+    30 10 40))
+  - null
+  - MULTILINESTRING Z EMPTY
+
+multipolygon-z:
+  - MULTIPOLYGON Z (((30 10 40, 40 40 80, 20 40 60, 10 20 30, 30 10 40)))
+  - MULTIPOLYGON Z (((30 20 50, 45 40 85, 10 40 50, 30 20 50)), ((15 5 20, 40 
10 50,
+    10 20 30, 5 10 15, 15 5 20)))
+  - MULTIPOLYGON Z (((40 40 80, 20 45 65, 45 30 75, 40 40 80)), ((20 35 55, 10 
30 40,
+    10 10 20, 30 5 35, 45 20 65, 20 35 55), (30 20 50, 20 15 35, 20 25 45, 30 
20 50)))
+  - null
+  - MULTIPOLYGON Z EMPTY
+
+geometrycollection-z:
+  - GEOMETRYCOLLECTION Z (POINT Z (30 10 40))
+  - GEOMETRYCOLLECTION Z (LINESTRING Z (30 10 40, 10 30 40, 40 40 80))
+  - GEOMETRYCOLLECTION Z (POLYGON Z ((30 10 40, 40 40 80, 20 40 60, 10 20 30, 
30 10
+    40)))
+  - GEOMETRYCOLLECTION Z (MULTIPOINT Z ((30 10 40)))
+  - GEOMETRYCOLLECTION Z (MULTILINESTRING Z ((30 10 40, 10 30 40, 40 40 80)))
+  - GEOMETRYCOLLECTION Z (MULTIPOLYGON Z (((30 10 40, 40 40 80, 20 40 60, 10 
20 30,
+    30 10 40))))
+  - GEOMETRYCOLLECTION Z (POINT Z (30 10 40), LINESTRING Z (30 10 40, 10 30 
40, 40 40
+    80), POLYGON Z ((30 10 40, 40 40 80, 20 40 60, 10 20 30, 30 10 40)), 
MULTIPOINT
+    Z ((30 10 40)), MULTILINESTRING Z ((30 10 40, 10 30 40, 40 40 80)), 
MULTIPOLYGON
+    Z (((30 10 40, 40 40 80, 20 40 60, 10 20 30, 30 10 40))))
+  - null
+  - GEOMETRYCOLLECTION Z EMPTY
+
+point-m:
+  - POINT M (30 10 300)
+  - POINT M (40 20 800)
+  - null
+  - POINT M EMPTY
+
+linestring-m:
+  - LINESTRING M (30 10 300, 10 30 300, 40 40 1600)
+  - LINESTRING M (40 20 800, 20 40 800, 50 50 2500)
+  - null
+  - LINESTRING M EMPTY
+
+polygon-m:
+  - POLYGON M ((30 10 300, 40 40 1600, 20 40 800, 10 20 200, 30 10 300))
+  - POLYGON M ((35 10 350, 45 45 2025, 15 40 600, 10 20 200, 35 10 350), (20 
30 600,
+    35 35 1225, 30 20 600, 20 30 600))
+  - null
+  - POLYGON M EMPTY
+
+multipoint-m:
+  - MULTIPOINT M ((30 10 300))
+  - MULTIPOINT M ((10 40 400), (40 30 1200), (20 20 400), (30 10 300))
+  - null
+  - MULTIPOINT M EMPTY
+
+multilinestring-m:
+  - MULTILINESTRING M ((30 10 300, 10 30 300, 40 40 1600))
+  - MULTILINESTRING M ((10 10 100, 20 20 400, 10 40 400), (40 40 1600, 30 30 
900, 40
+    20 800, 30 10 300))
+  - null
+  - MULTILINESTRING M EMPTY
+
+multipolygon-m:
+  - MULTIPOLYGON M (((30 10 300, 40 40 1600, 20 40 800, 10 20 200, 30 10 300)))
+  - MULTIPOLYGON M (((30 20 600, 45 40 1800, 10 40 400, 30 20 600)), ((15 5 
75, 40 10
+    400, 10 20 200, 5 10 50, 15 5 75)))
+  - MULTIPOLYGON M (((40 40 1600, 20 45 900, 45 30 1350, 40 40 1600)), ((20 35 
700,
+    10 30 300, 10 10 100, 30 5 150, 45 20 900, 20 35 700), (30 20 600, 20 15 
300, 20
+    25 500, 30 20 600)))
+  - null
+  - MULTIPOLYGON M EMPTY
+
+geometrycollection-m:
+  - GEOMETRYCOLLECTION M (POINT M (30 10 300))
+  - GEOMETRYCOLLECTION M (LINESTRING M (30 10 300, 10 30 300, 40 40 1600))
+  - GEOMETRYCOLLECTION M (POLYGON M ((30 10 300, 40 40 1600, 20 40 800, 10 20 
200, 30
+    10 300)))
+  - GEOMETRYCOLLECTION M (MULTIPOINT M ((30 10 300)))
+  - GEOMETRYCOLLECTION M (MULTILINESTRING M ((30 10 300, 10 30 300, 40 40 
1600)))
+  - GEOMETRYCOLLECTION M (MULTIPOLYGON M (((30 10 300, 40 40 1600, 20 40 800, 
10 20
+    200, 30 10 300))))
+  - GEOMETRYCOLLECTION M (POINT M (30 10 300), LINESTRING M (30 10 300, 10 30 
300, 40
+    40 1600), POLYGON M ((30 10 300, 40 40 1600, 20 40 800, 10 20 200, 30 10 
300)),
+    MULTIPOINT M ((30 10 300)), MULTILINESTRING M ((30 10 300, 10 30 300, 40 
40 1600)),
+    MULTIPOLYGON M (((30 10 300, 40 40 1600, 20 40 800, 10 20 200, 30 10 
300))))
+  - null
+  - GEOMETRYCOLLECTION M EMPTY
+
+point-zm:
+  - POINT ZM (30 10 40 300)
+  - POINT ZM (40 20 60 800)
+  - null
+  - POINT ZM EMPTY
+
+linestring-zm:
+  - LINESTRING ZM (30 10 40 300, 10 30 40 300, 40 40 80 1600)
+  - LINESTRING ZM (40 20 60 800, 20 40 60 800, 50 50 100 2500)
+  - null
+  - LINESTRING ZM EMPTY
+
+polygon-zm:
+  - POLYGON ZM ((30 10 40 300, 40 40 80 1600, 20 40 60 800, 10 20 30 200, 30 
10 40 300))
+  - POLYGON ZM ((35 10 45 350, 45 45 90 2025, 15 40 55 600, 10 20 30 200, 35 
10 45 350),
+    (20 30 50 600, 35 35 70 1225, 30 20 50 600, 20 30 50 600))
+  - null
+  - POLYGON ZM EMPTY
+
+multipoint-zm:
+  - MULTIPOINT ZM ((30 10 40 300))
+  - MULTIPOINT ZM ((10 40 50 400), (40 30 70 1200), (20 20 40 400), (30 10 40 
300))
+  - null
+  - MULTIPOINT ZM EMPTY
+
+multilinestring-zm:
+  - MULTILINESTRING ZM ((30 10 40 300, 10 30 40 300, 40 40 80 1600))
+  - MULTILINESTRING ZM ((10 10 20 100, 20 20 40 400, 10 40 50 400), (40 40 80 
1600,
+    30 30 60 900, 40 20 60 800, 30 10 40 300))
+  - null
+  - MULTILINESTRING ZM EMPTY
+
+multipolygon-zm:
+  - MULTIPOLYGON ZM (((30 10 40 300, 40 40 80 1600, 20 40 60 800, 10 20 30 
200, 30 10
+    40 300)))
+  - MULTIPOLYGON ZM (((30 20 50 600, 45 40 85 1800, 10 40 50 400, 30 20 50 
600)), ((15
+    5 20 75, 40 10 50 400, 10 20 30 200, 5 10 15 50, 15 5 20 75)))
+  - MULTIPOLYGON ZM (((40 40 80 1600, 20 45 65 900, 45 30 75 1350, 40 40 80 
1600)),
+    ((20 35 55 700, 10 30 40 300, 10 10 20 100, 30 5 35 150, 45 20 65 900, 20 
35 55
+    700), (30 20 50 600, 20 15 35 300, 20 25 45 500, 30 20 50 600)))
+  - null
+  - MULTIPOLYGON ZM EMPTY
+
+geometrycollection-zm:
+  - GEOMETRYCOLLECTION ZM (POINT ZM (30 10 40 300))
+  - GEOMETRYCOLLECTION ZM (LINESTRING ZM (30 10 40 300, 10 30 40 300, 40 40 80 
1600))
+  - GEOMETRYCOLLECTION ZM (POLYGON ZM ((30 10 40 300, 40 40 80 1600, 20 40 60 
800, 10
+    20 30 200, 30 10 40 300)))
+  - GEOMETRYCOLLECTION ZM (MULTIPOINT ZM ((30 10 40 300)))
+  - GEOMETRYCOLLECTION ZM (MULTILINESTRING ZM ((30 10 40 300, 10 30 40 300, 40 
40 80
+    1600)))
+  - GEOMETRYCOLLECTION ZM (MULTIPOLYGON ZM (((30 10 40 300, 40 40 80 1600, 20 
40 60
+    800, 10 20 30 200, 30 10 40 300))))
+  - GEOMETRYCOLLECTION ZM (POINT ZM (30 10 40 300), LINESTRING ZM (30 10 40 
300, 10
+    30 40 300, 40 40 80 1600), POLYGON ZM ((30 10 40 300, 40 40 80 1600, 20 40 
60 800,
+    10 20 30 200, 30 10 40 300)), MULTIPOINT ZM ((30 10 40 300)), 
MULTILINESTRING ZM
+    ((30 10 40 300, 10 30 40 300, 40 40 80 1600)), MULTIPOLYGON ZM (((30 10 40 
300,
+    40 40 80 1600, 20 40 60 800, 10 20 30 200, 30 10 40 300))))
+  - null
+  - GEOMETRYCOLLECTION ZM EMPTY

Reply via email to