Mam projekt ArcMap 10 z wieloma grupami warstw. Jedna warstwa to raster DEM, inna grupa warstw to wiązka plików kształtów wektorowych (w tym punktów, linii i wielokątów). Klient chce, aby wszystkie dane wektorowe zawierały wartości Z.
Wypełnianie tabel atrybutów danych wektorowych wartościami X i Y jest dość łatwe, ale jak wypełnić wartości Z?
Czy istnieje sposób, w jaki mogę użyć kalkulatora pola, aby „pobrać” wartości wysokości z warstwy DEM dla każdej funkcji wektora?
Powinienem dodać, że nie mamy licencji na rozszerzenia 3D Analyst ani Spatial Analyst.
arcgis-desktop
arcgis-10.0
field-calculator
dem
Brad Torr
źródło
źródło
Odpowiedzi:
W ArcGIS robiłem to tylko z wektorami punktowymi - nie jestem pewien, jak zrobiłbyś to z wielokątami lub elementami linii. Niestety potrzebujesz jednak Spatial Analyst. W narzędziu Spatial Analyst Tools \ Wyodrębnianie \ Wyodrębnij wiele wartości do punktów i Wyodrębnij wartości do punktów . Wyodrębnianie wielu wartości do punktów jest lepsze, ponieważ pozwala zmienić nazwę pola z, do którego wyodrębniasz swoje wartości - Wyodrębnianie wartości do punktów nie pozwala na to. Mam problem z zrobieniem tego w ArcMap (narzędzie ulega awarii), ale działa dobrze w ArcCatalog.
(Darmowe) rozszerzenie Hawths Analysis Tools dla ArcMap miało narzędzie Punkt przecięcia, ale kilka lat temu zaprzestano jego opracowywania. Zostało zastąpione przez środowisko modelowania geoprzestrzennego , którego nigdy nie używałem.
SAGA-GIS (samodzielne darmowe oprogramowanie) ma w Shapes dwie funkcje - Siatka \ Dodaj wartości siatki do punktów i Kształty - Siatka \ Dodaj wartości siatki do kształtów, które prawdopodobnie mogą robić, co chcesz. Oto opis narzędzia Dodaj wartości siatki do kształtów:
Moim zdaniem SAGA jest najlepszym wyborem.
Mam nadzieję że to pomoże!
źródło
Nie próbowałem tego w przypadku wielokątów, ale działa naprawdę dobrze w przypadku punktów. W Arcmap 10, jeśli masz dostęp do narzędzia analityka 3d, możesz wyszukać kształt narzędzia interpolacji narzędzia. Następnie wybierz plik rastrowy, a warstwa wektorowa dostosuje wartości z, jeśli chcesz mieć wysokość w stopach, a DEM jest w metrach i pozwól temu działać . Po zakończeniu należy wyszukać narzędzie DODAJ XY i wybrać nowo utworzoną warstwę, a następnie obliczyć wartości X, Y, Z w tabeli atrybutów tych warstw.
źródło
może możesz użyć gdallocationinfo, aby pobrać wszystkie wartości Z, przekazując mu wartości X, Y. po uzyskaniu wartości Z użyj kalkulatora cech, aby dodać wartość Z do punktów tworzących każdą cechę. Wymagałoby to trochę skryptów, ale teoretycznie powinno to działać.
źródło
W zależności od jednostek lub wymaganej rozdzielczości zawsze możesz wyeksportować raster DEM do pliku kształtu wielokąta, bezpośrednio z przybornika, a następnie wykonać połączenie przestrzenne - jest to najłatwiejsze w przypadku punktów. Jeśli potrzebujesz wartości Z dla linii lub wielokątów, będziesz oczywiście potrzebował zdefiniowanych segmentów lub podziałów wielokątów przy każdej zmianie rzędnej, jak zgłosiła wektoryzowana siatka DEM. Można to zrobić za pomocą standardowych narzędzi geoprzetwarzania i połączeń przestrzennych, ale należy zwrócić szczególną uwagę na wymagania dotyczące rozdzielczości i ilość przetwarzania, które pochłonie duży zestaw danych.
źródło
Zalecam uzyskanie licencji 3D Analyst i korzystanie z informacji o powierzchni . Lub użyj Interpolate Shape, a następnie Dodaj informacje Z, co pozwala niektórym funkcjom zwracać wartości NA bez awarii całego programu. W przeciwnym razie istnieją dwie sprawdzone bezpłatne metody, które wymagają więcej pracy nóg. Możliwe jest ich wdrożenie z poziomu QGIS , dzięki czemu nie musisz opuszczać wygodnego środowiska GIS.
źródło
Narzędzie ESRI, którego chciałbyś użyć, to „Dodaj informacje Z”. Być może możesz uzyskać wersję próbną i sprawdzić, czy narzędzie będzie dla Ciebie przydatne. Jeśli uzyskanie rozszerzenia 3D Analyst nie jest opcją, jedyne, co przychodzi na myśl (inne niż rozwiązanie programowe), to usunięcie danych z ESRI i użycie jednej z bezpłatnych opcji, takich jak SAGA-GIS / qGIS, ich „Dodaj siatkę” Wartość do kształtów ”lub„ Statystyka siatki dla wielokątów ”nie jest tak elastyczna jak ESRI, ale robi to samo, jeśli szukasz średniej wysokości wzdłuż wielokąta / linii.
źródło
Wiem jak to zrobić dla punktów. Linie i wielokąty są różne, ponieważ przecinają wiele komórek siatki DEM. Możesz tworzyć punkty wzdłuż linii lub coś w tym rodzaju i wyodrębniać dla nich wartości. W Arc potrzebujesz analityka przestrzennego, aby uzyskać wartości, ale możesz je uzyskać przez Qgis (za darmo), choć nie tak przydatne. Musisz być wprawny w pracy z plikami Excel i konwertowaniu ich tam iz powrotem z plików kształtów. Qgis wygeneruje plik kształtu, który ma tylko wyodrębnione rzędne punktów, więc musisz skopiować i wkleić go do oryginalnej tabeli jako plik programu Excel (z wartościami X, Y, abyś mógł wrócić do pliku kształtu za pomocą „wyświetl dane x, y”). Musisz śledzić swoje projekcje, aby upewnić się, że wybierasz właściwy podczas konwersji z powrotem do pliku kształtu.
źródło