QGISを使用して.shpを.gpxに変換しますか?


34

.shpを.gpxに変換したいと思います。

GISを使用して、シェープファイルを開き、gpxを「名前を付けて保存」しようとしましたが、OGRエラーが発生します。

フィールドObjectIdの作成に失敗しました(OGRエラー:「ObjectId」という名前のフィールドはGPXスキーマではサポートされていません。GPX_USE_EXTENSIONS作成オプションを使用して、要素の使用を許可してください)。

このエラーを修正するにはどうすればよいですか?


私はこれを同じOSの別のPCで試しましたが、動作します!アンドレ・ヨーストは正しいです!これがなぜここで動作し、他のPCで動作しないのかはまだわかりません。私はGPXドライバをインストールする必要があります?:| おかげでアンドレ・ヨースト!
ePascoal

そのような状況で、エラーに慣れていないパラメーターまたは設定が記載されている場合は、使用しているドライバー(GPXなど)の関連するGDALまたはOGR形式のページを確認してください。シナリオによっては、データを傷つける可能性があるため、オプションを盲目的に適用したくない場合があります。ケースインポイントでは、そもそもなぜ失敗するのかを調査せずに、無差別に応募したくないでしょう。-skipfailuresogr2ogr
elrobis

回答:


30

あなたが言われたことをしてください:Data sourceフィールドに、入力してください

GPX_USE_EXTENSIONS=YES

または、下にある「属性の作成をスキップする」(または言語で指定されている名前)を確認します。

ではLayerフィールド、あなたも入力できます

FORCE_GPX_TRACK=YES

ルートの代わりにトラックを取得します。


おかげで、本当に機能しますが、shpをgpxに変換すると、IDフィールドが失われました。私のgpxフィールドはすべてnullです。「id」フィールド(shpファイル)を「name」フィールド(gpxファイル)に対応させるにはどうすればよいですか。
-ePascoal

5
これはエクスポートでは不可能だと思います。ogr2ogr -f GPX -dsco GPX_USE_EXTENSIONS = NO shpexport.gpx D:それはGDALパッケージからogr2ogr.exeで可能である\パス\ layernameから名前AS \ご\ test.shp -lco FORCE_GPX_TRACK = YES -sql「SELECT IDへ"
AndreJ

2
テーブルマネージャープラグインを使用して、エクスポートする前にシェープファイルのidフィールドの名前を「name」に変更し、後で元に戻すことができます。必要に応じて、pyqgis.org / repo / contributedをリポジトリのリストに追加する必要があります。
AndreJ

1
エクスポートする前に、シェープファイルのidフィールドの名前をnameに変更しようとしましたが、機能しません。PostGPSという名前のpythonアプリを追加するアプリケーションを探しますが、機能しません。私もogr2ogrでスクリプトを使用してみましたが成功しませんでした:/何かおかしいです。他に可能な解決策はありますか?
ePascoal

奇妙なことに、ここで機能しました。[名前を付けて保存]ダイアログの上部フィールドに「GPX_USE_EXTENSIONS = YES」を設定する必要があります。チェックボックスでは機能しません。ogr2ogrの場合、レイヤー名を使用する必要があります。シェープファイル名と同じである必要はありません。
AndreJ

1

または、次の手順を試すことができます。

  1. QGISでSHPファイルを開きます
  2. SHPレイヤーを選択します
  3. レイヤー>名前を付けて保存...> GPX

1

1つの簡単なトリックが役に立ちました。メインのCSVファイルでは、最初のフィールド(ID /ラベル)の名前は「name」にする必要があります。そして、そのファイルをインポートして.gpxとして保存します


0

Natural ResourcesのMinnisota部門のDNRGarminを使用することもできます。これは無料のツールであり、GPSデータの多くのインポートとエクスポートを行うことができます


0

強制できます:

GPX_USE_EXTENSIONS=YES

上記のように。ただし、予測を理解または管理していない場合は、追加の問題が発生します。データにエラーが見つかります。CRSがシェープファイルの投影方法やワークスペースの投影方法と異なる場合、ポイントまたはトラックの不正確さが見つかります。GPSユニットにはWGS84が必要です。

私が見つけた最良の解決策は、処理ツールボックスから「レイヤーの再投影」を選択することです。これにより、複数のレイヤーをバッチ変換し、データを適切に再投影し、gpxファイルとして保存するオプションが提供されます。レイヤーをGPXに再投影する

私が解決することを学んでいない唯一の問題は、ラベルを保持する方法です。私は誰かがこれを行う方法を知っているか、またはトリックを持っていることを望んでいます-それはオプションではないようです。不格好なGarmin BaseCampソフトウェアを使用してラベルをクリックして個別に修正するか、gpxコードに移動してコードを手動で入力する必要があります。どちらも時間がかかります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.