Obecnie używam danych budowlanych z Ordnance Survey Vectormap District i zauważyłem, że wiele wielokątów budowlanych jest podzielonych na 2 ze względu na sposób, w jaki system operacyjny podzielił plik kształtu.
Oto, co widzę w QGIS - podkreśliłem niektóre budynki podzielone na granicy płytek:
Nie mogę ręcznie scalić budynków, ponieważ jest ich o wiele za dużo, które zostały podzielone na granicach (to tylko przykład powiększenia). Szukam zautomatyzowanego sposobu rozwiązania tego problemu.
Niestety, każda strona podzielonych budynków ma inny identyfikator, więc nie mogę ich łatwo rozpuścić.
Jak sugerowałbyś, że mogę automatycznie scalać płytki budowlane?
Edytować
Teraz używam PostGIS do scalania podzielonych wielokątów na granicach kafelków. Oto instrukcja SQL, która robi to za mnie - jest wiele, wiele razy szybsza niż w 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();
Odpowiedzi:
Jeśli chcesz po prostu rozwiązać krawędzie i jesteś zadowolony z posiadania jednej dużej funkcji wielokąta wszystkich budynków, możesz po prostu użyć narzędzia fTools „Dissolve” („Vector / Geoprocessing / Dissolve”).
Jeśli chcesz zachować atrybuty (w przypadku wektora systemu operacyjnego, który byłby tylko identyfikatorem, który wydaje się raczej arbitralny), możesz podzielić warstwę rozpuszczonego wektora, a następnie przypisać atrybuty oryginalnej nierozpuszczonej warstwy za pomocą opcji „Połącz atrybuty” Według lokalizacji":
Jest to podzbiór dwóch plików kształtów budynków systemu operacyjnego, które zostały połączone w jeden plik kształtów za pomocą „Plików wektorowych / zarządzania danymi / Scal pliki kształtu w jeden”. Kolory są przypisywane losowo, aby pokazać poszczególne funkcje:
Wynika to z narzędzia „Rozpuszczanie”: wszystkie elementy zostały rozpuszczone w jedną cechę o identyfikatorze pierwszego obiektu, przerwa w trzech centralnych budynkach zniknęła:
Po podzieleniu obiektu za pomocą „Wektor / Geometria / Wieloczęściowy na pojedyncze części” budynki znów są pojedynczymi elementami, ale wszystkie mają ten sam identyfikator:
Uruchamiając „Narzędzia do zarządzania wektorem / danymi / Połącz atrybuty według lokalizacji” z dzieloną warstwą jako celem i oryginalną scaloną warstwą jako warstwą Połącz wektor, budynki są ponownie przypisywane swoim indywidualnym identyfikatorom:
źródło
v.dissolve
po przypisaniu wszystkim funkcjom jednakowego atrybutu zastępczego, tylko te, które mają wspólną granicę, zostaną połączone.