Konwertujesz .shp na .gpx za pomocą QGIS?

34

Chciałbym przekonwertować .shp na .gpx.

Korzystając z GIS, otwieram plik shapefile i próbowałem „zapisać jako” gpx, ale powoduje to błąd OGR:

utworzenie pola ObjectId nie powiodło się (błąd OGR: Pole nazwy „ObjectId” nie jest obsługiwane w schemacie GPX. Użyj opcji tworzenia GPX_USE_EXTENSIONS, aby zezwolić na użycie elementu).

Jak mogę naprawić ten błąd?

ePascoal
źródło
Próbowałem tego na innym komputerze z tym samym systemem operacyjnym i działa! Andre Joost ma rację! Nadal nie wiem, dlaczego to działa tutaj i nie działa na innym komputerze. Czy powinienem zainstalować sterownik GPX? : | Dzięki, André Joost!
ePascoal
w takiej sytuacji, gdy błąd wymienia parametr lub ustawienie, którego nie znasz, sprawdź odpowiednią stronę formatu GDAL lub OGR dla używanego sterownika, np . GPX . W niektórych scenariuszach nie będziesz chciał na ślepo zastosować opcji, ponieważ może to zaszkodzić twoim danym. Case-w-point, byś nie chcą indiscriminantly stosuje -skipfailuressię ogr2ogrbez badania dlaczego to braku w pierwszej kolejności.
elrobis,

Odpowiedzi:

30

Po prostu rób to, co ci powiedziano: w Data sourcepolu wpisz

GPX_USE_EXTENSIONS=YES

lub zaznacz „pomiń tworzenie atrybutów” pod spodem (lub jak to się nazywa w twoim języku).

W Layerpolu możesz także wpisać

FORCE_GPX_TRACK=YES

aby uzyskać trasy zamiast tras.

AndreJ
źródło
Dzięki, to naprawdę działa, ale kiedy przekonwertowałem shp na gpx, straciłem pole Id. Wszystkie moje pola GPX są puste. Jak mogę powiązać moje pole „id” (plik shp) z polem „name” (plik gpx).
ePascoal
5
Obawiam się, że nie jest to możliwe przy eksporcie. jest to możliwe dzięki pakietowi ogr2ogr.exe z pakietu gdal: ogr2ogr -f GPX -dsco GPX_USE_EXTENSIONS = NO shpexport.gpx D: \ ścieżka \ do \ your \ test.shp -lco FORCE_GPX_TRACK = TAK -sql "WYBIERZ id ​​JAK NAZWA z nazwy layername „
AndreJ
2
Możesz użyć wtyczki menedżera tabel, aby zmienić nazwę pola identyfikatora w pliku shapefile na „name” przed eksportowaniem i zmienić go później. W razie potrzeby musisz dodać pyqgis.org/repo/contised do listy swoich repozytoriów.
AndreJ
1
Próbowałem zmienić nazwę pola identyfikatora w pliku shapefile na nazwę przed eksportowaniem, ale nie działa. szukam aplikacji, która dodaje aplikację Python o nazwie PostGPS, ale nie działa. Próbowałem z ogr2ogr również użyć twojego skryptu bez powodzenia: / Czy robię coś złego? Czy jest możliwe inne rozwiązanie?
ePascoal,
Dziwne, działało tutaj. Musisz ustawić „GPX_USE_EXTENSIONS = YES” w górnym polu okna dialogowego Zapisz jako. Z polem wyboru nie działa. W przypadku ogr2ogr musisz użyć nazwy layern, niekoniecznie takiej samej jak nazwa shapefiles.
AndreJ
1

Alternatywnie możesz spróbować wykonać następujące czynności:

  1. Otwórz plik SHP w QGIS
  2. Wybierz warstwę SHP
  3. Warstwa> Zapisz jako ...> GPX
Michael Fayad
źródło
1

Jedna prosta sztuczka zadziałała dla nas. W głównym pliku csv pierwsze pole (identyfikator / etykieta) powinno mieć nazwę „nazwa”. a następnie zaimportuj ten plik i zapisz jako .gpx

pooja
źródło
0

Możesz również użyć DNRGarmin z Departamentu Zasobów Naturalnych Minnisota. Jest to bezpłatne narzędzie, które umożliwia importowanie i eksportowanie wielu danych GPS

Ryan Garnett
źródło
0

Możesz wymusić:

GPX_USE_EXTENSIONS=YES

Jak wskazano powyżej. Jeśli jednak nie rozumiesz swoich prognoz i nie zarządzasz nimi, napotkasz dodatkowe problemy. W danych znajdziesz błędy - niedokładność punktów lub ścieżek, jeśli Twój CRS różni się od tego, w jaki sposób są wyświetlane twoje pliki kształtów lub jak twoja przestrzeń robocza jest rzutowana; WGS84 jest potrzebny do urządzeń GPS.

Najlepszym rozwiązaniem, jakie znalazłem, jest wybranie „Ponowna warstwa” z przybornika przetwarzania. Daje to opcję grupowej konwersji wielu warstw, poprawnego przerzucenia danych i zapisania jako plik GPX.Ponownie rzutuj warstwę na gpx

Jedynym problemem, którego nie nauczyłem się rozwiązywać, jest sposób zachowania etykiet. Mam nadzieję, że ktoś może wiedzieć, jak to zrobić lub zrobić sztuczkę - nie wydaje się to możliwe. Musiałem albo użyć niezgrabnego oprogramowania Garmin BaseCamp, aby klikać i korygować etykiety osobno, albo przejść do kodu GPX i wpisać kod ręcznie - oba są czasochłonne.

Mark Thompson
źródło