2 votos

ST_SnapToGrid y ST_Union provocan deslizamientos en los datos

Actualmente estoy intentando fusionar polígonos (calles y aceras) en uno solo, el polígono fusionado resultante tiene eslizones (Imagen 1).

El cambio de la tolerancia (0,1) tiene un efecto sobre esto, pero resulta en slithers en otras partes de los datos, y cuando se fusionan manualmente (en QGIS) estoy recibiendo algunos puntos atípicos como se puede ver en la imagen 2.

Estoy utilizando este flujo de trabajo para un gran conjunto de datos que se actualizará con regularidad por lo que manualmente ir y solucionar los problemas no será una manera de resolver esto.

¿Alguien ha tenido problemas similares?

A continuación se muestra un ejemplo de código.

Fusión mediante sql (Imagen 1):

enter image description here

Fusión manual en QGIS (Imagen 2):

enter image description here

--Drop and create Type 1/2 adopted layer

    DROP TABLE IF EXISTS highway_network.t12_adopted_network;
    CREATE TABLE highway_network.t12_adopted_network AS
    SELECT ST_Union(ST_SnapToGrid(wkb_geometry,0.01)) as wkb_geometry, t12_usrn as usrn, t12_desc as street 
    FROM highway_network.highway_adopted_final
    GROUP BY t12_usrn, t12_desc;

-- Add a serial column and make it a primary key
    ALTER TABLE highway_network.t12_adopted_network  ADD COLUMN ogc_fid serial NOT NULL;
    ALTER TABLE highway_network.t12_adopted_network  ADD CONSTRAINT t12_adopted_network_pk PRIMARY KEY (ogc_fid);

--Drop and create Type 1/2 adopted layer components
    DROP TABLE IF EXISTS highway_network.t12_adopted_network_component;
    CREATE TABLE highway_network.t12_adopted_network_component AS
    SELECT ST_Union(ST_SnapToGrid(wkb_geometry,0.01)) as wkb_geometry, t12_usrn as usrn, t12_desc as street, usage_code as component 
    FROM highway_network.highway_adopted_final
    GROUP BY t12_usrn, t12_desc, usage_code;

-- Add a serial column and make it a primary key
    ALTER TABLE highway_network.t12_adopted_network_component ADD COLUMN ogc_fid serial NOT NULL;
    ALTER TABLE highway_network.t12_adopted_network_component ADD CONSTRAINT t12_adopted_network_component_pk PRIMARY KEY (ogc_fid);

1voto

Biff MaGriff Puntos 3394

Solucionado - v.clean y rmarea en GRASS solucionado este problema

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