RE: [FreeGeoCZ] invalid polygon geometry
MICHÁLEK Jan Mgr. <[email protected]>
| Newsgroups | gmane.comp.gis.grass.cz |
|---|---|
| Message-ID | <[email protected]> |
Ono jde o to, jak moc je ta geometrie nakopnuta, pokud je nakopnuta malo (spolecna hrana multiploch, neuzavrebna hranice polygonu ap) tak se to vopravi docela dobre, pokud je uplne na cucky, tak ta automaticka oprava muze bejt zradna a udelat paseku (blbe interpretovat royhadrovanou geom) bychse bal _____ From: [email protected] [mailto:[email protected]] On Behalf Of [email protected] Sent: Tuesday, April 20, 2010 9:04 AM To: [email protected] Subject: RE: [FreeGeoCZ] invalid polygon geometry Když jsem to četl tak mě napadlo, že bych se nejdřve podval proč ta geometrie nen validn (tj. zobrazil bych si vzorek těch nevalidnch geoprvků), pak bych se ji teprve snažil opravit. Měl jsem kdysi problm s multiliniemi, postgis hzel nějakou pro mě nesrozumitelnou hlšku u dvou silničnch segmentů, tak jsem se na ně podval a zjistil, že jako jedin dva jsou reprezentovny multigeometri. Stačilo je rozbt do několika geoprvků a problm zmizel. J -----Original Message----- From: [email protected] on behalf of MICHLEK Jan Mgr. Sent: Tue 20.4.2010 7:37 To: Svobodn geoinformacn infrastruktura Subject: RE: [FreeGeoCZ] invalid polygon geometry No, ono shp nen uplne idealni format co se tyce topologie, je to tam udelany tak, ze vnejsi hranice ma vertexy serazeny posmeru hodinovejch rucicek a diry protismeru (nebo mozna naopak), kdyz sou ty shpcka blbe udelany (treba export z nejakyho dxf, nebo neceho takovyho) tak muzou bejt pekne nakopnuty. Ja bych postupoval nasledovne: Select astext(geometry_col) from table where not isvalid(geometry_col) --nebo neco takovyho, ja to delal pod MS 08, ale ten syntax bude dost podobnej, --a podival bych se, co tam je za kozich. --MS 08 ma fci geometry.STMakeValid(), kera vraci opravenou geom, v postgisu bude stopro neco takovyho taky, tim bzch to rovnou premlasknul: Update table Set geom = MakeValid(geom) Where not IsValid(geom) Nebo bych to nejdriv srovnal(co to s tim udela) Select astext(geometry_col), astext(MakeValid(geometry_col)) from table where not isvalid(geometry_col) Jelen -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Dan Barta Sent: Monday, April 19, 2010 5:11 PM To: Svobodn geoinformacn infrastruktura Subject: [FreeGeoCZ] invalid polygon geometry Zdravim konf, pres shp2pgsql jsem nahrnul do Postgis polygonovy SHP. Problem se jevil jen opticky v Postgis/Qgisu, kde pri nekterych podrobnostech na dvou mistech zmizely vsechny prvky. Nyni jsem se pokusil o export pgsql2shp, nebo vubec dump, ktery konci: pg_dump: SQL command failed pg_dump: Error message from server: ERROR: geometry requires more points pg_dump: The command was: COPY public."polygonSEVEN" (gid, idch, id, delka, sirka, plocha, poznamka, stav, sirka_min, povrch, tpovrch, etapa, uroven, the_geom) TO stdout; Tedy predpokladam, ze problem zni * self intersection nebo * invalid rings Zkusil jsem podle http://postgis.refractions.net/pipermail/postgis-users/2009-March/023064.html remove_invalidrings(the_geom); remove_invalidpoly(geometry) - mi neselv lozit do fukci INSERT INTO "polygonSEVENtest" SELECT * FROM "polygonSEVEN"; update "polygonSEVENtest" SET the_geom = remove_invalidrings(the_geom); a) narazi na omezeni "enforce_geotype_the_geom" b) nebo kdyz omezeni natvrdo odstranim tak na : ERROR: lwpoly_from_lwlines: shell must have at least 4 points KONTEXT: SQL function "remove_invalidrings" statement 1 ********** Chyba ********** ERROR: lwpoly_from_lwlines: shell must have at least 4 points Stav SQL: XX000 Kontext:SQL function "remove_invalidrings" statement 1 Mate nekdo nejake hlubsi zkusenosti? Vite jak dale? diky a zdravi Dan Barta __________ Informace od ESET NOD32 Antivirus, verze databaze 5041 (20100419) __________ Tuto zpravu proveril ESET NOD32 Antivirus. http://www.eset.cz __________ Informace od ESET NOD32 Antivirus, verze databaze 5042 (20100419) __________ Tuto zpravu proveril ESET NOD32 Antivirus. http://www.eset.cz _______________________________________________ FreeGeoCZ mailing list [email protected] http://mailman.fsv.cvut.cz/mailman/listinfo/freegeocz __________ Informace od ESET NOD32 Antivirus, verze databaze 5042 (20100419) __________ Tuto zpravu proveril ESET NOD32 Antivirus. http://www.eset.cz _______________________________________________ FreeGeoCZ mailing list [email protected] http://mailman.fsv.cvut.cz/mailman/listinfo/freegeocz