Budujesz skuteczne mapy cieplne?

65

Korzystanie z ArcGIS, QGIS, Grass i / lub GVSIG:

  • Jakie narzędzia i procesy są zaangażowane w tworzenie skutecznych map cieplnych?
  • Jakie są zaangażowane wtyczki?
  • Jakie są główne wymagania dotyczące danych?
  • Jakie są wady istniejących map ciepła?
  • Jakie są niektóre problemy, których mapy ciepła nie mogą skutecznie rozwiązać?
  • Jak nie robić mapy cieplnej?
  • Czy istnieją lepsze alternatywy (w tym samym kontekście) niż mapa ciepła do reprezentacji danych?
dassouki
źródło
Mimo że nie korzysta z żadnego z określonych narzędzi, warto przyjrzeć się również temu skryptowi w języku Python jjguy.com/heatmap
radek
1
Dassouki, czy mógłbyś wyjaśnić, co rozumiesz przez „mapę cieplną”? Wydaje się, że Wikipedia uważa, że ​​jest to interpretacja choropleth szeregu wartości. Jest to subtelnie, ale co ważne, różne od wszystkich odpowiedzi w tym wątku, które zakładają, że oznacza to po prostu mapę dowolnego atrybutu opartego na siatce (lub obrazie), szczególnie takiego, który został interpolowany na siatce z danych punktowych. Odpowiedzi na każde z wypunktowanych pytań będą inne dla prawdziwej mapy ciepła.
whuber

Odpowiedzi:

74

To pytanie zostało przekonwertowane na Wiki Wiki i wiki zablokowane, ponieważ jest to przykład pytania, które szuka listy odpowiedzi i wydaje się być wystarczająco popularne, aby chronić je przed zamknięciem. Powinno to być traktowane jako szczególny przypadek i nie powinno być postrzegane jako rodzaj pytania, które jest zachęcane w tej lub dowolnej witrynie Stack Exchange, ale jeśli chcesz wnieść do niego więcej treści, możesz to zrobić, edytując tę ​​odpowiedź .


Istnieją co najmniej dwa różne rodzaje map cieplnych:

  1. Mapy cieplne przedstawiające koncentrację punktów, oraz
  2. Mapy termiczne reprezentujące rozkłady wartości atrybutów

Każda metoda ma zalety i problemy, obawiam się, że szczegółowe opisy znacznie wykraczają poza te pytania i odpowiedzi.

Spróbuję wymienić niektóre metody i funkcje dla QGIS i GRASS.

Koncentracja punktów

Jeśli śledzisz ruch dzikiej przyrody, pojazdów itp., Warto ocenić regiony o dużej koncentracji komunikatów o lokalizacji.

Narzędzia: np. Wtyczka QGIS Heatmap (dostępna w wersjach> 1.7.x) lub GRASS v.neighbors lub v.kernel

Rozkłady wartości atrybutów

Mówimy tutaj w zasadzie o metodach interpolacji. Metody obejmują:

  1. IDW

    W zależności od implementacji może to być globalny (wykorzystujący wszystkie dostępne punkty w zestawie) lub lokalny (ograniczony liczbą punktów lub maksymalną odległością między punktami a pozycją interpolowaną).

    Narzędzia: wtyczka interpolacyjna QGIS (globalna), GRASS v.surf.idw lub r.surf.idw (lokalny)

  2. Splajny

    Ponownie ogromna liczba możliwych wdrożeń. B-splajny są popularne.

    Narzędzia: GRASS v.surf.bspline

  3. Kriging

    Metoda statystyczna z różnymi podtypami.

    Narzędzia: GRASS v.krige (dzięki om_henners za wskazówkę) lub używając R.

podmrok
źródło
1
Istnieje interfejs poprzez GRASS dla kriging, v.krige ( grass.osgeo.org/wiki/V.krige_GSoC_2009 ), ale nadal wymaga R, a także różnych pakietów R i powiązań wymienionych na stronie Wiki GRASS.
om_henners
Od QGIS 2.8 istnieje mechanizm renderujący Heatmap dla warstw punktowych. Nie trzeba tworzyć nowych danych.
Alexandre Neto,
34

Statystycznie oto, jak powinieneś zrobić mapę ciepła:

1) Zintegruj funkcje punktów. Ideą integracji jest wzięcie punktów, które należy uznać za zbieżne, i połączenie ich w jedno miejsce. Lubię korzystać z analizy najbliższego sąsiada i stamtąd używać odpowiedniej wartości. (Na przykład, robiąc mapę ciepła przestępczości, używam przeciętnego pierwszego najbliższego sąsiada dla bazowego zestawu danych działek, na podstawie którego przestępstwa są geokodowane).

2) Zbieraj wydarzenia . To tworzy przestrzenną wagę dla wszystkich twoich zintegrowanych punktów. Np. Jeśli masz 5 wydarzeń w jednym miejscu, stanie się jednym punktem o wadze 5. Jest to niezbędne dla dwóch kolejnych kroków. Jeśli chcesz agregować atrybut w połączonych zdarzeniach, tj. Różne zdarzenia mają większą wagę, możesz użyć sprzężenia przestrzennego jeden do jednego . Użyj danych wyjściowych „zbieraj zdarzenie” jako celu, a oryginalnych zdarzeń zintegrowanych jako funkcji łączenia. Ustaw reguły scalania mapy pola połączone statystycznie atrybutem zintegrowanych zdarzeń (zwykle z SUMĄ, chociaż możesz użyć innych statystyk).

3) Określ szczytową autokorelację przestrzenną za pomocą I Morana . Tak jak mówi, uruchamiaj globalne I Morana w różnych odstępach czasu, aby określić szczytowe pasmo autokorelacji przestrzennej w skali odpowiedniej do przeprowadzanej analizy. Możesz ponownie uruchomić najbliższego sąsiada na zebrane zdarzenia, aby określić zakres początkowy testów I Morana. (np. użyj maksymalnej wartości dla pierwszego najbliższego sąsiada)

4) Uruchom Getis-Ord Gi * . Użyj stałego zakresu odległości na podstawie analizy I Morana lub użyj stałego zakresu odległości jako strefy obojętności. Twoja waga przestrzenna z zebranych zdarzeń jest polem liczbowym. To da ci wyniki Z za każdy punkt zdarzenia w twoim zestawie.

5) Uruchom IDW przeciwko wynikom z Getis-Ord Gi *.

Ten wynik różni się znacznie od gęstości jądra. Pokaże ci, gdzie wysokie wartości i niskie wartości są grupowane, a nie tylko tam, gdzie wartości są wysokie, bez względu na grupowanie, jak w przypadku gęstości jądra.

blord-castillo
źródło
20

Chociaż lubię mapy cieplne, zdaję sobie sprawę, że są one często niewłaściwie używane.

Zazwyczaj to, co widziałem, to proces, w którym kolor każdego piksela jest oparty na wyniku funkcji ważonej odwrotną odległością zastosowanej do zbioru punktów. Za każdym razem, gdy mapa ma wiele nakładających się znaczników punktów, myślę, że warto rozważyć mapę termiczną.

Oto interfejs WWW .

GeoChalkboard ma do tego dobry samouczek .

Możesz użyć IDW w ArcGIS.

Kirk Kuykendall
źródło
7
Pamiętaj tylko, że IDW jest bardzo wrażliwy na lokalizacje gromadzenia danych. Na przykład, jeśli dane są pogrupowane, potencjalnie wystąpią złe anomalie matematyczne.
Reed Copsey
@Reed Copsey Jaką alternatywę byś zaproponował?
fmark
2
@fmark: Istnieje wiele procedur interpolacji, których można użyć zamiast IDW, w tym podejścia oparte na naturalnym sąsiedztwie / triangulacji, Kriging, splajnowanie / minimalne napięcie itp.
Reed Copsey
@ Reed Nigdy tak naprawdę nie martwiłem się matematyczną poprawnością map cieplnych (może powinienem być). Ale wydaje mi się, że w wielu sytuacjach użytecznie komunikują się w klastry. Oto przykład mapy, która moim zdaniem może być użytecznie renderowana jako mapa cieplna
Kirk Kuykendall
2
Myślę, że są doskonałym narzędziem. Poprawność matematyczna / statystyczna jest prawdopodobnie ważna tylko wtedy, gdy używasz wyników do podejmowania decyzji, ale jeśli ma to na celu przekazanie ogólnego sensu rozkładu, prawdopodobnie IDW jest w porządku. (Jest to bardziej kwestia klastrów powodujących duże „wypaczenia” w wynikach mapy cieplnej, szczególnie między klastrami, z powodu anomalii matematycznych.)
Reed Copsey
12

Do prostych map cieplnych i generowania linii konturu użyłem QGis z intgracją Grass:

  1. Załaduj punkty danych
  2. Załaduj kształt ograniczający - np. Granicę hrabstwa
  3. Utwórz zestaw map Trawa
  4. Otwórz Przybornik trawy i kliknij listę modułów, aby wyszukać każde narzędzie
  5. Załaduj moduł v.in.ogr.qgis i załaduj zarówno dane punktu, jak i kształt granicy, za każdym razem pamiętając o kliknięciu widoku wyjściowego dla każdego z nich - nadaj każdemu przydatną nazwę, taką jak pointdata i maskshape
  6. Przekształć maskshape w raster, aby użyć go jako maski z v.to.rast i dodać do zestawu map - nazwij to jak maskraster - może to zająć trochę czasu dla złożonych wielokątów.
  7. Załaduj moduł r.mask , aby wymusić ograniczenie następnej akcji do obszaru bufora.
  8. Uruchom v.surf.rst, aby utworzyć interpolowaną siatkę z danych punktowych - wybierz odpowiednią kolumnę jako pole atrybutu do wykonania interpolacji i nazwij ją czymś w rodzaju rastersurface . Jest to bit, który wymaga czasu i generuje raster, który może być użyty jako mapa cieplna lub może być zacieniony w 3D.
  9. Zamknij przybornik Trawa
  10. Użyj wtyczki GDAL Raster Contours, wybierając jako dane wejściowe raster GRASS; pozostaw domyślną wartość poziomów na 10 i wybierz katalog wyjściowy, w którym zapisany zostanie plik kształtu konturów. Zaznacz „Nazwa atrybutu” i wpisz nazwę.

Uwaga: Aby to zadziałało, zestawy danych powinny być w tej samej projekcji!

Adrian
źródło
4

Myślę, że odpowiedź na to pytanie została w dużej mierze udzielona, ​​z wyjątkiem kilku kwestii dotyczących problemów.

Mapy cieplne mogą być świetne, ale klasyczna wada i problem leży w interpretacji. Weź różnicę między mapą ciepła zdarzeń przestępczych w porównaniu z mapą (gorąca lub inną) wskaźnika przestępczości / proporcji. Chociaż mapa cieplna zdarzeń może być użyteczna pod względem identyfikacji ogólnej gęstości zdarzeń, jest ślepa jako oszacowanie ryzyka, ale często byłaby interpretowana lub niewłaściwie używana w ten sposób. Rozważ taką samą liczbę zdarzeń w regionie o tej samej wielkości i kształcie, ale o innej populacji, podczas gdy przestępczość może się koncentrować na danym obszarze, może to być spowodowane tym, że w tej przestrzeni jest więcej ludzi. Ponadto stawki za dane dotyczące zdarzeń, podobnie jak w przypadku przestępstw, mogą być trudne do modelowania, ponieważ w celu stworzenia rastra mapy cieplnej mogą wymagać zdarzenia podobnego do modelu populacji, ale ludzie nie mają tendencji do zatrzymywania się.

Drugi problem polega na tym, że mapa cieplna ogranicza się do rozważenia pojedynczej skali kosmicznej, a wybranie tej skali kosmicznej, tj. Wielkości jądra lub szybkości rozpadu, może być skomplikowane i zależy od celów badania, ale musi być uzasadnione . Jeśli chodzi o zidentyfikowanie centrum najsilniejszego gromady i skalę, w jakiej występuje (być może w celu zidentyfikowania źródła wybuchu choroby i czynnika jej rozprzestrzeniania się), lepszym rozwiązaniem może być rozważenie wielu skal. Przy odpowiednich wagach proporcjonalnych do skali / obszaru, aby uzyskać trójwymiarowy raster, gdzie lokalne maksima w rastrze w skali przestrzennej 3D wskazują położenie środka klastrów i ich odpowiednie rozmiary oraz trwałość między skalami.

Craig Stobbs
źródło
1
Robisz kilka bardzo ważnych punktów. Te dwa problemy są w rzeczywistości klasycznymi problemami geograficznymi. Pierwsza kwestia związana jest z interpretacją leżącej u podstaw niejednorodności przestrzeni, tj. Ponieważ rozmieszczenie ludzi jest nierównomierne (z niektórymi obszarami słabo zaludnionymi), możliwość przestępstwa jest również nierównomierna. Wzór w jednym jest wymuszony przez wzór w drugim. Drugie zagadnienie skali jest częścią problemu modyfikowalnej jednostki powierzchni (MAUP), który wpłynie na każdą miarę zależną od obszaru pomiaru, np. Gęstość. Jest to klasyczny problem w większości prac geograficznych.
WhiteboxDev
Rozważ także wielokąty Thiessena jako pierwsze spojrzenie na wzory przestrzenne. Są dość proste, ale potrafią również pokazać wiele szczegółów, są dokładnym interpolatorem i wydają się omijać
Tom Dilts