Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Warstwa shp z wysokościami budynków
05-02-2022, 00:34,
#1
Warstwa shp z wysokościami budynków
W jaki sposób utworzyć warstwę SHP z wysokościami budynków na podstawie danych LoD1/LoD2 z geoportalu.
Potrzebuję utworzyć SHP z wysokościami budynków celem zaimportowania jej do programi iNoise
problemy, jakienapotkałem to:
1. Po eksporcie warstwy do SHP ok. 50% budynków ma błędne geometrie.
2. W jaki sposób do pola tabeli SHP zapisać wysokość budynku. We właściwościach obiektu — pochodne są pola "Z interpolowane" (rozumie, że to teren przy punkcie) i "Z najbliższego wierzchołka" czyli chyba rzędna dachu budynku. Po odjęciu tych dwóch wartości będę miał wysokość budynku tylko jakie parametry muszę wpisać np. w kalkulatorze pól?

Może jest jakiś inny, prostszy sposób na uzyskanie warstwy SHP z geometriami i wysokościami budynków?
05-02-2022, 20:40,
#2
RE: Warstwa shp z wysokościami budynków
1. Popraw geometrię (jest takie polecenie/algorytm)?
2. Stwórz odpowiednie polecenie w kalkulatorze pół w stylu "pole_1" - "pole_2"
05-02-2022, 22:43,
#3
RE: Warstwa shp z wysokościami budynków
Dziękuję za zainteresowanie tematem, ale:
1. Poprawianie geometrii niewiele daje, bo warstwa SHP z GML LoD zawiera nakładające się obiekty, masę zduplikowanych węzłów i niedomknięte poligony. Przy kilkudziesięciu i więcej obiektach to automatycznie się nie da.
2. I tu jest problem, bo nie znalazłem funkcji, która wyciąga z geometrii obiektu wartość "closest vertex z"

Znalazłem rozwiązanie trochę na około wykorzystując specyfikę plików LoD z Geoportalu więc za jakiś czas może nie działać.


1. Pobrać z Geoportalu BDOT10k
2. Wczytać warstwę budynki np. PL.PZGiK.333.0807__OT_BUBD_A
3. jeśli mamy potrzebę to Usunąć zbędne budynki
4. Pobrać budynki 3D z Geoportalu
5. Zaznaczuć te co nas interesują i skopiować
6. Wkleić na warstwę tymczasową
7. Do Wklejonej warstwy tymczasowej dodać pole H
8. Uzupełnić pole H formułą: z(end_point( $geometry ))-z(start_point($geometry))
z(start_point($geometry)) zwraca wartość z pierwszego punktu geometrii i jest to rzędna terenu
z(end_point( $geometry )) zwraca wartość z ostatniego punktu geometrii i tak się składa, że jest to wartość rzędnej dachu
9. Złączyć warstwę z budynkami z BDOT10k z wklejoną warstwą tymczasową polami identyfikującymi budynki zaznaczając do podłączenia pole z wyliczoną wysokością budynku H
10. Zapisać nową warstwę z budynkami i ich wysokością.
09-02-2022, 21:40,
#4
RE: Warstwa shp z wysokościami budynków
czesc,
Qgis domyślnie nie odczytuje poprawnie plików CityGML dlatego proponuje następującą scieżkę:
LOD1:
1. Pobrać citygml-tools (v 1.4.4) i wykonać konwersję plików do formatu cityjson
2. Za pomocą wtyczki CityJSON Loader wczytać plik z opcja "load semantic surfaces"
3. obliczyć wartości z (min i max) za pomocą narzędzia "wyodrębnij wartość Z"
4. Znajdz obiekty, których min = max - tak uzyskasz powierzchnie budynków prosto z citygml
5. Jeśli nie zależy Ci na faktycznej wysokosci (poligon 2d) to usuń duplikaty i gotowe
6. Załaduj ponownie ten sam plik cityJSON bez opcji "load semantic surfaces", oblicz wysokość budynku odejmując min i max wys jak w punkcie 3
7. podłącz dane z punktu 6 do utworoznej warstwy z punktu 5 po np. buildingID

Lod2:
1 i 2 j.w
3. W lod 2 masz podział na odpowiednie klasy w polu "surface.type". Ciebie bedzie interesować "Groundsurface"
4. powtorz punkty 6 i 7

Mam nadzieje, że pomogłem Smile
17-02-2022, 09:53,
#5
RE: Warstwa shp z wysokościami budynków
Dziękuje — będę testował Smile


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  nowa warstwa shp mmz 6 13 445 23-03-2018, 14:02
Ostatni post: mmz
  Warstwa shp Just for Flame 1 8 788 17-12-2014, 18:52
Ostatni post: martel
  łączenie plików shp (merge shp) Bles 1 12 613 19-02-2013, 14:31
Ostatni post: borys

Skocz do: