sibartlett / Geo

A geospatial library for .NET
https://www.nuget.org/packages/Geo/
GNU Lesser General Public License v3.0
176 stars 39 forks source link

Chicago WKT throws "Invalid WKT String" #30

Open percebus opened 7 years ago

percebus commented 7 years ago
var oWktReader = new WktReader();
string wktString = @"POLYGON ((-87.93939 41.98667, -87.93933 41.98729, -87.93906 41.98911, -87.93904 41.99125, -87.939 41.99286, -87.93892 41.99358, -87.93872 41.99456, -87.93848 41.9954, -87.93824 41.99608, -87.93802 41.99657, -87.93761 41.99741, -87.93717 41.99813, -87.93697 41.99844, -87.93649 41.9991, -87.93571 42.00005, -87.93535 42.00043, -87.93492 42.00086, -87.9346 42.00116, -87.93409 42.0016, -87.93354 42.00209, -87.93287 42.00254, -87.93201 42.00318, -87.93012 42.00454, -87.92949 42.00501, -87.92938 42.00473, -87.93017 42.00417, -87.93125 42.00341, -87.93153 42.00316, -87.93168 42.00286, -87.93169 42.00272, -87.93166 42.00237, -87.93156 42.00215, -87.93139 42.00197, -87.93001 42.00308, -87.92806 42.00466, -87.92634 42.00542, -87.92549 42.00606, -87.92452 42.00644, -87.92295 42.00678, -87.92106 42.00567, -87.91867 42.00531, -87.91549 42.00518, -87.91373 42.00488, -87.91371 42.00869, -87.91347 42.0087, -87.91342 42.0062, -87.91321 42.0062, -87.91319 42.00507, -87.90887 42.00525, -87.90771 42.00528, -87.90768 42.00892, -87.90686 42.00896, -87.90657 42.00897, -87.90482 42.00901, -87.90418 42.00904, -87.90187 42.00841, -87.90043 42.00803, -87.89895 42.00763, -87.89832 42.00745, -87.89772 42.00724, -87.89715 42.00703, -87.89657 42.00675, -87.89415 42.00562, -87.89415 42.00544, -87.89415 42.00496, -87.89414 42.00427, -87.89413 42.00318, -87.89413 42.00287, -87.89413 42.00259, -87.89413 42.00228, -87.89413 42.00218, -87.89413 42.00209, -87.89415 42.00167, -87.89414 42.00132, -87.89411 42.00112, -87.89406 42.00095, -87.89392 42.00067, -87.89377 42.00047, -87.89363 42.00032, -87.89345 42.00016, -87.89321 42.00001, -87.89281 41.99983, -87.89247 41.99973, -87.89223 41.99968, -87.8911 41.99953, -87.89086 41.99949, -87.89043 41.99943, -87.88996 41.99936, -87.88991 41.99935, -87.88917 41.99923, -87.88867 41.99915, -87.88803 41.99903, -87.88784 41.99899, -87.88773 41.99897, -87.88751 41.99892, -87.88723 41.99886, -87.88692 41.99879, -87.88682 41.99877, -87.8865 41.9987, -87.88595 41.99857, -87.88558 41.99849, -87.88525 41.99842, -87.88454 41.99826, -87.88452 41.99768, -87.88452 41.99727, -87.88452 41.99711, -87.88452 41.9969, -87.88451 41.99631, -87.88451 41.99613, -87.88451 41.99606, -87.88451 41.9958, -87.8845 41.99532, -87.88275 41.99536, -87.88068 41.99541, -87.88045 41.99543, -87.8798 41.99346, -87.87905 41.99122, -87.87831 41.98926, -87.87782 41.98781, -87.87736 41.98647, -87.87611 41.98269, -87.876 41.9823, -87.87591 41.98207, -87.87584 41.97667, -87.87582 41.97617, -87.87582 41.97614, -87.87582 41.97608, -87.87582 41.97602, -87.87582 41.97594, -87.87582 41.97563, -87.87582 41.97547, -87.87582 41.97525, -87.87582 41.97496, -87.87579 41.97462, -87.87578 41.97446, -87.87578 41.97435, -87.87578 41.97397, -87.87508 41.97395, -87.87328 41.97397, -87.87307 41.97396, -87.87289 41.97395, -87.87282 41.97395, -87.87236 41.97396, -87.87103 41.97398, -87.86973 41.974, -87.86954 41.974, -87.86943 41.974, -87.86893 41.97399, -87.86878 41.97399, -87.8686 41.97386, -87.86785 41.97375, -87.86729 41.9737, -87.86679 41.97372, -87.86541 41.9738, -87.86408 41.97385, -87.86369 41.97387, -87.86313 41.97389, -87.86306 41.97389, -87.86302 41.97389, -87.86242 41.97391, -87.86212 41.97395, -87.86214 41.97406, -87.86211 41.97478, -87.86195 41.97542, -87.86165 41.976, -87.86143 41.97626, -87.86009 41.97736, -87.85855 41.97879, -87.8573 41.97984, -87.85666 41.98032, -87.85635 41.98065, -87.85603 41.98105, -87.85596 41.98141, -87.85597 41.98187, -87.85637 41.98277, -87.85654 41.98341, -87.85611 41.98342, -87.85643 41.98421, -87.85652 41.98434, -87.85657 41.98465, -87.85655 41.98478, -87.85643 41.985, -87.85634 41.98516, -87.8564 41.98544, -87.85628 41.98575, -87.85606 41.98645, -87.85605 41.98651, -87.85564 41.98737, -87.85535 41.98804, -87.85536 41.98822, -87.8555 41.9884, -87.85556 41.98859, -87.85553 41.98878, -87.85563 41.98899, -87.85547 41.98894, -87.85504 41.98882, -87.85464 41.98873, -87.85416 41.98866, -87.85342 41.9886, -87.85305 41.98858, -87.85278 41.98857, -87.85233 41.98855, -87.85184 41.98854, -87.85121 41.98849, -87.85009 41.98838, -87.84953 41.98831, -87.8492 41.98826, -87.84897 41.98822, -87.84831 41.98811, -87.84796 41.98805, -87.84746 41.98798, -87.84731 41.98796, -87.84647 41.98784, -87.84536 41.98767, -87.84488 41.98761, -87.84418 41.98751, -87.84332 41.98738, -87.84302 41.98733, -87.84149 41.98709, -87.84068 41.98698, -87.83937 41.9868, -87.83903 41.98675, -87.83846 41.98666, -87.83761 41.98653, -87.83728 41.98648, -87.8366 41.98638, -87.83611 41.98631, -87.83593 41.98628, -87.83527 41.98619, -87.83482 41.98612, -87.83401 41.98603, -87.8328 41.98587, -87.83159 41.98568, -87.83037 41.9855, -87.82917 41.98534, -87.82794 41.98515, -87.82744 41.98507, -87.82671 41.98495, -87.82547 41.98477, -87.82471 41.98466, -87.82428 41.9846, -87.82368 41.98452, -87.82333 41.98447, -87.8233 41.98464, -87.82324 41.98498, -87.82322 41.98512, -87.82316 41.98579, -87.8231 41.98622, -87.82303 41.98666, -87.82301 41.98681, -87.82297 41.98711, -87.82292 41.98…58 41.95371, -87.8073 41.95384, -87.80702 41.95398, -87.80637 41.9543, -87.80602 41.95447, -87.8057 41.95463, -87.80529 41.95483, -87.80499 41.95498, -87.8042 41.95538, -87.80373 41.95561, -87.80322 41.95586, -87.80269 41.9561, -87.80236 41.95625, -87.80185 41.95648, -87.80136 41.9567, -87.80063 41.95705, -87.80016 41.95727, -87.7994 41.95765, -87.79894 41.95788, -87.79827 41.95819, -87.79766 41.95848, -87.79719 41.9587, -87.79697 41.9588, -87.79651 41.95902, -87.79608 41.95923, -87.79513 41.95969, -87.79481 41.95984, -87.79453 41.95997, -87.79417 41.96013, -87.79361 41.96008, -87.79346 41.96008, -87.79261 41.9601, -87.79186 41.96012, -87.79167 41.96012, -87.79045 41.96014, -87.78991 41.96015, -87.78958 41.96015, -87.78924 41.96016, -87.78828 41.96018, -87.78801 41.96019, -87.78732 41.9602, -87.78681 41.9602, -87.78682 41.96052, -87.78682 41.96067, -87.78683 41.96096, -87.78687 41.96204, -87.78687 41.96221, -87.78688 41.96254, -87.78692 41.96293, -87.78685 41.96337, -87.78677 41.96346, -87.78673 41.96356, -87.78675 41.96371, -87.78674 41.96464, -87.78673 41.96517, -87.78673 41.96651, -87.78675 41.96703, -87.78676 41.96747, -87.78675 41.96843, -87.78801 41.96841, -87.788 41.96892, -87.7892 41.96893, -87.79044 41.96891, -87.79104 41.96892, -87.79165 41.96892, -87.79284 41.96889, -87.79406 41.96887, -87.79529 41.96887, -87.79649 41.96886, -87.79771 41.96885, -87.79891 41.96885, -87.80012 41.96883, -87.80132 41.96883, -87.80252 41.96883, -87.80253 41.96831, -87.80368 41.9683, -87.80388 41.9683, -87.80486 41.9683, -87.80546 41.96829, -87.80549 41.96829, -87.80602 41.96829, -87.80627 41.96828, -87.80648 41.96828, -87.80718 41.96827, -87.80718 41.96834, -87.80718 41.96886, -87.80718 41.96908, -87.80713 41.97008, -87.80711 41.9709, -87.80709 41.97187, -87.80707 41.97273, -87.80705 41.97368, -87.80705 41.97393, -87.80705 41.97425, -87.80704 41.97454, -87.80789 41.97455, -87.80829 41.97455, -87.8095 41.97447, -87.8105 41.97445, -87.81076 41.97444, -87.81137 41.97443, -87.81144 41.97443, -87.812 41.97441, -87.81258 41.9744, -87.81321 41.97438, -87.81443 41.97435, -87.81567 41.97432, -87.81646 41.97431, -87.8169 41.9743, -87.81691 41.97384, -87.81691 41.97353, -87.81691 41.97338, -87.81691 41.97249, -87.81692 41.97157, -87.81692 41.971, -87.81693 41.97066, -87.81842 41.97066, -87.81939 41.97069, -87.81943 41.97081, -87.81943 41.97094, -87.81943 41.97192, -87.81942 41.97346, -87.8194 41.97421, -87.82183 41.97415, -87.82222 41.97414, -87.82383 41.9741, -87.82472 41.97409, -87.82535 41.97407, -87.82575 41.97406, -87.82609 41.97405, -87.82674 41.97403, -87.82674 41.97352, -87.82673 41.97313, -87.83171 41.97307, -87.83173 41.97377, -87.83236 41.9738, -87.83236 41.97393, -87.83287 41.97393, -87.83354 41.97392, -87.83359 41.975, -87.83359 41.97531, -87.83357 41.97536, -87.83355 41.9754, -87.83662 41.97536, -87.83662 41.97524, -87.83663 41.97496, -87.83662 41.9748, -87.84137 41.97478, -87.84137 41.9738, -87.841 41.9738, -87.83947 41.97383, -87.83904 41.97384, -87.83837 41.97386, -87.83781 41.97386, -87.83783 41.97118, -87.83664 41.97116, -87.83671 41.971, -87.83673 41.97086, -87.83673 41.97069, -87.83674 41.97022, -87.8373 41.97022, -87.83787 41.97021, -87.83841 41.9702, -87.83853 41.97019, -87.8391 41.97017, -87.84035 41.97014, -87.84102 41.97014, -87.84156 41.97013, -87.84149 41.97197, -87.84651 41.972, -87.84652 41.97128, -87.84654 41.97005, -87.84657 41.96823, -87.84657 41.96695, -87.84657 41.96643), (-87.83493 41.98116, -87.83434 41.98115, -87.83433 41.98082, -87.8349 41.9808, -87.83492 41.98056, -87.83313 41.98061, -87.82928 41.98074, -87.82901 41.98074, -87.82907 41.98024, -87.8291 41.97989, -87.82869 41.97989, -87.82866 41.97951, -87.82825 41.97949, -87.82826 41.97934, -87.82864 41.97937, -87.82867 41.97883, -87.82866 41.97844, -87.8293 41.97841, -87.83032 41.97835, -87.83031 41.97804, -87.83029 41.97754, -87.82953 41.97757, -87.82949 41.97733, -87.82941 41.97693, -87.83173 41.9769, -87.83339 41.97688, -87.83345 41.9764, -87.8335 41.97589, -87.83173 41.97591, -87.82676 41.97594, -87.82445 41.97591, -87.82436 41.97655, -87.82432 41.97683, -87.82425 41.97744, -87.82422 41.97771, -87.82415 41.97816, -87.82409 41.97862, -87.82407 41.97889, -87.82399 41.97952, -87.82386 41.98045, -87.82379 41.98096, -87.82374 41.98136, -87.82365 41.98201, -87.82362 41.98227, -87.82359 41.98252, -87.82353 41.9831, -87.82505 41.98307, -87.82521 41.98306, -87.82515 41.98192, -87.82678 41.98189, -87.82678 41.9817, -87.82813 41.98174, -87.82814 41.98378, -87.8291 41.98375, -87.82961 41.98374, -87.83009 41.98374, -87.8311 41.98373, -87.83209 41.98371, -87.83298 41.98369, -87.83306 41.98366, -87.83308 41.9836, -87.83308 41.98324, -87.83307 41.98276, -87.83431 41.98276, -87.83493 41.98276, -87.83493 41.98116), (-87.69615 41.69896, -87.69589 41.69161, -87.69574 41.69162, -87.69531 41.69163, -87.69349 41.69165, -87.69331 41.69165, -87.69094 41.69168, -87.69099 41.69351, -87.69106 41.69533, -87.69112 41.69716, -87.69118 41.69899, -87.69615 41.69896))";

// throws "Invalid WKT String"
IGeometry oGeometry = oWktReader.Read(wktString);