Utworzyć bufor w metrach?

15

Jestem bardzo nowy w świecie GIS, więc mój problem może być bardzo głupi, ale i tak spróbuję.

Cel

Biorąc pod uwagę listę współrzędnych długości / szerokości geograficznej, zapisaną jako .csvplik, chcę utworzyć bufor o odległości xkm wokół tych współrzędnych. (W przypadku, gdy jest to istotne, współrzędne te są lokalizacjami społeczeństw w zbiorze danych SCCS . Społeczeństwa te rozproszone są po całym świecie).

Problem

Mogę tworzyć bufory tylko z odległością w stopniach promieniowych, ale chcę je wykonywać w metrach (kilo). Zdaję sobie sprawę z następujących pytań i odpowiedzi, ale postępowanie zgodnie z tym, co tam sugeruję, nie rozwiązuje mojego problemu:

Co próbowałem ...

  1. Uruchamiam QGIS (v2.4) i Add delimited text layer
  2. wybierz mój .csvplik i pola x / y kliknijOK
  3. wybierz WGS 84jako mój CRS (również próbowałem, NAD83ale nie zrobił różnicy), kliknijOK
  4. kliknij warstwę prawym przyciskiem myszy i wybierz Save As...w oknie dialogowym następujące opcje i kliknij OK: wprowadź opis zdjęcia tutaj
  5. dodaj sccs_meter.shpjako warstwę do bieżącego projektu
  6. Wybierz Vector> Geoprocessing Tools> Buffers> Ustaw odległość buforze 10

Wynikiem jest bufor o promieniu około 1068 km, co sugeruje, że odległość bufora wynosi 10 stopni, a nie 10 metrów.

Co tutaj zrobiłem źle?

Pan K.
źródło
1
„Jaki jest przepływ pracy w przypadku buforowania w metrach / km przy użyciu warstw WGS84?” rozwiązuje problem, przeczytaj komentarze. Kiedy używasz narzędzia buforowego, używa on jednostek CRS warstwy, wybierając wgs84 użyje stopni. Możesz plik _meters, ale tak naprawdę nie zmieniłeś układu współrzędnych.
Alexandre Neto,
@AlexandreNeto: Przeczytałem odpowiedź Jake'a na to pytanie. Czy miałeś na myśli część dotyczącą tworzenia projekcji Azimuthal Equidistant, czy część dotyczącą zapisywania bieżącej warstwy przy użyciu innego CRS? Uratowałem mój, używając NAD83 (jak pokazano na zdjęciu), który ma być w metrach, ale nadal tworzy bufory w stopniach.
Herr K.,
3
NAD83 używa również stopni dla jednostek. Istnieje wiele projekcji, które wykorzystują dane odniesienia NAD83, które wykorzystują mierniki, być może chciałeś zamiast tego wybrać jeden z nich.
Evil Genius,

Odpowiedzi:

17

W kroku 4 musisz zmienić CRS z NAD83 na inną projekcję, która wykorzystuje mierniki jako jednostki.

To zależy od tego, jaki zakres danych jest najlepszy. Niestety Twoje dane znajdują się na całym świecie, więc możesz:

  1. Utwórz niestandardowy CRS za pomocą aeqd (lub tmerc) dla każdego z nich i narysuj z nim tylko jeden bufor. Praktycznie wystarczy utworzyć bufor tylko raz i wymienić informacje CRS w plikach .prj i .qpj. Współrzędne bufora względem jego środka zawsze będą takie same.
  2. Pogrupuj dane według stref UTM i użyj UTM CRS tej strefy dla tych punktów.
  3. Podobnie do UTM, zgrupuj punkty w strefach szerokości geograficznej (np. Co 10 stopni) i utwórz dla każdej grupy niestandardowy konformalny stożkowy 2SP CRS firmy Lambert . Będzie to znacznie szybsze niż korzystanie ze wszystkich północnych i południowych stref UTM świata.
  4. Użyj pseudo mercatora EPSG: 3857 dla wszystkich. Bufory będą wyglądały jak ładne kręgi, ale rzeczywisty rozmiar będzie się zmniejszał i bardziej zniekształcany w stosunku do nadchodzących biegunów.
AndreJ
źródło
Cześć, mam podobną sytuację (ale z poliliniami rozmieszczonymi na całej wysokości i potrzebującymi 50 km bufora po obu stronach) i jestem trochę zdezorientowany, dlaczego użyłbyś jednej z najlepszych opcji, jeśli możesz użyć czwartej ( co wydaje się najłatwiejsze). Czy to tylko dlatego, że nie pokaże wyraźnie zniekształceń, które możesz chcieć zobaczyć, pomimo dokładnego wyniku? Dzięki! :)
Amroco
@Amroco EPSG: 3857 należy unikać, jeśli powinna być dokładnie określona odległość, a ty jesteś daleko od równika.
AndreJ
2

Szybki i brudny sposób: użyj odległości buforowej 0,01 ° na km. To są średnie stopnie na km przy 37 ° lat. i zniekształca rozmiar bufora NS i EW. Ale może być wystarczająco dokładne dla twojego celu.

użytkownik95704
źródło
cześć, czy wiesz, jak wielkie jest zniekształcenie na równi. a Polacy?
Amroco
Zakładając idealną kulę (nie geoidę): równik: 1 ° lat = ~ 111111 m, 1 ° długość = ~ 111133 m, śr. = 111122 m Słupy: 1 ° lat = ~ 111111 m, 1 ° długość = 0 m, śr. = 55556 m
Flo
1

Możesz sprawdzić link do strony geospatialearth link . Musisz zezwolić Adobe Flash w przeglądarce. Zalecany jest Firefox.

Jako programista, aby utworzyć bufor punktu, możesz użyć javascript geographiclib wraz z js2shapefile. Będziesz mógł utworzyć wiele punktów o równych kątach w stałej odległości x wokół każdego punktu pliku csv przy pomocy geographiclib, a następnie przekonwertować go na plik kształtu za pomocą js2shapefile.

Po prostu sprawdź powyższy link, będziesz w stu procentach zadowolony.

GeoSpatialEarth.in
źródło
Pomocne jest dodanie trochę dodatkowych informacji o tym, co wyjaśnia link, który rozwiąże problem. Linki zewnętrzne bardzo się zmieniają / psują.
MaryBeth
@MatyBeth Powyższy link to mała forma, za pomocą której użytkownik przesyła plik .csv, który jest odczytywany w przeglądarce za pomocą javascript. Wyświetli podgląd tego pliku csv. Użytkownik musi wybrać kolumnę szerokości i długości geograficznej oraz rodzaj geometrii, którą chce pobrać, np. Punktowy plik kształtu, bufor prostokątny o podanej długości i wysokości w metrach lub masło w kształcie koła o podanym promieniu w metrach i liczbie segmentów. Użytkownik ma możliwość zapisania bufora jako pliku shapefile lub pliku KML.
GeoSpatialEarth.in