# 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 the geospatial.parquet
# file, with each item here comprising a row group in the output. (See
# README.md for further description of geospatial.parquet). 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.

# Contains one non-empty geometry of every geometry type/dimensions combination
all:
- 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)))
- 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))))
- 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)))
- 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))))
- 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)))
- 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))))
- 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)))
- 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))))

# Contains one empty geometry of every geometry type/dimensions combination
empty-geometries:
- POINT EMPTY
- LINESTRING EMPTY
- POLYGON EMPTY
- MULTIPOINT EMPTY
- MULTILINESTRING EMPTY
- MULTIPOLYGON EMPTY
- GEOMETRYCOLLECTION EMPTY
- POINT Z EMPTY
- LINESTRING Z EMPTY
- POLYGON Z EMPTY
- MULTIPOINT Z EMPTY
- MULTILINESTRING Z EMPTY
- MULTIPOLYGON Z EMPTY
- GEOMETRYCOLLECTION Z EMPTY
- POINT M EMPTY
- LINESTRING M EMPTY
- POLYGON M EMPTY
- MULTIPOINT M EMPTY
- MULTILINESTRING M EMPTY
- MULTIPOLYGON M EMPTY
- GEOMETRYCOLLECTION M EMPTY
- POINT ZM EMPTY
- LINESTRING ZM EMPTY
- POLYGON ZM EMPTY
- MULTIPOINT ZM EMPTY
- MULTILINESTRING ZM EMPTY
- MULTIPOLYGON ZM EMPTY
- GEOMETRYCOLLECTION ZM EMPTY

# Contains only null values
null-geometries:
- null
- null
- null
- null

# 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
