Tworzenie pliku kształtu na poziomie hrabstwa z zestawu punktów w odległości 30 x 30 km za pomocą ArcGIS na komputery?

9

Mam zestaw danych w formie csv, na przykład:

latitude, longitude, value
-45, 45, 10
....

Na podstawie tych danych chciałbym obliczyć średnie na poziomie hrabstwa, korzystając z ArcGIS lub R + grass.

Mam warstwę ArcGIS USA Counties, ale nie udało mi się ukończyć połączenia przestrzennego.

W jaki sposób mogę to zrobić?

Abe
źródło

Odpowiedzi:

4

Przepływ pracy używany do generowania pliku kształtu na poziomie powiatu ze średnią (z) w każdym powiecie z tabeli danych xyz w ArcGIS

zauważ, że jest to oparte na sugestii @ MLowry, dodając prawie instrukcje krok po kroku.


Otwórz ArcCatalog

  1. utwórz nową osobistą geobazę (np. foo.mdb)
  2. plik -> nowy -> osobista geobaza
  3. dodaj dane

    • kliknij prawym przyciskiem myszy map.csv -> eksport do geobazy (pojedynczy) -> foo.mdb
    • kliknij prawym przyciskiem myszy counties.lyr -> eksportuj do geobazy (pojedynczy) -> foo.mdb
  4. utwórz funkcję klasy (pliki .shp) z tabeli xy

    • otwórz foo.mdb
    • kliknij prawym przyciskiem myszy tabelę map.csv -> utwórz klasę obiektów z Xytable
    • pola wejściowe x = lon, y = lat, z = wydajność
    • układ współrzędnych importu współrzędnych wejściowych -> z powiatów.lyr (lub równoważnie -> geograficzny .. -> świat -> wgs_1984 -> otwórz -> ok)
  5. importuj klasy obiektów do geobazy (wiele)

    • wybierz pliki shp utworzone wcześniej. krok -> dodaj -> dobrze

Otwórz ArcMap

  1. Dodaj dane

    • wybierz foo.mdb -> CTL + wybierz tabele -> otwórz
  2. Łączenie przestrzenne

    • ArcToolbox -> Narzędzia analizy -> Nakładka -> Łączenie przestrzenne ->
    • Funkcje docelowe: counties.lyr
    • Dołącz do funkcji: mapa tabeli xyz
    • Wyjściowa klasa obiektów: nazwa_przestrzeni_pliku
    • Dołącz do operacji: JOIN_ONE_TO_ONE
    • Opcja dopasowania: najbliższa
    • Mapa pól funkcji łączenia: usuń niechciane pola (tylko STATE_FIPS, CNTY_FIPS, wymagane wartości-Z
    • Promień wyszukiwania: 30 km
    • Kliknij OK
    • Wartość Z = wydajność; wybierz „średnią” (lub alternatywną statystykę)
David
źródło
@David Dzięki za szczegółową odpowiedź ... będę musiał to sprawdzić.
Abe
@ Możesz edytować, kiedy to zrobisz. Zrobiłem to CW
David LeBauer
@David W tej sytuacji IDW wygeneruje nieprawidłowe wyniki dla statystyk strefowych: patrz dyskusja po odpowiedzi @ scw.
whuber
@whuber. Dzięki za zwrócenie na to uwagi. Kiedy skończyłem, zapomniałem, że pierwotnym celem było połączenie przestrzenne punktów z powiatami; naprawiony.
David LeBauer,
@David Thanks. Ale teraz jestem zdezorientowany. Po pierwsze, gdzie w tym przepływie pracy faktycznie tworzysz „warstwę rastrową”, jak głosi tytuł? Po drugie, w jaki sposób powstają trzy warstwy? Plik CSV reprezentuje jedynie zestaw punktów (x, y), każdy z jednym atrybutem numerycznym (z).
whuber
6

Wygląda na to, że możesz przekonwertować plik .csv na motyw zdarzenia, a następnie wyeksportować do pliku .shp, a następnie wykonać połączenie przestrzenne z nowym .shp w warstwie hrabstwa, a BOOM, możesz przejść do obliczeń.

MLowry
źródło
6

Ogólne podejście polega na przekształceniu regularnie rozmieszczonych danych punktowych w raster (XYZ na raster w Arc *; v.in.xyz w GRASS), a następnie wykonanie operatora statystyki strefowej w celu agregacji wartości komórek w każdym powiecie i obliczenia statystyk ( średnia jest jedną ze standardowych obliczonych statystyk). Aby wykonać statystyki, użyj statystyki strefowej w Arc * lub v.rast.stats w GRASS.

Jeśli potrzebne do zrobienia bardziej zaawansowanych statystyk, można wykonać analizę w R z rastera spjednak jego trochę bardziej skomplikowane.

scw
źródło
Dobry pomysł, ale jeśli tablice punktowe nie są poprawnie zorientowane względem współrzędnych, ponowne próbkowanie nastąpi w konwersji do rastra, a ty będziesz na łasce algorytmu ponownego próbkowania: średnie będą prawdopodobnie nieznacznie wyłączone, bez względu na wszystko .
whuber
Racja, jeśli rozmiar komórki jest ustawiony na zgrubne, może wystąpić ponowne próbkowanie. W przybliżeniu powinieneś być w stanie ustawić rozmiar komórki na połowę minimalnej odległości między dowolnymi dwoma punktami i uniknąć tego problemu. Takie podejście ma tę wadę, że musi radzić sobie z ponownym próbkowaniem, ale uważam, że jest znacznie lepsze niż liczba punktów jest duża (dziesiątki tysięcy lub więcej).
scw
@scw Ponowne próbkowanie zachodzi bez względu na rozmiar komórki (chyba że dane są już idealnie wyrównane z siatką). Podczas korzystania z drobniejszego rozmiaru komórki prawdopodobnie otrzymasz gorsze odpowiedzi, ponieważ większość wartości siatki jest interpolowana między oryginałami. O ile nie używasz interpolacji najbliższego sąsiada, powoduje to, że skrajne wartości są niedostatecznie reprezentowane. Na średnią wpłynie to tylko nieznacznie; inne statystyki, takie jak odchylenie standardowe, mogą być bardziej dotknięte.
whuber
@ whuber Wydaje mi się, że rozumiem, skąd bierze się nasze nieporozumienie - nie opowiadam się za przekształceniem danych w ciągłą powierzchnię, a jedynie umieszczeniem wartości punktowych (jeśli istnieją) w regularnej siatce rastrowej. Tak więc zdecydowana większość siatki pozostanie NULL, a tylko sporadyczne wartości w lokalizacjach komórek pokrywają się z lokalizacjami punktów.
scw
@scw Ah, bardzo dobrze! Dziękuję za wyjaśnienie. W efekcie robisz oparty na siatce ekwiwalent łączenia przestrzennego zalecanego przez @MLowry.
whuber