QGIS/tests/testdata/wkt_data.csv
Nyall Dawson 55c27ce710 Add some extra unit tests for geometry:
- Add some tests for conversion to/from WKT, using a bulk lot of testsdata
from PostGIS
- Add some tests for area/length calculation, using some test data and
results from PostGIS/geos unit tests
- Add tests for spatial relations, using test data from PostGIS. Note
that this required adding support for calculating the DE-9IM relation. I'll
expose this to users via the expression engine in 2.14.

Along the way this also fixes a number of bugs relating to WKT geometry
import, such as
- add support for alternate MultiPoint(1 1,2 2,...) format
- fix GeometryCollection to support collections with multi* children
and GeometryCollection children (allowed by spec)
2015-10-16 17:46:06 +11:00

58 lines
10 KiB
CSV

Point (1 2)
PointZ (1 2 3)
LineString (0 0, 1 1, 2 2, 3 3 , 4 4)
LineStringZ (0 0 0 , 1 1 1 , 2 2 2 , 3 3 3, 4 4 4)
LineString M (1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15)|LineStringM (1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15)
Polygon ((0 0, 10 0, 10 10, 0 10, 0 0))
PolygonZ ((0 0 1 , 10 0 1, 10 10 1, 0 10 1, 0 0 1))
Polygon ((0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5))
Polygon ((0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5),(1 1,2 1, 2 2, 1 2, 1 1))
PolygonZ ((0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1 , 5 7 1, 5 5 1))
PolygonM ((0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1))
GeometryCollection (Point (1 2))
GeometryCollection (PointZ (1 2 3))
GeometryCollection (LineString (0 0, 1 1, 2 2, 3 3 , 4 4))
GeometryCollection (LineStringZ (1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15))
GeometryCollection (PolygonZ ((0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1 , 5 7 1, 5 5 1)))
GeometryCollection (PointZ (1 2 0),PointZ (1 2 3))
GeometryCollection (LineStringZ (0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),PointZ (1 2 3))
GeometryCollection (Point (1 2),LineString (0 0, 1 1, 2 2, 3 3 , 4 4))
GeometryCollection (PointZ (1 2 0),PointZ (1 2 3),LineStringZ (1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15))
GeometryCollection (PointZ (1 2 0),PointZ (1 2 3),LineStringZ (1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15),PolygonZ ((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)))
GeometryCollection (PointM (1 2 0),PointM (1 2 3),PolygonM ((0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1)))
MultiPoint (1 2)|MultiPoint ((1 2))
MultiPointZ (1 2 3)|MultiPointZ ((1 2 3))
MultiPoint Z (1 2 3)|MultiPointZ ((1 2 3))
MultiPoint (1 2, 3 4, 5 6)|MultiPoint ((1 2),(3 4),(5 6))
MultiPointZ (1 2 3, 5 6 7, 8 9 10, 11 12 13)|MultiPointZ ((1 2 3), (5 6 7), (8 9 10), (11 12 13))
MultiPointZ (1 2 0, 1 2 3, 4 5 0, 6 7 8)|MultiPointZ ((1 2 0),(1 2 3),(4 5 0),(6 7 8))
MultiPointM (1 2 3,4 5 0)|MultiPointM ((1 2 3),(4 5 0))
MultiLineString ((0 0, 1 1, 2 2, 3 3 , 4 4))
MultiLineString ((0 0, 1 1, 2 2, 3 3 , 4 4),(0 0, 1 1, 2 2, 3 3 , 4 4))
MultiLineStringZ ((0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15))
MultiLineStringM ((1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0 , 4 4 0))
MultiPolygon (((0 0, 10 0, 10 10, 0 10, 0 0)))
MultiPolygon (((0 0, 10 0, 10 10, 0 10, 0 0)),((0 0, 10 0, 10 10, 0 10, 0 0),(5 5, 7 5, 7 7 , 5 7, 5 5)))
MultiPolygonZ (((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0)) ,((0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1)))
GeometryCollection (MultiPoint ((1 2)))
GeometryCollection (MultiPoint (1 2))|GeometryCollection (MultiPoint ((1 2)))
GeometryCollection (MultiPointZ ((1 2 3)))
GeometryCollection (MultiPointM ((1 2 3),(5 6 7),(8 9 10),(11 12 13)))
GeometryCollection (MultiLineString ((0 0, 1 1, 2 2, 3 3 , 4 4)))
GeometryCollection (MultiLineStringZ ((1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0)))
GeometryCollection (MultiPolygonZ (((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0)) ,((0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1))))
GeometryCollection (PointZ (1 2 0),MultiPointZ ((1 2 3)))
GeometryCollection (MultiPointZ ((1 2 0),(3 4 0),(5 6 0)),PointZ (1 2 3))
GeometryCollection (PointZ (1 2 3),MultiLineStringZ ((0 0 0, 1 1 0, 2 2 0, 3 3 0 , 4 4 0)))
GeometryCollection (MultiLineStringM ((0 0 0, 1 1 0, 2 2 0, 3 3 0 , 4 4 0)),PointM (1 2 3))
GeometryCollection (PointM (1 2 3), MultiPolygonM (((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0)) ,((0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1))))
GeometryCollection (MultiPolygonZ (((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0)),((0 0 0, 10 0 0, 10 10 0, 0 10 0, 0 0 0),(5 5 0, 7 5 0, 7 7 0, 5 7 0, 5 5 0)) ,((0 0 1, 10 0 1, 10 10 1, 0 10 1, 0 0 1),(5 5 1, 7 5 1, 7 7 1, 5 7 1, 5 5 1),(1 1 1,2 1 1, 2 2 1, 1 2 1, 1 1 1))),MultiLineStringZ ((0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(0 0 0, 1 1 0, 2 2 0, 3 3 0, 4 4 0),(1 2 3 , 4 5 6 , 7 8 9 , 10 11 12, 13 14 15)),MultiPointZ ((1 2 3),(5 6 7),(8 9 10),(11 12 13)))
MultiPointZ ((-1 -2 -3),(5.4 6.6 7.77),(-5.4 -6.6 -7.77),(1000000 0.000001 -1000000),(-0.0000013 -0.000014 0))
GeometryCollection (GeometryCollection (Point (1 1)))
MultiPolygon (((0 0, 1 0, 1 1, 2 1, 2 2, 0 2, 0 0)),((4 0, 5 0, 5 2, 3 2, 3 1, 4 1, 4 0)))
MultiLineString ((0 0, 1 0, 1 1, 2 1, 2 0), (3 1, 5 1, 5 0, 6 0))
MultiPoint ((10 30),(40 20),(30 10),(20 10))
GeometryCollection (Point (10 10),Point (30 30),LineString (15 15, 20 20))
MultiCurve (CircularString (90 232, 95 230, 100 232),CircularString (90 232, 95 234, 100 232))
MultiPoint ((539.303406 376.058716),(202.25177 22.0542946),(360.907745 488.519318),(561.954895 76.2742081),(154.161743 784.542969),(961.448181 265.013519),(355.182983 775.852173),(823.602844 939.744446),(432.967377 580.047791),(569.839905 466.251007),(400.788818 579.457703),(498.164032 892.853394),(90.925972 74.5945358),(937.808044 107.329208),(792.148743 134.400589),(410.748444 182.218704),(623.001282 447.977661),(214.111847 333.964111),(327.100952 558.144409),(835.091187 152.088226),(91.1712952 582.239929),(167.555328 774.574402),(296.461884 564.938721),(22.6981888 636.175415),(522.965576 460.605499),(245.920334 375.651672),(824.218018 933.539185),(690.468262 484.912048),(62.4769707 606.037964),(538.947266 829.757385),(342.720215 486.9841),(659.05127 449.480621),(468.913818 726.164551),(21.3789902 962.020752),(169.164978 881.588318),(844.492004 950.955933),(887.039612 138.658813),(931.610901 620.402039),(516.90918 547.65625),(115.101707 829.415527),(808.023071 806.663513),(800.930237 646.683777),(432.439789 305.206635),(607.203369 367.557068),(95.8279419 151.868607),(608.403564 156.262894),(34.7034264 639.695679),(19.0910854 186.239166),(161.639984 719.650146),(993.771851 320.295135),(306.24765 642.472839),(214.154129 849.746155),(908.833374 532.969971),(245.426346 805.165344),(560.922668 447.046082),(259.54953 750.738281),(728.799622 308.585693),(338.224823 824.543701),(562.591248 677.916565),(346.695465 429.80896),(555.816528 927.624451),(410.22644 927.48468),(285.173706 251.402985),(20.3341484 511.824127),(14.0441942 782.62323),(227.897659 330.023712),(63.8606339 591.848694),(918.329712 768.499817),(782.263184 944.173462),(140.104019 15.0379257),(752.330994 431.626984),(861.06842 84.70327),(206.979828 259.0672),(490.742828 514.62384),(736.356506 163.352524),(356.393738 737.188232),(501.924622 269.110382),(895.792358 176.885895),(725.220642 941.508057),(514.996521 26.8358841),(808.467102 543.12439),(312.312073 625.657776),(141.567902 328.815369),(222.88884 839.139771),(367.318542 247.230972),(593.597229 839.737488),(195.682236 66.0508499),(300.797516 965.800354),(745.639404 254.730835),(677.694885 764.514832),(71.0039902 280.733887),(187.53656 255.77182),(863.914246 399.214844),(569.371338 326.312439),(741.082825 916.226746),(383.652771 836.307373),(368.087097 600.257874),(665.772766 347.130188),(146.953033 894.97467),(15.1230125 577.084045),(201.415878 149.952896),(345.454834 587.149048),(611.352905 481.008514),(398.82843 452.948547),(231.534149 781.762085),(144.537552 531.066895),(509.70874 577.714233),(465.896637 142.540543),(871.59198 779.846741),(776.939697 747.945251),(270.703461 472.468018),(326.22049 650.827698),(495.162415 48.1516571),(953.307678 560.460388),(518.56488 526.917358),(745.205017 249.475021),(280.477173 243.558395),(721.309692 256.589935),(664.365234 915.773376),(883.716125 209.00119),(96.4160156 873.189087),(453.728973 380.506256),(839.233643 30.4432583),(402.696503 429.607422),(214.494003 10.2854099),(660.671021 384.58017),(125.967995 167.075745),(124.848274 814.654907),(600.635254 616.64624),(381.469879 598.568604),(428.29071 631.691528),(400.269836 384.491455),(287.107544 564.576416),(826.41925 549.525696),(661.548218 17.5187492),(355.063354 422.160858),(787.2323 254.162811),(344.51239 844.352722),(682.794006 934.116943),(402.53363 158.666504),(676.035645 516.987366),(233.291061 411.919312),(361.635864 661.943787),(996.984253 419.595581),(553.327515 496.442352),(899.898621 844.921021),(486.355713 338.953033),(200.831436 611.956909),(629.789551 542.505737),(689.316711 999.294739),(778.430725 543.296509),(496.329987 200.955261),(705.813416 656.342773),(104.723434 86.634613),(938.679871 256.089569),(593.905029 282.752289),(237.417419 538.641724),(306.227753 172.306824),(456.72821 518.266663),(929.652588 859.178101),(561.70929 127.188683),(608.059326 756.375793),(340.898712 191.245483),(977.000122 274.210052),(909.762268 440.401886),(215.381943 569.15155),(203.001343 376.312714),(554.770813 950.177185),(42.4043541 233.243973),(879.367432 782.647034),(371.959473 626.37262),(343.671356 910.149414),(868.331726 118.018051),(243.24202 838.093079),(328.882599 450.9375),(106.714943 472.397095),(136.96994 518.739441),(878.782349 152.352829),(494.822784 818.610901),(405.715668 498.951141),(674.003235 656.309204),(41.8900528 315.685242),(837.223877 969.888123),(324.15329 493.94043),(188.145676 233.150452),(574.462769 395.249756),(304.339478 463.093872),(70.5499802 699.04248),(522.261719 109.899307),(754.97168 543.561096),(452.937531 825.854797),(823.645203 135.056519),(433.872681 899.562561),(10.9722977 59.1961517),(929.370239 675.478882),(540.960754 682.530151),(569.480591 497.205322),(645.846619 972.424316),(465.943237 646.239075),(145.657669 926.754517),(650.359558 378.950714),(252.396179 223.450562),(626.004456 902.241394),(928.477539 467.246002),(43.9169235 437.142944),(218.57254 938.098022),(603.757202 411.649445),(520.093689 946.48877),(529.62323 738.028931),(419.608765 647.352173),(362.620941 164.534119),(353.669739 563.891174),(265.594788 284.876984),(301.668152 546.184021),(512.570129 366.966553),(678.112488 476.269714),(639.245789 613.000977),(199.786819 915.770325),(573.011536 517.767029),(178.431015 344.104218),(2.09698439 80.6630325),(229.39032 408.046265),(989.05957 651.094788),(786.268677 384.177032),(428.732544 443.063232),(676.909607 42.7332535),(220.863785 741.01123),(195.797226 338.137268),(750.47583 912.89447),(727.516113 265.466339),(803.679749 890.889465),(443.466827 850.095947),(756.343933 141.870956),(63.604023 342.635895))