wiki:Valids-cadastral

Examples source: file.gdb calif. capital region

fig 1.

wiki page valids-cadastral fig1

ERROR = 'Hole lies outside shell' | small, clockwise POLY first; large, counter-clockwise POLY second

MULTIPOLYGON(((-121.324868575081 38.3001897287368,-121.324885014991 38.3002442718504,-121.325041552459 38.3002149746247,-121.325089523258 38.3003741581484,-121.324932985462 38.3004034554395,-121.324729574567 38.3004415231092,-121.324665165902 38.3002277962991,-121.324868575081 38.3001897287368),(-121.337338915802 38.2958136809003,-121.32280240242 38.2958195184748,-121.326370560685 38.3054693974661,-121.337489629039 38.3054207268823,-121.337439268192 38.2981889889352,-121.337334746351 38.2981884261926,-121.337343368834 38.2968652848725,-121.337343443629 38.296563648615,-121.337338915802 38.2958136809003)))

--fig 2 skip

--fig 3

wiki page valids-cadastral fig3

ERROR = 'Hole lies outside shell' | small, clockwise POLY first; large, counter-clockwise POLY second

MULTIPOLYGON (((-121.475100628845 38.5855330954016, -121.475299038391 38.5855836269543, -121.47539345905 38.5856076745345, -121.475354588464 38.5857017007281, -121.475257902751 38.5856770761868, -121.475061757913 38.585627121497, -121.475100628845 38.5855330954016), 
  (-121.474667195941 38.5853171980425, -121.474454665093 38.5858237621465, -121.47447410038 38.5858446827122, -121.474555763842 38.5859339502872, -121.474734475485 38.5861292991339, -121.474753310578 38.5861506953054, -121.474803977465 38.5862129582268, -121.474851390178 38.5862788396847, -121.474894128607 38.586346662078, -121.47493206569 38.586416221233, -121.47496508587 38.586487309424, -121.474996272258 38.5865689559141, -121.475020973954 38.5866519576723, -121.475039096845 38.586735998962, -121.475050572106 38.5868207587549, -121.475055183459 38.5868975667383, -121.475054335212 38.5869744571755, -121.47505018986 38.58703130752, -121.475037060505 38.5871234097813, -121.475016080931 38.587214611586, -121.474962796608 38.5874148754691, -121.475095449744 38.5874158823226, -121.475240595741 38.5870816136765, -121.475263167728 38.5870296315022, -121.475443739003 38.5866137730312, -121.475534024429 38.5864058432409, -121.475714593694 38.5859899843473, -121.475737163842 38.5859380020743, -121.475830451667 38.5857231541492, -121.475652062028 38.5855647695709, -121.475608271763 38.5855538055258, -121.475341558356 38.5854870299391, -121.475074846596 38.5854202537432, -121.474808134195 38.5853534760267, -121.474800165288 38.5853514245719, -121.474667195941 38.5853171980425)))

-- fig 4

wiki page valids-cadastral fig4

ERROR = 'Nested Shells'

MULTIPOLYGON (((-121.530647603706 38.5122325466359, -121.530518642152 38.512264141954, -121.530288180467 38.5123206392253, -121.530038196818 38.5123819233539, -121.529988359229 38.5123941387799, -121.529793493411 38.5124419085986, -121.529905458819 38.5127379923824, -121.530102893951 38.5126783500064, -121.530116070106 38.5127110465611, -121.530069100941 38.5127387969958, -121.530095381983 38.5128211176371, -121.53018099931 38.5128053565371, -121.530197667379 38.5128625634992, -121.530214697468 38.5128556894732, -121.530232764258 38.512850707931, -121.530251527733 38.5128477129859, -121.530270635512 38.5128467608639, -121.53029315308 38.5128482874341, -121.53031506266 38.5128526457464, -121.530335791707 38.5128597199636, -121.530350018535 38.5128646641856, -121.530365020244 38.5128679007528, -121.530380465939 38.5128693571507, -121.530396016422 38.5128690022722, -121.530411328811 38.5128668428335, -121.530426065681 38.5128629270139, -121.530573732433 38.512813824045, -121.530655386026 38.512789478997, -121.530739141224 38.5127700324755, -121.530808097831 38.5127562168168, -121.530744636808 38.5125697642195, -121.530733594856 38.5125319142687, -121.530666770881 38.5122795745496, -121.530647603706 38.5122325466359)), 
  ((-121.530606319854 38.5123592070836, -121.530627182632 38.5124244120338, -121.530646582616 38.512485044408, -121.5306669028 38.5125485534666, -121.530507561873 38.5125819561172, -121.530486635947 38.5125176454774, -121.530467671282 38.5124593589715, -121.530445675489 38.5123917584173, -121.530606319854 38.5123592070836)), 
  ((-121.530396762017 38.5124116624041, -121.530440210295 38.5125330551072, -121.53036363546 38.512549526983, -121.53036638956 38.5125575561301, -121.530299348737 38.5125712450714, -121.530231897995 38.5125850178941, -121.530234459465 38.5125925219412, -121.530166455223 38.5126071131931, -121.530093714476 38.5126227211915, -121.530049578771 38.512499062515, -121.530124856723 38.5124834747619, -121.530192453335 38.5124694782716, -121.530189904225 38.5124620139131, -121.53025455028 38.5124478873846, -121.53032359645 38.512432799415, -121.530321905505 38.5124278718607, -121.530396762017 38.5124116624041)), 
  ((-121.530717068056 38.5125597542363, -121.530759130756 38.5126877699799, -121.53068542297 38.5127029293849, -121.530688661359 38.5127121226436, -121.530620029413 38.5127266134178, -121.53055194169 38.5127409892439, -121.530554805406 38.512749441351, -121.530488271206 38.512761218057, -121.530441693814 38.5126254947472, -121.530508433635 38.5126125963881, -121.530505704908 38.5126045421224, -121.530573054551 38.512590270535, -121.530640701554 38.5125759361516, -121.530717068056 38.5125597542363)), 
  ((-121.530327400483 38.5126127569056, -121.53033975385 38.5126480086348, -121.530408748313 38.5126348816519, -121.530454033426 38.5127692078465, -121.530386787105 38.512782210424, -121.530375245157 38.5127492763935, -121.530307501231 38.5127624498763, -121.530239900786 38.5127755959746, -121.530175836428 38.5127880536988, -121.530127462706 38.5126544454719, -121.530193312582 38.5126407148557, -121.530259828376 38.5126268463669, -121.530327400483 38.5126127569056)))

GEOS 3.8 MakeValid

-- fig A invalid

MULTIPOLYGON(((-121.251931849676 38.6276957310665,-121.251905711294 38.6276979118596,-121.251880196147 38.6277028660741,-121.251855778398 38.6277104994743,-121.251551231846 38.6278251815002,-121.251538904272 38.6278308379624,-121.251527912753 38.6278379913614,-121.251518552141 38.6278464526093,-121.251511069439 38.6278559953717,-121.251505666002 38.6278663659917,-121.251502484849 38.6278772879131,-121.251501610583 38.6278884697869,-121.251503065851 38.6278996144589,-121.25150681357 38.6279104252893,-121.251946534108 38.6288636417268,-121.252423892821 38.6287270997605,-121.252346411307 38.6285646924103,-121.252151037966 38.6281551742361,-121.252071004457 38.6279874159182,-121.251931849676 38.6276957310665)),((-121.251880308919 38.627828368314,-121.251916613261 38.627905692867,-121.251956316286 38.6279885790597,-121.251668325258 38.6280751598486,-121.251638875453 38.6280101841486,-121.25159147367 38.6279116181917,-121.251880308919 38.627828368314)),((-121.251989804675 38.6281038840608,-121.252019440462 38.6281815979599,-121.252071783447 38.628267614404,-121.252115369623 38.6283569887487,-121.251831871003 38.6284399953056,-121.251787328412 38.6283530300199,-121.251760692666 38.6282788192628,-121.251708149163 38.6281879788,-121.251989804675 38.6281038840608)),((-121.25217056299 38.6284518056344,-121.252201603524 38.6285294303521,-121.252250092123 38.6286147263284,-121.252289927616 38.6287044385616,-121.252008407822 38.6287883232038,-121.251967648885 38.6287015995401,-121.251937127204 38.6286301466518,-121.251888540127 38.6285355552,-121.25217056299 38.6284518056344)))

ERROR = 'Nested Shells'

fig A makevalid

MULTIPOLYGON(((-121.251931849676 38.6276957310665,-121.252071004457 38.6279874159182,-121.252151037966 38.6281551742361,-121.252346411307 38.6285646924103,-121.252423892821 38.6287270997605,-121.251946534108 38.6288636417268,-121.25150681357 38.6279104252893,-121.251503065851 38.6278996144589,-121.251501610583 38.6278884697869,-121.251502484849 38.6278772879131,-121.251505666002 38.6278663659917,-121.251511069439 38.6278559953717,-121.251518552141 38.6278464526093,-121.251527912753 38.6278379913614,-121.251538904272 38.6278308379624,-121.251551231846 38.6278251815002,-121.251855778398 38.6277104994743,-121.251880196147 38.6277028660741,-121.251905711294 38.6276979118596,-121.251931849676 38.6276957310665),(-121.251880308919 38.627828368314,-121.25159147367 38.6279116181917,-121.251638875453 38.6280101841486,-121.251668325258 38.6280751598486,-121.251956316286 38.6279885790597,-121.251916613261 38.627905692867,-121.251880308919 38.627828368314),(-121.251989804675 38.6281038840608,-121.251708149163 38.6281879788,-121.251760692666 38.6282788192628,-121.251787328412 38.6283530300199,-121.251831871003 38.6284399953056,-121.252115369623 38.6283569887487,-121.252071783447 38.628267614404,-121.252019440462 38.6281815979599,-121.251989804675 38.6281038840608),(-121.25217056299 38.6284518056344,-121.251888540127 38.6285355552,-121.251937127204 38.6286301466518,-121.251967648885 38.6287015995401,-121.252008407822 38.6287883232038,-121.252289927616 38.6287044385616,-121.252250092123 38.6286147263284,-121.252201603524 38.6285294303521,-121.25217056299 38.6284518056344)))


-- fig C invalid

MULTIPOLYGON(((-121.090114650144 38.4980365097195,-121.090208393161 38.4981651925745,-121.090121454409 38.4982043052347,-121.090138814925 38.4982281353364,-121.090051876058 38.4982672479443,-121.090069235408 38.4982910789483,-121.089982296427 38.4983301915039,-121.089999656927 38.4983540216265,-121.089912717831 38.4983931341299,-121.089818975059 38.4982644501342,-121.08990591405 38.4982253377014,-121.089888554759 38.4982015075738,-121.089975492489 38.4981623950796,-121.08995813319 38.4981385649624,-121.090045071951 38.498099452425,-121.090027711498 38.4980756223093,-121.090114650144 38.4980365097195),(-121.090164634031 38.4977828521281,-121.090013255967 38.4977964659346,-121.089907845579 38.4979613206397,-121.089344431984 38.4984859226458,-121.089380156588 38.4985633684595,-121.089474337499 38.4985365389675,-121.089457664895 38.4985003975943,-121.089551845693 38.4984735680392,-121.089535174212 38.4984374266863,-121.089629353763 38.4984105961582,-121.089612682246 38.4983744557172,-121.089706861685 38.4983476251261,-121.089690190143 38.4983114846964,-121.089784370616 38.4982846540511,-121.08984867519 38.4984240553584,-121.089754495704 38.4984508860651,-121.089771167311 38.4984870264856,-121.089676986566 38.4985138571201,-121.089693659295 38.4985499975608,-121.089599478438 38.4985768281323,-121.089616149984 38.498612969476,-121.089521970173 38.4986397990925,-121.089538641695 38.4986759404474,-121.089444461771 38.4987027700008,-121.08948733089 38.4987957040326,-121.089871459998 38.4984964170388,-121.089903024256 38.498474768405,-121.089937826142 38.4984564381345,-121.089975303558 38.4984417236115,-121.090014852775 38.4984308606304,-121.090306251604 38.4983668207259,-121.090316588785 38.4983638632152,-121.090326231672 38.4983597011067,-121.090334954299 38.4983544335271,-121.090342553345 38.4983481823043,-121.090348851542 38.4983410937961,-121.090353701173 38.4983333344136,-121.09035698874 38.4983250843504,-121.090306680278 38.4982435285043,-121.090264139937 38.4981592859181,-121.090229599186 38.4980728133902,-121.090203243498 38.4979845781669,-121.090181084443 38.4978840521622,-121.090164634031 38.4977828521281)))

ERROR = 'Hole lies outside shell'

-- fig C makevalid

MULTIPOLYGON(((-121.090164634031 38.4977828521281,-121.090181084443 38.4978840521622,-121.090203243498 38.4979845781669,-121.090229599186 38.4980728133902,-121.090264139937 38.4981592859181,-121.090306680278 38.4982435285043,-121.09035698874 38.4983250843504,-121.090353701173 38.4983333344136,-121.090348851542 38.4983410937961,-121.090342553345 38.4983481823043,-121.090334954299 38.4983544335271,-121.090326231672 38.4983597011067,-121.090316588785 38.4983638632152,-121.090306251604 38.4983668207259,-121.090014852775 38.4984308606304,-121.089975303558 38.4984417236115,-121.089937826142 38.4984564381345,-121.089903024256 38.498474768405,-121.089871459998 38.4984964170388,-121.08948733089 38.4987957040326,-121.089444461771 38.4987027700008,-121.089538641695 38.4986759404474,-121.089521970173 38.4986397990925,-121.089616149984 38.498612969476,-121.089599478438 38.4985768281323,-121.089693659295 38.4985499975608,-121.089676986566 38.4985138571201,-121.089771167311 38.4984870264856,-121.089754495704 38.4984508860651,-121.08984867519 38.4984240553584,-121.089784370616 38.4982846540511,-121.089690190143 38.4983114846964,-121.089706861685 38.4983476251261,-121.089612682246 38.4983744557172,-121.089629353763 38.4984105961582,-121.089535174212 38.4984374266863,-121.089551845693 38.4984735680392,-121.089457664895 38.4985003975943,-121.089474337499 38.4985365389675,-121.089380156588 38.4985633684595,-121.089344431984 38.4984859226458,-121.089907845579 38.4979613206397,-121.090013255967 38.4977964659346,-121.090164634031 38.4977828521281),(-121.090114650144 38.4980365097195,-121.090027711498 38.4980756223093,-121.090045071951 38.498099452425,-121.08995813319 38.4981385649624,-121.089975492489 38.4981623950796,-121.089888554759 38.4982015075738,-121.08990591405 38.4982253377014,-121.089818975059 38.4982644501342,-121.089912717831 38.4983931341299,-121.089999656927 38.4983540216265,-121.089982296427 38.4983301915039,-121.090069235408 38.4982910789483,-121.090051876058 38.4982672479443,-121.090138814925 38.4982281353364,-121.090121454409 38.4982043052347,-121.090208393161 38.4981651925745,-121.090114650144 38.4980365097195)))


-- fig D invalid

MULTIPOLYGON(((-121.263845919935 38.6545883595441,-121.26410013839 38.6545923578662,-121.264097487095 38.6546816536309,-121.264074327483 38.6546809498071,-121.264072617852 38.6547608298354,-121.264070969506 38.6548378904047,-121.264092843606 38.6548381410166,-121.264090302916 38.6549237338423,-121.263834493885 38.6549184425071,-121.263837374638 38.6548352167336,-121.263877690257 38.6548356782205,-121.263879279803 38.6547572118597,-121.263880942891 38.6546750738571,-121.263842957638 38.654673919959,-121.263845919935 38.6545883595441),(-121.264146189311 38.6545107071138,-121.263979155179 38.6545108842759,-121.263978596394 38.6545635380083,-121.263908382397 38.6545630920686,-121.263908942758 38.6545109581711,-121.263854829178 38.6545110153635,-121.263848831001 38.6545114277183,-121.263843011841 38.6545126394161,-121.263837543247 38.6545146155102,-121.263832586681 38.6545172966653,-121.263828290023 38.6545206036399,-121.263824778363 38.6545244390294,-121.263822157427 38.6545286890899,-121.263820503185 38.6545332290776,-121.263819865284 38.6545379241715,-121.263809045589 38.6549609938931,-121.264058775657 38.6549649637859,-121.264151118137 38.6549338363067,-121.264146189311 38.6545107071138))) 

ERROR = 'Hole lies outside shell' | smaller clockwise POLY; larger, counter-clockwise outer POLY

-- fig D makevalid

 MULTIPOLYGON(((-121.264146189311 38.6545107071138,-121.264151118137 38.6549338363067,-121.264058775657 38.6549649637859,-121.263809045589 38.6549609938931,-121.263819865284 38.6545379241715,-121.263820503185 38.6545332290776,-121.263822157427 38.6545286890899,-121.263824778363 38.6545244390294,-121.263828290023 38.6545206036399,-121.263832586681 38.6545172966653,-121.263837543247 38.6545146155102,-121.263843011841 38.6545126394161,-121.263848831001 38.6545114277183,-121.263854829178 38.6545110153635,-121.263908942758 38.6545109581711,-121.263908382397 38.6545630920686,-121.263978596394 38.6545635380083,-121.263979155179 38.6545108842759,-121.264146189311 38.6545107071138),(-121.263845919935 38.6545883595441,-121.263842957638 38.654673919959,-121.263880942891 38.6546750738571,-121.263879279803 38.6547572118597,-121.263877690257 38.6548356782205,-121.263837374638 38.6548352167336,-121.263834493885 38.6549184425071,-121.264090302916 38.6549237338423,-121.264092843606 38.6548381410166,-121.264070969506 38.6548378904047,-121.264072617852 38.6547608298354,-121.264074327483 38.6546809498071,-121.264097487095 38.6546816536309,-121.26410013839 38.6545923578662,-121.263845919935 38.6545883595441)))

larger, clockwise outer POLY; counter-clockwise inner POLY

Last modified 4 years ago Last modified on Nov 10, 2019, 7:12:12 PM
Note: See TracWiki for help on using the wiki.