Skip to Content.
Sympa Menu

freegeocz - RE: [FreeGeoCZ] invalid polygon geometry

freegeocz AT fsv.cvut.cz

Předmět: Svobodná geoinformační infrastruktura

List archive

RE: [FreeGeoCZ] invalid polygon geometry


Chronological Podle vláken 
  • From: MICHÁLEK Jan Mgr. <Michalek.Jan AT uhul.cz>
  • To: Svobodná geoinformační infrastruktura <freegeocz AT fsv.cvut.cz>
  • Subject: RE: [FreeGeoCZ] invalid polygon geometry
  • Date: Tue, 20 Apr 2010 09:15:39 +0200
  • List-archive: <http://mailman.fsv.cvut.cz/pipermail/freegeocz>
  • List-id: Svobodná geoinformační infrastruktura <freegeocz.fsv.cvut.cz>

Title: RE: [FreeGeoCZ] invalid polygon geometry
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: freegeocz-bounces AT fsv.cvut.cz [mailto:freegeocz-bounces AT fsv.cvut.cz] On Behalf Of jan.ruzicka AT vsb.cz
Sent: Tuesday, April 20, 2010 9:04 AM
To: freegeocz AT fsv.cvut.cz
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: freegeocz-bounces AT fsv.cvut.cz 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: freegeocz-bounces AT fsv.cvut.cz [mailto:freegeocz-bounces AT fsv.cvut.cz] 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
FreeGeoCZ AT fsv.cvut.cz
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


__________ Informace od ESET NOD32 Antivirus, verze databaze 5042 (20100419) __________

Tuto zpravu proveril ESET NOD32 Antivirus.

http://www.eset.cz



Archivace běží na MHonArc 2.6.19+.

Top of Page