freegeocz AT fsv.cvut.cz
Předmět: Svobodná geoinformační infrastruktura
List archive
- From: <jan.ruzicka AT vsb.cz>
- To: <freegeocz AT fsv.cvut.cz>
- Subject: RE: [FreeGeoCZ] invalid polygon geometry
- Date: Tue, 20 Apr 2010 19:24:09 +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
Tak ta geometrie vypadá opravdu hodně nepěkně. Tady asi pomůľe jen vybudování topologie, coľ nevím zda by nebylo lepąí pouľít nějaký jiný nástroj neľ PostGIS.
J
-----Původní zpráva-----
Od: freegeocz-bounces AT fsv.cvut.cz za uľivatele Dan Barta
Odesláno: út 20.4.2010 17:01
Komu: Svobodná geoinformační infrastruktura
Předmět: Re: [FreeGeoCZ] invalid polygon geometry
Diky za podnety, pokusim se shrnout:
----------------------------
1) nejjednodussi je proste vadne polygony vyhazet, napr. takto:
----------------------------
TRUNCATE TABLE "polygon";
INSERT INTO "polygon" SELECT * FROM "polygonZaloha" WHERE ST_IsValid(the_geom);
sic ono to vyhaze i ty prvky s relativne snesitelnymi (=pro export
prekonatelnymi) problemy (cca 10% z 1600)
----------------------------
2) vyber jen nekterych chyb podle typu konci padem
----------------------------
SELECT gid, ST_IsValidReason(the_geom) AS invalid from "polygon" where
ST_IsValid(the_geom) <> true;
NOTICE: Self-intersection at or near point -640685 -1.04412e+06
NOTICE: Holes are nested at or near point -640810 -1.04419e+06
NOTICE: Holes are nested at or near point -640778 -1.04425e+06
NOTICE: Ring Self-intersection at or near point -641245 -1.04472e+06
NOTICE: Holes are nested at or near point -640974 -1.04437e+06
NOTICE: Holes are nested at or near point -640722 -1.04436e+06
NOTICE: IllegalArgumentException: Number of points must be 0 or >3
NOTICE: IllegalArgumentException: Number of points must be 0 or >3
ERROR: POSTGIS2GEOS conversion failed
********** Chyba **********
3) pokus o napravu
Mam Ubuntu 9.10 na nem postgis 1.4.0. Ani stabilni 1.5.0 funkci
ST_MakeValid() nema.
V trunk-devel 2.0 uz se neco chysta [1] a da se to zpetne
importovat[2] jako funkce cleaGeometry(), ale na mem vzorku to spadne
stejne jako vyse:
TRUNCATE TABLE "polygon";
INSERT INTO "polygon" SELECT * FROM "polygonZaloha";
UPDATE "polygon" SET the_geom = cleanGeometry(the_geom) WHERE NOT
ST_IsValid(the_geom);
Toz tak jsou realizovane vase postrehy, pokud jsem neco opomnel dejte vedet.
diky a zdravi Dan Barta
[1] http://trac.osgeo.org/postgis/ticket/399
[2] http://www.sogis1.so.ch/sogis/dl/postgis/cleanGeometry.sql
- [FreeGeoCZ] invalid polygon geometry, Dan Barta, 04/19/2010
- RE: [FreeGeoCZ] invalid polygon geometry, MICHÁLEK Jan Mgr ., 04/20/2010
- RE: [FreeGeoCZ] invalid polygon geometry, jan.ruzicka, 04/20/2010
- RE: [FreeGeoCZ] invalid polygon geometry, MICHÁLEK Jan Mgr ., 04/20/2010
- Re: [FreeGeoCZ] invalid polygon geometry, Dan Barta, 04/20/2010
- RE: [FreeGeoCZ] invalid polygon geometry, jan.ruzicka, 04/20/2010
- RE: [FreeGeoCZ] invalid polygon geometry, MICHÁLEK Jan Mgr ., 04/21/2010
- Re: [FreeGeoCZ] invalid polygon geometry, Dan Barta, 04/22/2010
- Re: [FreeGeoCZ] invalid polygon geometry, Dan Barta, 04/20/2010
- RE: [FreeGeoCZ] invalid polygon geometry, MICHÁLEK Jan Mgr ., 04/20/2010
- RE: [FreeGeoCZ] invalid polygon geometry, jan.ruzicka, 04/20/2010
- RE: [FreeGeoCZ] invalid polygon geometry, MICHÁLEK Jan Mgr ., 04/20/2010
- RE: [FreeGeoCZ] invalid polygon geometry, MICHÁLEK Jan Mgr ., 04/20/2010
Archivace běží na MHonArc 2.6.19+.