J'utilise actuellement des données de construction de l'Ordnance Survey Vectormap District et j'ai remarqué que beaucoup de polygones de construction sont divisés en 2 en raison de la façon dont le système d'exploitation a divisé le fichier de formes.
Voici ce que je vois dans QGIS - j'ai mis en évidence certains des bâtiments divisés à la limite des tuiles:
Je ne peux pas fusionner manuellement les bâtiments car il y en a beaucoup trop qui ont été divisés aux limites (ce n'est qu'un exemple zoomé). Je cherche un moyen automatisé de résoudre ce problème.
Malheureusement, chaque côté des bâtiments divisés a un identifiant différent, je ne peux donc pas les dissoudre facilement.
Comment proposeriez-vous que je puisse fusionner automatiquement les tuiles bâtiment?
modifier
J'utilise maintenant PostGIS pour fusionner les polygones divisés aux limites des tuiles. Voici l'instruction SQL qui fait cela pour moi - c'est beaucoup, beaucoup plus rapide que de le faire avec QGIS:
DROP TABLE merged;
CREATE TABLE merged AS
SELECT
-- Merge polygons that are within 0.01 metres of each other
(ST_Dump(ST_Union(ST_Buffer(the_geom, 0.01)))).geom AS the_geom
FROM unmerged;
-- Update the geometry_columns table
SELECT Populate_Geometry_Columns();
Réponses:
Si vous souhaitez simplement dissoudre les bords et que vous êtes satisfait d'avoir une grande fonction multipolygone de tous les bâtiments, vous pouvez simplement utiliser l'outil "Dissoudre" de fTools ("Vecteur / Géotraitement / Dissoudre").
Si vous souhaitez conserver les attributs (dans le cas du vecteur OS qui ne serait que l'ID, ce qui semble plutôt arbitraire), vous pouvez diviser la couche vectorielle dissoute, puis attribuer les attributs de la couche non dissoute d'origine à l'aide de "Joindre les attributs Par emplacement":
Il s'agit d'un sous-ensemble de deux fichiers de formes de bâtiments du système d'exploitation qui ont été fusionnés en un seul fichier de formes à l'aide de "Fichiers de formes Vector / Gestion des données / Fusionner en un seul". Les couleurs sont assignées au hasard pour montrer les caractéristiques individuelles:
C'est le résultat de l'outil "Dissoudre": toutes les entités ont été dissoutes en une seule entité avec l'ID du premier objet, la rupture dans les trois bâtiments centraux a disparu:
Après avoir scindé l'entité à l'aide de "Vecteur / Géométrie / Multipart en parties uniques", les bâtiments sont à nouveau des entités individuelles, mais ils ont tous le même ID:
En exécutant «Outils de gestion des vecteurs / données / Attributs de jointure par emplacement» avec la couche divisée comme cible et la couche fusionnée d'origine comme couche vectorielle de jointure, les bâtiments sont réaffectés à leurs ID individuels:
la source
v.dissolve
après avoir assigné à toutes les entités un attribut factice identique, seules celles qui partagent une frontière seront fusionnées.