7 votos

Encontrar y destruir a duplicar OSM multipolígono/polígonos en TileMill/PostGIS

En OpenStreetMap, a veces, hay multipolígonos donde los atributos están presentes tanto en el polígono y la multipolígono relación, tales como el Parque Nacional de Grampians:

http://www.openstreetmap.org/browse/relation/2703380
http://www.openstreetmap.org/browse/way/201068605

Estos polígonos se carga por OSM2pgsql por separado, así que conseguir un duplicado de polígonos en PostGIS. Ambos coinciden, una consulta como select * from planet_osm_polygon where leisure='nature_reserve'.

El problema es que cuando la representación de tales polígonos utilizando un estilo transparente (por ejemplo, sobre un terreno de mapa base) aparecen más oscuros que otros polígonos.

enter image description here

No puedo pensar en alguna manera de evitar que esto suceda, corto de no representación de cualquier multipolígonos, o sólo multipolígonos.

Alguna sugerencia? Pre-procesamiento en PostGIS es aceptar si es necesario.

1voto

Paul Puntos 4500

UNIRSE en las características comunes tales que las entradas redundantes coinciden entre sí, y, a continuación, elimine el uno con el área más pequeña en cada caso. De esa manera, sólo tendrás que prestar la mayor multipolígono de la que los más pequeños es sólo una parte.

DELETE FROM table1
INNER JOIN table2 -- same table joined to itself
  ON name1 = name2 AND (boundary1 = boundary2 OR ... (insert other transparent rendering things here) )
WHERE ST_area(geometry1) < ST_area(geometry2)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X