Преобразование .shp в .gpx с использованием QGIS?


34

Я хотел бы конвертировать .shp в .gpx.

Используя ГИС, я открываю свой шейп-файл и пытаюсь «сохранить как» gpx, но он выдает ошибку OGR:

не удалось создать поле ObjectId (ошибка OGR: поле имени 'ObjectId' не поддерживается в схеме GPX. Используйте опцию создания GPX_USE_EXTENSIONS, чтобы разрешить использование элемента).

Как я могу исправить эту ошибку?


Я попробовал это на другом ПК с той же ОС, и это работает! Андре Йост прав! Я до сих пор не знаю, почему это работает здесь и не работает на другом ПК. Должен ли я установить драйвер GPX ?? : | Спасибо Андре Жосту!
ePascoal

в подобной ситуации, когда в ошибке упоминается параметр или настройка, с которыми вы не знакомы, проверьте соответствующую страницу форматов GDAL или OGR для используемого вами драйвера, например, GPX . В некоторых случаях вам не нужно слепо применять параметр, так как это может повредить ваши данные. Дело в точке, вы не хотите indiscriminantly применять -skipfailuresв ogr2ogrбез исследования , почему он терпит неудачу в первую очередь.
elrobis

Ответы:


30

Просто сделайте то, что вам говорят: в Data sourceполе введите

GPX_USE_EXTENSIONS=YES

или отметьте «пропустить создание атрибута» внизу (или как оно называется на вашем языке).

В Layerполе вы также можете ввести

FORCE_GPX_TRACK=YES

чтобы получить треки вместо маршрутов.


Спасибо, это действительно работает, но когда я конвертирую shp в gpx, я теряю поле Id. Все мои поля gpx равны нулю. Как я могу соответствовать своему полю "id" (файл shp) полю "name" (файл gpx).
ePascoal

5
Боюсь, это невозможно при экспорте. это возможно с помощью ogr2ogr.exe из пакета gdal: ogr2ogr -f GPX -dsco GPX_USE_EXTENSIONS = NO shpexport.gpx D: \ path \ to \ your \ test.shp -lco FORCE_GPX_TRACK = YES -sql "ВЫБЕРИТЕ ИД КАК имя из имени слоя "
AndreJ

2
Вы можете использовать плагин диспетчера таблиц, чтобы переименовать поле id в шейп-файле на «name» перед экспортом и затем изменить его обратно. При необходимости вы должны добавить pyqgis.org/repo/contributed в список ваших репозиториев.
AndreJ

1
я попытался переименовать поле id в шейп-файле на имя перед экспортом, но не работает. Я ищу приложение, которое добавляет приложение Python с именем PostGPS, но не работает. Я попытался с ogr2ogr использовать ваш скрипт тоже безуспешно: / Я делаю что-то не так. Есть ли другое возможное растворение?
ePascoal

Странно, это сработало здесь. Вы должны установить «GPX_USE_EXTENSIONS = YES» в верхнем поле диалога «Сохранить как». С флажком это не работает. Для ogr2ogr вы должны использовать имя слоя, не обязательно такое же, как имя шейп-файла.
AndreJ

1

Кроме того, вы можете попробовать следующие шаги:

  1. Откройте файл SHP с помощью QGIS
  2. Выберите слой SHP
  3. Слой> Сохранить как ...> GPX

1

У нас сработал один простой трюк. В основном CSV-файле первое поле (ID / метка) должно называться «имя». а затем импортировать этот файл и сохранить как .gpx


0

Вы также можете использовать DNRGarmin из департамента природных ресурсов Миннисоты. Это бесплатный инструмент, который позволяет выполнять импорт и экспорт данных GPS.


0

Вы можете заставить:

GPX_USE_EXTENSIONS=YES

Как указано выше. Однако, если вы не понимаете или не управляете своими прогнозами, у вас возникнут дополнительные проблемы. Вы найдете ошибки в данных - неточность в точках или треках, если ваш CRS отличается от того, на что проецируются ваши шейп-файлы или как проецируется ваше рабочее пространство; WGS84 необходим для устройств GPS.

Лучшее решение, которое я нашел, - это выбрать «Перепроектировать слой» из вашей панели инструментов обработки. Это дает вам возможность пакетного преобразования нескольких слоев, правильного перепроектирования данных и сохранения в виде файла gpx.Перепроектировать слой в gpx

Единственная проблема, которую я не научился решать, это как сохранить ярлыки. Я надеюсь, что кто-то может знать, как или уловка, чтобы сделать это - это, кажется, не вариант. Мне приходилось либо использовать неуклюжее программное обеспечение Garmin BaseCamp, чтобы нажимать и редактировать ярлыки по отдельности, либо переходить к коду gpx и вводить код вручную - оба требуют много времени.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.