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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.