シェープファイルをGeoJSONに変換しますか?


19

Google Maps APIで使用するために、テキサス州上院地区の WebサイトのShapefileをGeoJSONファイルに変換しようとしています。QGISを使用して容易にしていますが、投影/座標を正しく取得できません。これまでのところ、Google Mercator(EPSG:900913)とWGS 84(EPSG:4326)を試してみました。OpenLayersを使用して結果を確認し、テキサスをギニア湾(0 lat、0 lng)の近くに配置し続けています。

回答:


23

ダウンロード可能なシェープファイルを直接QGISにロードしても問題ありません。

データはEPSG:3081にあるため、そのままにしておくことをお勧めします。Google APIはlatlong値を想定しているため、ターゲットCRSはEPSG:4326である必要があります。

レイヤーを右クリックし、[名前を付けて保存...]をクリックして、ファイルタイプGeoJSON、別のファイル名、新しいCRSとしてEPSG:4326を選択します。結果をキャンバスに追加して、整列(On-the-fly-reprojection選択)されていることを確認できます。


複数のレイヤーで「名前を付けて保存」する方法はありますか?
クリスマルクス

いいえ、すべてのファイルに異なる宛先ファイル名が必要です。バッチ処理には、コマンドラインでogr2ogrを使用できます。
AndreJ

多分バッチ処理サポートのように思えます。これは、自動ファイル命名の賢明なデフォルトなどをサポートし、結果ファイルをフォルダーに送信するだけで使用できます
-chrismarx

6

これは、サーバー側コードなしで英語以外のエンコードをサポートするWebブラウザーを介してシェープファイルをgeojsonに変換するツールです。zipファイルをアップロードし、正しいテキストのエンコードを設定するだけです。

https://github.com/gipong/shp2geojson.js

このライブラリをGoogle Map API v3で使用する場合、ZIPアーカイブ(PlanS172.zip)がテキサス州上院地区のWebサイトからダウンロードされるため、.prjファイルが含まれているため、EPSGコードフィールドをスキップできます。

loadshp({
    url: '/shp/PlanS172.zip', // path or your upload file
    encoding: 'big5' // default utf-8
}, function(geojson) {
    // geojson returned
});

ここに画像の説明を入力してください




-2

GeoJSONはJavaScript Object Notationに基づいています。この投稿では、シェープファイルをオンライン、オフライン、または利用可能なAPIの助けを借りて変換するさまざまな方法を探ることができます。Googleマップで使用するために、この投稿をチェックして、シェープファイルをGeoJSONファイルに変換してください。

ShapefileをGeoJSONに変換するさまざまな方法–オンラインまたはオフラインまたはAPI


2
外部リソースへのリンクを推奨しますが、リンクの周りにコンテキストを追加して、仲間のユーザーがそれが何であり、なぜそこにあるのかを理解できるようにしてください。ターゲットサイトに到達できないか、完全にオフラインになる場合に備えて、重要なリンクの最も関連性の高い部分を常に引用してください。
ArMoraer
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.