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: <jan.ruzicka AT vsb.cz>
  • To: <freegeocz AT fsv.cvut.cz>
  • Subject: RE: [FreeGeoCZ] invalid polygon geometry
  • Date: Tue, 20 Apr 2010 09:04:12 +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

Když jsem to četl tak mě napadlo, že bych se nejdříve podíval proč ta geometrie není validní (tj. zobrazil bych si vzorek těch nevalidních geoprvků), pak bych se ji teprve snažil opravit. Měl jsem kdysi problém s multiliniemi, postgis házel nějakou pro mě nesrozumitelnou hlášku u dvou silničních segmentů, tak jsem se na ně podíval a zjistil, že jako jediné dva jsou reprezentovány multigeometrií. Stačilo je rozbít do několika geoprvků a problém zmizel.

J


-----Original Message-----
From: freegeocz-bounces AT fsv.cvut.cz on behalf of MICHÁLEK 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




Archivace běží na MHonArc 2.6.19+.

Top of Page