Opened 7 years ago

Last modified 7 years ago

#29239 closed Bug

GEOSGeometry treats WKB and WKT input differently (former fails) — at Initial Version

Reported by: MatBurnham Owned by: nobody
Component: GIS Version: 2.0
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I've been trying to load an OpenStreetMap-derived multipolygon geometry from PostGIS but it fails due to trying to incorrectly load a non-closed shape into GeoDjango as a LinearRing. In trying to create a GEOSGeometry object manually from the same data, I identified a difference depending on the format presented - hex-encoded WKB fails in the way described; the same shape pre-converted in PostGIS to WKT works fine.

>>> from django.contrib.gis.geos import GEOSGeometry
>>> wkt = 'MULTIPOLYGON(((-0.45747735963738 51.4742768635629 0 -1.79769313486232e+308,-0.457470821752906 51.474364454451 0 -1.79769313486232e+308,-0.452403039275168 51.4743796256958 0 -1.79769313486232e+308,-0.452246046228737 51.4742687331168 0 -1.79769313486232e+308,-0.452112857787284 51.4742487841872 0 -1.79769313486232e+308,-0.451990649639015 51.4742207886306 0 -1.79769313486232e+308,-0.451845642714119 51.4741605227468 0 -1.79769313486232e+308,-0.451582534773507 51.4742741813538 0 -1.79769313486232e+308,-0.451456303311716 51.4741789629338 0 -1.79769313486232e+308,-0.450938804609791 51.4744128180323 0 -1.79769313486232e+308,-0.450789858190376 51.4743100558994 0 -1.79769313486232e+308,-0.450504957301519 51.4744324316858 0 -1.79769313486232e+308,-0.450413426918857 51.474364454451 0 -1.79769313486232e+308,-0.450372439412348 51.4743808829813 0 -1.79769313486232e+308,-0.450428346706502 51.4744274863629 0 -1.79769313486232e+308,-0.450302031425679 51.4744810467242 0 -1.79769313486232e+308,-0.450105475796278 51.4743131572036 0 -1.79769313486232e+308,-0.449894754750488 51.4744009995489 0 -1.79769313486232e+308,-0.44991193765199 51.4744175957171 0 -1.79769313486232e+308,-0.449809762252301 51.4744640314607 0 -1.79769313486232e+308,-0.449963905451682 51.4746087869285 0 -1.79769313486232e+308,-0.449909674538134 51.4746315857052 0 -1.79769313486232e+308,-0.450032469419625 51.4746683822601 0 -1.79769313486232e+308,-0.449577751172455 51.4748623394995 0 -1.79769313486232e+308,-0.448971236658821 51.4748638482421 0 -1.79769313486232e+308,-0.448931925532946 51.4748438993126 0 -1.79769313486232e+308,-0.448518949163599 51.4748311588197 0 -1.79769313486232e+308,-0.448473100153223 51.4748489284545 0 -1.79769313486232e+308,-0.447686709997498 51.4748498504638 0 -1.79769313486232e+308,-0.447684782159769 51.4748206814408 0 -1.79769313486232e+308,-0.448265983325825 51.4748150655657 0 -1.79769313486232e+308,-0.448188869816619 51.4747476750641 0 -1.79769313486232e+308,-0.448222229791241 51.4747361918568 0 -1.79769313486232e+308,-0.448208148193913 51.4747211882501 0 -1.79769313486232e+308,-0.448329434332834 51.4746639398514 0 -1.79769313486232e+308,-0.448478213114157 51.4747982179402 0 -1.79769313486232e+308,-0.448560355765267 51.4748005648731 0 -1.79769313486232e+308,-0.448630512294841 51.4747671210795 0 -1.79769313486232e+308,-0.44869547204442 51.4747617566615 0 -1.79769313486232e+308,-0.448988754836478 51.4746377883135 0 -1.79769313486232e+308,-0.448919436497221 51.4745831383048 0 -1.79769313486232e+308,-0.448959082899222 51.4745629379182 0 -1.79769313486232e+308,-0.448913736803064 51.4745073659001 0 -1.79769313486232e+308,-0.448979702381024 51.4744776939629 0 -1.79769313486232e+308,-0.44899328106419 51.4744893448083 0 -1.79769313486232e+308,-0.449082129237809 51.474446178007 0 -1.79769313486232e+308,-0.449221352649516 51.4745348585425 0 -1.79769313486232e+308,-0.449859718395231 51.4742688169358 0 -1.79769313486232e+308,-0.449742120293706 51.4741538172243 0 -1.79769313486232e+308,-0.450747781036455 51.4737123423841 0 -1.79769313486232e+308,-0.450597912607719 51.4735824228849 0 -1.79769313486232e+308,-0.450489450780651 51.4736291939047 0 -1.79769313486232e+308,-0.450386101914518 51.4735359871414 0 -1.79769313486232e+308,-0.450340169085138 51.4734947481778 0 -1.79769313486232e+308,-0.450237071676099 51.4734032177951 0 -1.79769313486232e+308,-0.450144451646025 51.4734446243968 0 -1.79769313486232e+308,-0.449599963215888 51.4729609885837 0 -1.79769313486232e+308,-0.44955746696678 51.4729753216381 0 -1.79769313486232e+308,-0.449539948789152 51.4730110285456 0 -1.79769313486232e+308,-0.449296622140025 51.4729859666551 0 -1.79769313486232e+308,-0.449317409259891 51.4729425483967 0 -1.79769313486232e+308,-0.449414304060582 51.4729481642718 0 -1.79769313486232e+308,-0.4496235163638 51.4728537840421 0 -1.79769313486232e+308,-0.449577667353424 51.4728117907072 0 -1.79769313486232e+308,-0.4490152416505 51.4728396186257 0 -1.79769313486232e+308,-0.448546106529875 51.4724143208587 0 -1.79769313486232e+308,-0.446661603239363 51.4732164689924 0 -1.79769313486232e+308,-0.446573844713157 51.4731377629216 0 -1.79769313486232e+308,-0.446597146403974 51.4731254415239 0 -1.79769313486232e+308,-0.446417270761856 51.4729442247773 0 -1.79769313486232e+308,-0.447282702264516 51.4725660333061 0 -1.79769313486232e+308,-0.447199050870864 51.4724863214069 0 -1.79769313486232e+308,-0.447318744448182 51.4724346888834 0 -1.79769313486232e+308,-0.447397366699931 51.4725159933442 0 -1.79769313486232e+308,-0.447840182644597 51.4723224551999 0 -1.79769313486232e+308,-0.447756279793822 51.4722493650042 0 -1.79769313486232e+308,-0.447879745227567 51.4721940444433 0 -1.79769313486232e+308,-0.447955182356139 51.4722722475999 0 -1.79769313486232e+308,-0.448312335250364 51.4721253966563 0 -1.79769313486232e+308,-0.448221643058019 51.4720370513969 0 -1.79769313486232e+308,-0.448596146491809 51.4718800583504 0 -1.79769313486232e+308,-0.448618107078119 51.4719017674796 0 -1.79769313486232e+308,-0.448728580561948 51.4718698324285 0 -1.79769313486232e+308,-0.448689520893168 51.4718198762856 0 -1.79769313486232e+308,-0.448822625515561 51.4717667350195 0 -1.79769313486232e+308,-0.44895212591959 51.4717156892292 0 -1.79769313486232e+308,-0.448982803685226 51.4716820777975 0 -1.79769313486232e+308,-0.449061509756007 51.4716429343096 0 -1.79769313486232e+308,-0.448485002455726 51.4710908183476 0 -1.79769313486232e+308,-0.44844217093052 51.4710324803015 0 -1.79769313486232e+308,-0.448434962493792 51.4709904869666 0 -1.79769313486232e+308,-0.448435716865077 51.4709319812824 0 -1.79769313486232e+308,-0.448450469014659 51.4708951847275 0 -1.79769313486232e+308,-0.448487014112487 51.4708480784317 0 -1.79769313486232e+308,-0.448537221712513 51.4708072585632 0 -1.79769313486232e+308,-0.448617436525865 51.4707752396931 0 -1.79769313486232e+308,-0.448704021585655 51.4707529438307 0 -1.79769313486232e+308,-0.448797982720237 51.4707466574033 0 -1.79769313486232e+308,-0.448890435112247 51.4707567995061 0 -1.79769313486232e+308,-0.448979283285865 51.4707779219021 0 -1.79769313486232e+308,-0.449037956608095 51.4708112818767 0 -1.79769313486232e+308,-0.449277762857889 51.4710349948724 0 -1.79769313486232e+308,-0.449439030674938 51.47096249141 0 -1.79769313486232e+308,-0.449616056469978 51.4711134494862 0 -1.79769313486232e+308,-0.44964497403592 51.4711011280885 0 -1.79769313486232e+308,-0.449776737553805 51.4712282815596 0 -1.79769313486232e+308,-0.449945046169518 51.4711582926681 0 -1.79769313486232e+308,-0.450186444980915 51.4713919801286 0 -1.79769313486232e+308,-0.450379983125202 51.4713151180765 0 -1.79769313486232e+308,-0.4506282550972 51.4715716881327 0 -1.79769313486232e+308,-0.4511778564883 51.4721453455858 0 -1.79769313486232e+308,-0.452273455052108 51.4730494176621 0 -1.79769313486232e+308,-0.451827202527141 51.4732489907767 0 -1.79769313486232e+308,-0.451865926919794 51.473278830352 0 -1.79769313486232e+308,-0.451842541409945 51.4733169680114 0 -1.79769313486232e+308,-0.451965168653373 51.4733486516054 0 -1.79769313486232e+308,-0.452046305476102 51.473371282744 0 -1.79769313486232e+308,-0.452118138386311 51.4734265194859 0 -1.79769313486232e+308,-0.452142278267445 51.4734955863681 0 -1.79769313486232e+308,-0.452092405943546 51.4735753820863 0 -1.79769313486232e+308,-0.452008167816672 51.4736283557143 0 -1.79769313486232e+308,-0.452276304899186 51.4738751189438 0 -1.79769313486232e+308,-0.453158751665285 51.4736252544102 0 -1.79769313486232e+308,-0.453158332570126 51.4735598755654 0 -1.79769313486232e+308,-0.453204600675662 51.4734962569203 0 -1.79769313486232e+308,-0.453265872387846 51.4734602985557 0 -1.79769313486232e+308,-0.45335363091408 51.4734369968649 0 -1.79769313486232e+308,-0.453429570956814 51.4734339793797 0 -1.79769313486232e+308,-0.453517748578207 51.4734489829864 0 -1.79769313486232e+308,-0.453598550124809 51.4734870368268 0 -1.79769313486232e+308,-0.453649679734156 51.4735425250258 0 -1.79769313486232e+308,-0.453654708876059 51.4735573609944 0 -1.79769313486232e+308,-0.454359626932956 51.4735606299367 0 -1.79769313486232e+308,-0.454473620816117 51.4736019527193 0 -1.79769313486232e+308,-0.455187004595217 51.4742828985331 0 -1.79769313486232e+308,-0.456183026149318 51.4742819765238 0 -1.79769313486232e+308,-0.456179338111923 51.4740186171261 0 -1.79769313486232e+308,-0.45632292011328 51.4740188685832 0 -1.79769313486232e+308,-0.456327530160024 51.4740287592289 0 -1.79769313486232e+308,-0.456543615623843 51.4740274181244 0 -1.79769313486232e+308,-0.456544369995129 51.4742783723054 0 -1.79769313486232e+308,-0.45747735963738 51.4742768635629 0 -1.79769313486232e+308),(-0.455049373745112 51.4742607703088 0 -1.79769313486232e+308,-0.454368679388381 51.4736140226599 0 -1.79769313486232e+308,-0.454289135127283 51.4735876196649 0 -1.79769313486232e+308,-0.453638950898096 51.4735894636836 0 -1.79769313486232e+308,-0.453592347516462 51.4736633920696 0 -1.79769313486232e+308,-0.453530153794901 51.4737010268148 0 -1.79769313486232e+308,-0.453430912061322 51.4737263401624 0 -1.79769313486232e+308,-0.453351870714414 51.4737274298099 0 -1.79769313486232e+308,-0.453261765255291 51.4737086543467 0 -1.79769313486232e+308,-0.453202337561777 51.4736799882379 0 -1.79769313486232e+308,-0.452310167787999 51.4739295174953 0 -1.79769313486232e+308,-0.452337828068465 51.4740015180436 0 -1.79769313486232e+308,-0.452334223850102 51.4741041963575 0 -1.79769313486232e+308,-0.452295918552608 51.4741608580229 0 -1.79769313486232e+308,-0.452406643493532 51.4742569984523 0 -1.79769313486232e+308,-0.455049373745112 51.4742607703088 0 -1.79769313486232e+308)))'
>>> wkb = '01060000C00100000001030000C0020000008E0000000064931E4F47DDBF4020B11AB5BC49400000000000000000FFFFFFFFFFFFEFFF006493B23347DDBF442075F9B7BC49400000000000000000FFFFFFFFFFFFEFFF001093E02BF4DCBF4420B978B8BC49400000000000000000FFFFFFFFFFFFEFFF000E936699F1DCBF40207DD6B4BC49400000000000000000FFFFFFFFFFFFEFFF000A93C46AEFDCBF4020252FB4BC49400000000000000000FFFFFFFFFFFFEFFF000893306AEDDCBF40204D44B3BC49400000000000000000FFFFFFFFFFFFEFFF000693FC09EBDCBF3C20C14AB1BC49400000000000000000FFFFFFFFFFFFEFFF0002936EBAE6DCBF40203104B5BC49400000000000000000FFFFFFFFFFFFEFFF000093FAA8E4DCBF3C2071E5B1BC49400000000000000000FFFFFFFFFFFFEFFF00F8926E2EDCDCBF4420298FB9BC49400000000000000000FFFFFFFFFFFFEFFF00F492B4BDD9DCBF40202131B6BC49400000000000000000FFFFFFFFFFFFEFFF00F092BE12D5DCBF4420B133BABC49400000000000000000FFFFFFFFFFFFEFFF00EE92D692D3DCBF442075F9B7BC49400000000000000000FFFFFFFFFFFFEFFF00EE92ECE6D2DCBF44204583B8BC49400000000000000000FFFFFFFFFFFFEFFF00EE926AD1D3DCBF4420350ABABC49400000000000000000FFFFFFFFFFFFEFFF00EC929CBFD1DCBF482081CBBBBC49400000000000000000FFFFFFFFFFFFEFFF00EA923287CEDCBF4020254BB6BC49400000000000000000FFFFFFFFFFFFEFFF00E6925E13CBDCBF4420052CB9BC49400000000000000000FFFFFFFFFFFFEFFF00E692705BCBDCBF44203DB7B9BC49400000000000000000FFFFFFFFFFFFEFFF00E492E2AEC9DCBF4820C53CBBBC49400000000000000000FFFFFFFFFFFFEFFF00E8926835CCDCBF4C2011FBBFBC49400000000000000000FFFFFFFFFFFFEFFF00E692F251CBDCBF4C2051BAC0BC49400000000000000000FFFFFFFFFFFFEFFF00E892FC54CDDCBF4C20FDEEC1BC49400000000000000000FFFFFFFFFFFFEFFF00E092C2E1C5DCBF5420054AC8BC49400000000000000000FFFFFFFFFFFFEFFF00D692DAF1BBDCBF5420AD56C8BC49400000000000000000FFFFFFFFFFFFEFFF00D692F84CBBDCBF542055AFC7BC49400000000000000000FFFFFFFFFFFFEFFF00D092D288B4DCBF54207544C7BC49400000000000000000FFFFFFFFFFFFEFFF00CE9284C8B3DCBF542085D9C7BC49400000000000000000FFFFFFFFFFFFEFFF00C29228E6A6DCBF542041E1C7BC49400000000000000000FFFFFFFFFFFFEFFF00C29212DEA6DCBF542091ECC6BC49400000000000000000FFFFFFFFFFFFEFFF00CC92CE63B0DCBF542075BDC6BC49400000000000000000FFFFFFFFFFFFEFFF00CA925E20AFDCBF50202588C4BC49400000000000000000FFFFFFFFFFFFEFFF00CA924AACAFDCBF5020D127C4BC49400000000000000000FFFFFFFFFFFFEFFF00CA923A71AFDCBF5020F5A9C3BC49400000000000000000FFFFFFFFFFFFEFFF00CC92F06DB1DCBF4C20B9C9C1BC49400000000000000000FFFFFFFFFFFFEFFF00CE92F6DDB3DCBF50202130C6BC49400000000000000000FFFFFFFFFFFFEFFF00D0927E36B5DCBF5020D143C6BC49400000000000000000FFFFFFFFFFFFEFFF00D292C05CB6DCBF5020452BC5BC49400000000000000000FFFFFFFFFFFFEFFF00D292366DB7DCBF502045FEC4BC49400000000000000000FFFFFFFFFFFFEFFF00D892543BBCDCBF4C2059EEC0BC49400000000000000000FFFFFFFFFFFFEFFF00D6929618BBDCBF4C20E923BFBC49400000000000000000FFFFFFFFFFFFEFFF00D692E0BEBBDCBF4820757ABEBC49400000000000000000FFFFFFFFFFFFEFFF00D692AE00BBDCBF482049A8BCBC49400000000000000000FFFFFFFFFFFFEFFF00D6925C15BCDCBF482061AFBBBC49400000000000000000FFFFFFFFFFFFEFFF00D892504EBCDCBF48201D11BCBC49400000000000000000FFFFFFFFFFFFEFFF00D892F8C2BDDCBF442001A7BABC49400000000000000000FFFFFFFFFFFFEFFF00DA92EA0AC0DCBF4820E98EBDBC49400000000000000000FFFFFFFFFFFFEFFF00E6926A80CADCBF402031D7B4BC49400000000000000000FFFFFFFFFFFFEFFF00E4922C93C8DCBF3C208112B1BC49400000000000000000FFFFFFFFFFFFEFFF00F492380DD9DCBF2C20259BA2BC49400000000000000000FFFFFFFFFFFFEFFF00F292A098D6DCBF28204D599EBC49400000000000000000FFFFFFFFFFFFEFFF00F092B4D1D4DCBF2C20A5E19FBC49400000000000000000FFFFFFFFFFFFEFFF00EE923A20D3DCBF2820C5D39CBC49400000000000000000FFFFFFFFFFFFEFFF00EE92925FD2DCBF2820D5799BBC49400000000000000000FFFFFFFFFFFFEFFF00EC9226AFD0DCBF2420057A98BC49400000000000000000FFFFFFFFFFFFEFFF00EA92AC2ACFDCBF24205DD599BC49400000000000000000FFFFFFFFFFFFEFFF00E292EC3EC6DCBF142055FC89BC49400000000000000000FFFFFFFFFFFFEFFF00E092AE8CC5DCBF142091748ABC49400000000000000000FFFFFFFFFFFFEFFF00E0923443C5DCBF182019A08BBC49400000000000000000FFFFFFFFFFFFEFFF00DC929E46C1DCBF1420DDCD8ABC49400000000000000000FFFFFFFFFFFFEFFF00DC92CE9DC1DCBF1420A56189BC49400000000000000000FFFFFFFFFFFFEFFF00DE923634C3DCBF1420C19089BC49400000000000000000FFFFFFFFFFFFEFFF00E292B6A1C6DCBF1020097986BC49400000000000000000FFFFFFFFFFFFEFFF00E09268E1C5DCBF1020C51885BC49400000000000000000FFFFFFFFFFFFEFFF00D8926CAABCDCBF1020350286BC49400000000000000000FFFFFFFFFFFFEFFF00D092BAFAB4DCBF04208D1278BC49400000000000000000FFFFFFFFFFFFEFFF00B0928C1A96DCBF1C20755B92BC49400000000000000000FFFFFFFFFFFFEFFF00B09276AA94DCBF1C2039C78FBC49400000000000000000FFFFFFFFFFFFEFFF00B092320C95DCBF1C20DD5F8FBC49400000000000000000FFFFFFFFFFFFEFFF00AC92BE1992DCBF1420B56F89BC49400000000000000000FFFFFFFFFFFFEFFF00BA92A047A0DCBF0820350B7DBC49400000000000000000FFFFFFFFFFFFEFFF00BA92C4E89EDCBF0420896E7ABC49400000000000000000FFFFFFFFFFFFEFFF00BC92CCDEA0DCBF042069BD78BC49400000000000000000FFFFFFFFFFFFEFFF00BC929028A2DCBF042071677BBC49400000000000000000FFFFFFFFFFFFEFFF00C492DE69A9DCBF0020ED0F75BC49400000000000000000FFFFFFFFFFFFEFFF00C292F409A8DCBFFC1FCDAA72BC49400000000000000000FFFFFFFFFFFFEFFF00C492CE0FAADCBFFC1FBDDA70BC49400000000000000000FFFFFFFFFFFFEFFF00C692364CABDCBFFC1FC16A73BC49400000000000000000FFFFFFFFFFFFEFFF00CC923826B1DCBFF81FE19A6EBC49400000000000000000FFFFFFFFFFFFEFFF00CA92D4A9AFDCBFF81FC9B56BBC49400000000000000000FFFFFFFFFFFFEFFF00D0929CCCB5DCBFF01FD59066BC49400000000000000000FFFFFFFFFFFFEFFF00D092B828B6DCBFF01FF14667BC49400000000000000000FFFFFFFFFFFFEFFF00D29214F8B7DCBFF01F0D3B66BC49400000000000000000FFFFFFFFFFFFEFFF00D2924054B7DCBFF01FFD9764BC49400000000000000000FFFFFFFFFFFFEFFF00D4928882B9DCBFEC1F35DA62BC49400000000000000000FFFFFFFFFFFFEFFF00D692B2A1BBDCBFEC1F012E61BC49400000000000000000FFFFFFFFFFFFEFFF00D8925E22BCDCBFEC1F0D1460BC49400000000000000000FFFFFFFFFFFFEFFF00D8927C6CBDDCBFE81FB1CB5EBC49400000000000000000FFFFFFFFFFFFEFFF00CE9270FAB3DCBFD81F35B44CBC49400000000000000000FFFFFFFFFFFFEFFF00CE92CA46B3DCBFD41FD5CA4ABC49400000000000000000FFFFFFFFFFFFEFFF00CE928E28B3DCBFD41F916A49BC49400000000000000000FFFFFFFFFFFFEFFF00CE92B82BB3DCBFD01FC97F47BC49400000000000000000FFFFFFFFFFFFEFFF00CE929869B3DCBFD01F1D4B46BC49400000000000000000FFFFFFFFFFFFEFFF00CE92E002B4DCBFD01FF5BF44BC49400000000000000000FFFFFFFFFFFFEFFF00D09276D5B4DCBFCC1F896943BC49400000000000000000FFFFFFFFFFFFEFFF00D092E825B6DCBFCC1FF15C42BC49400000000000000000FFFFFFFFFFFFEFFF00D2921291B7DCBFCC1FE9A141BC49400000000000000000FFFFFFFFFFFFEFFF00D4922C1BB9DCBFCC1F2D6D41BC49400000000000000000FFFFFFFFFFFFEFFF00D692F29EBADCBFCC1F41C241BC49400000000000000000FFFFFFFFFFFFEFFF00D6929A13BCDCBFCC1F717342BC49400000000000000000FFFFFFFFFFFFEFFF00D892B209BDDCBFCC1F498B43BC49400000000000000000FFFFFFFFFFFFEFFF00DC9284F7C0DCBFD41FEDDF4ABC49400000000000000000FFFFFFFFFFFFEFFF00DE92EC9BC3DCBFD41FB97F48BC49400000000000000000FFFFFFFFFFFFEFFF00E2926C82C6DCBFD81F0D724DBC49400000000000000000FFFFFFFFFFFFEFFF00E292B6FBC6DCBFD81FB10A4DBC49400000000000000000FFFFFFFFFFFFEFFF00E4925E24C9DCBFDC1F553551BC49400000000000000000FFFFFFFFFFFFEFFF00E6924EE6CBDCBFD81F39EA4EBC49400000000000000000FFFFFFFFFFFFEFFF00EA92CEDACFDCBFE01F899256BC49400000000000000000FFFFFFFFFFFFEFFF00EE929006D3DCBFE01FC50D54BC49400000000000000000FFFFFFFFFFFFEFFF00F292E417D7DCBFE81F09765CBC49400000000000000000FFFFFFFFFFFFEFFF00FC921619E0DCBFF81F39426FBC49400000000000000000FFFFFFFFFFFFEFFF000E935C0CF2DCBF182021E28CBC49400000000000000000FFFFFFFFFFFFEFFF000693A4BCEADCBF2020456C93BC49400000000000000000FFFFFFFFFFFFEFFF000693105FEBDCBF2020956694BC49400000000000000000FFFFFFFFFFFFEFFF000693FAFCEADCBF202081A695BC49400000000000000000FFFFFFFFFFFFEFFF00089350FFECDCBF202049B096BC49400000000000000000FFFFFFFFFFFFEFFF000A93A053EEDCBF2420216E97BC49400000000000000000FFFFFFFFFFFFEFFF000C93EA80EFDCBF24207D3D99BC49400000000000000000FFFFFFFFFFFFEFFF000C932AE6EFDCBF2820DD809BBC49400000000000000000FFFFFFFFFFFFEFFF000A93FC14EFDCBF28203D1E9EBC49400000000000000000FFFFFFFFFFFFEFFF000A93AAB3EDDCBF2C209DDA9FBC49400000000000000000FFFFFFFFFFFFEFFF000E935018F2DCBF34209DF0A7BC49400000000000000000FFFFFFFFFFFFEFFF001C93908D00DDBF2C2099C09FBC49400000000000000000FFFFFFFFFFFFEFFF001C93CE8B00DDBF2820299C9DBC49400000000000000000FFFFFFFFFFFFEFFF001E93DE4D01DDBF28207D869BBC49400000000000000000FFFFFFFFFFFFEFFF001E93DC4E02DDBF2420D9589ABC49400000000000000000FFFFFFFFFFFFEFFF002093F2BE03DDBF2420619599BC49400000000000000000FFFFFFFFFFFFEFFF00209376FD04DDBF2420117C99BC49400000000000000000FFFFFFFFFFFFEFFF0022934E6F06DDBF2420EDF999BC49400000000000000000FFFFFFFFFFFFEFFF00249336C207DDBF282025399BBC49400000000000000000FFFFFFFFFFFFEFFF002493AA9808DDBF28209D0A9DBC49400000000000000000FFFFFFFFFFFFEFFF002493C2AD08DDBF282011879DBC49400000000000000000FFFFFFFFFFFFEFFF003093663A14DDBF28207DA29DBC49400000000000000000FFFFFFFFFFFFEFFF003293861816DDBF282021FD9EBC49400000000000000000FFFFFFFFFFFFEFFF003E93ACC821DDBF4020514DB5BC49400000000000000000FFFFFFFFFFFFEFFF004E934A1A32DDBF40209545B5BC49400000000000000000FFFFFFFFFFFFEFFF004E93D20A32DDBF38205DA4ACBC49400000000000000000FFFFFFFFFFFFEFFF0050930C6534DDBF382079A6ACBC49400000000000000000FFFFFFFFFFFFEFFF005093627834DDBF382071F9ACBC49400000000000000000FFFFFFFFFFFFEFFF005493B60238DDBF382031EEACBC49400000000000000000FFFFFFFFFFFFEFFF005493E00538DDBF40205927B5BC49400000000000000000FFFFFFFFFFFFEFFF0064931E4F47DDBF4020B11AB5BC49400000000000000000FFFFFFFFFFFFEFFF10000000003C9368871FDDBF4020B193B4BC49400000000000000000FFFFFFFFFFFFEFFF0030935E6014DDBF2C2061629FBC49400000000000000000FFFFFFFFFFFFEFFF003093BC1213DDBF2820E5849EBC49400000000000000000FFFFFFFFFFFFEFFF002493AA6B08DDBF28205D949EBC49400000000000000000FFFFFFFFFFFFEFFF00249332A807DDBF2C208500A1BC49400000000000000000FFFFFFFFFFFFEFFF00229356A306DDBF2C20393CA2BC49400000000000000000FFFFFFFFFFFFEFFF002093160305DDBF30209110A3BC49400000000000000000FFFFFFFFFFFFEFFF00209390B703DDBF3020B519A3BC49400000000000000000FFFFFFFFFFFFEFFF001E93A23D02DDBF2C20357CA2BC49400000000000000000FFFFFFFFFFFFEFFF001C93604401DDBF2C20BD8BA1BC49400000000000000000FFFFFFFFFFFFEFFF000E9358A6F2DCBF3420F1B8A9BC49400000000000000000FFFFFFFFFFFFEFFF000E935C1AF3DCBF3820ED14ACBC49400000000000000000FFFFFFFFFFFFEFFF000E933E0BF3DCBF3C204172AFBC49400000000000000000FFFFFFFFFFFFEFFF000E93946AF2DCBF3C20914DB1BC49400000000000000000FFFFFFFFFFFFEFFF001093FE3AF4DCBF40200D74B4BC49400000000000000000FFFFFFFFFFFFEFFF003C9368871FDDBF4020B193B4BC49400000000000000000FFFFFFFFFFFFEFFF'

>>> GEOSGeometry(wkt)
<MultiPolygon object at 0x7f52fd517f78>

>>> GEOSGeometry(wkb)
GEOS_ERROR: IllegalArgumentException: Points of LinearRing do not form a closed linestring

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/mat/virtualenvs/test/lib/python3.6/site-packages/django/contrib/gis/geos/geometry.py", line 690, in __init__
    g = wkb_r().read(force_bytes(geo_input))
  File "/home/mat/virtualenvs/test/lib/python3.6/site-packages/django/contrib/gis/geos/prototypes/io.py", line 151, in read
    return wkb_reader_read_hex(self.ptr, wkb, len(wkb))
  File "/home/mat/virtualenvs/test/lib/python3.6/site-packages/django/contrib/gis/geos/libgeos.py", line 155, in __call__
    return self.func(*args, **kwargs)
  File "/home/mat/virtualenvs/test/lib/python3.6/site-packages/django/contrib/gis/geos/prototypes/threadsafe.py", line 48, in __call__
    return self.cfunc(self.thread_context.handle.ptr, *args)
  File "/home/mat/virtualenvs/test/lib/python3.6/site-packages/django/contrib/gis/geos/prototypes/errcheck.py", line 32, in check_geom
    raise GEOSException('Error encountered checking Geometry returned from GEOS C function "%s".' % func.__name__)
django.contrib.gis.geos.error.GEOSException: Error encountered checking Geometry returned from GEOS C function "GEOSWKBReader_readHEX_r".

The error traces through to the upstream C code, but I'm not sure whether that's the root cause or whether it's in the Python wrapper.

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top