Jeśli mam, powiedzmy, prostokątny i georeferencyjny plik rastrowy załadowany do dokumentu ArcMap 10 (.tiff z powiązanym tfw), to jak łatwo znaleźć jego punkt środkowy i zapisać ten punkt w warstwie wektorowej punktów?
Ponadto, jeśli mam wiele takich rastrów w moim dokumencie ArcMap, jak zastosować proces do wszystkich z nich?
Niestety nie mam doświadczenia w Pythonie. Dlatego programowe rozwiązanie jest OK, ale będę potrzebował konkretnych instrukcji, jak załadować istniejący skrypt do ArcGIS 10 i uruchomić go na rastrach w pytaniach. (BTW, rastry są w osobnych warstwach).
Odpowiedzi:
Chociaż pierwotne pytanie dotyczyło wersji 10.0, zaktualizowałem poniższy kod dla wersji 10.3.1.
Skopiuj wklej to do okna Pythona w arcmap, aby utworzyć funkcję RasterCenter:
Następnie możesz użyć okna Pythona, aby utworzyć klasę obiektów, wywołując
Na przykład, jeśli masz raster o nazwie DEM, wywołujesz RasterCenter („dem”) w oknie pythona, a to doda warstwę o nazwie „dem_center” z pojedynczym punktem na środku rastra. Warstwa jest przechowywana w pamięci, więc jeśli chcesz ją zachować, wyeksportuj ją.
Aby przejść o krok dalej, możesz zapisać skrypt w pliku .py i umieścić plik .py w ścieżce wyszukiwania dla Pythona. np. zapisz go jako RasterCenter.py i umieść w PYTHONPATH (zwykle miejscem na to jest C: \ Python26 \ ArcGIS10.0 \ Lib)
Następnie możesz zrobić:
źródło
Bardzo łatwo, łatwo uzyskaj właściwości rastrów i oblicz punkt środkowy od min, max x i y
I zwykłe sprawdzanie błędów itp ...
Następnie dodaj do swojej tabeli punktów za pomocą kursora aktualizacji
źródło