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


15

SimpleGeoは最近、「Places」データセットを無料で利用できるようにしました。これは、オフラインでも自分の目的で使用できるためです。そこで、GeoJSON形式の圧縮された国別ファイルを含む2GBデータセットをダウンロードしようとしました

ここが私の問題の始まりです...国のファイル(* .geojson)をQGISに直接ロードしようとしたり、ogr2ogrを使用してシェープファイルに変換しようとすると、たった1ポイントの機能になります。

これらのファイルには、「表示」または取得できないデータが明らかにありますが、何が間違っていますか?これらのファイルを使用可能なGISフィーチャーに変換する方法について、誰かが提案を提供できますか?

更新された質問:geojsonファイルをデスクトップGISソフトウェアで使用するためにシェープファイル(または同様の標準GIS形式)に変換したいのです

2011年8月1日のSimpleGeoブログの抜粋

「SimpleGeoのCC0プレイスデータセットが無料でダウンロードできるようになりました。63か国をカバーする2,100万以上のPOIを手に入れたい場合は、1つのファイルで提供する準備ができています。 .ZIP形式で2ギガバイト、およびCC0ライセンスで、このデータはあなたになり、覚えて-無料で、明確な- 。あなたがやりたいために私たちは、あなたがそれで素晴らしいことを行う願っています! あなたは、こちらをクリックして、今それをダウンロードすることができます。

更新: 2012年1月12日:2011年10月にUrban AirshipにSimpleGeoが買収された後、Urban Aishipは「[SimpleGeo's] Places、Context、およびStorageの現在のバージョンの可用性を今後数か月で縮小します」と述べました。プラグの正式な引き抜きの目標日は2012年3月31日です。リンク


3
+1。SimpleGeoのMatt Galliganが、場所データは事実問題であり、無料で利用可能であるべきであるといつか聞いていました。販売すべきコンテキストです。「彼ら」がそれを意味するのを見るのは良いことです。また、このデータを活用したいと考えています。
エリック

回答:


10

次の機能をラップしてみてください。

{"type":"FeatureCollection","features":[ 

****ALL THE DATA HERE -- COMMA SEPARATED****

]}

各機能をコンマで区切ります。

たとえば、IEデータセットの最初の2つの機能は次のとおりです。

{"geometry": {"type": "Point", "coordinates": [-6.422587, 53.293363]}, "type": "Feature", "id": "SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237", "properties": {"website": "http://www.buongiorno.com", "city": "Dublin", "name": "Buongiorno", "tags": ["mobile", "vas", "community", "social-networking", "connected-devices", "android", "tablets", "smartphones"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237.json", "address": "Lake Drive City West Digital Park", "owner": "simplegeo", "postcode": "3050"}}
{"geometry": {"type": "Point", "coordinates": [-6.250848, 53.339347]}, "type": "Feature", "id": "SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237", "properties": {"website": "http://www.simchronise.com", "city": "Dublin", "name": "SIMchronise", "tags": ["mobile-solutions", "mobile-data", "data-synchronisation", "mobile-security", "backup", "restore", "mobile-contacts", "web-2.0-addressbook", "phonebackup"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237.json", "address": "78 Merrion Square", "owner": "simplegeo", "postcode": "Dublin2"}}

...そして、ここでそれらはGeoJSON FeatureCollectionです:

{"type":"FeatureCollection","features":[ 
{"geometry": {"type": "Point", "coordinates": [-6.422587, 53.293363]}, "type": "Feature", "id": "SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237", "properties": {"website": "http://www.buongiorno.com", "city": "Dublin", "name": "Buongiorno", "tags": ["mobile", "vas", "community", "social-networking", "connected-devices", "android", "tablets", "smartphones"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_41u80gC4971D4Gc0Fv1p8q_53.293363_-6.422587@1308163237.json", "address": "Lake Drive City West Digital Park", "owner": "simplegeo", "postcode": "3050"}},
{"geometry": {"type": "Point", "coordinates": [-6.250848, 53.339347]}, "type": "Feature", "id": "SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237", "properties": {"website": "http://www.simchronise.com", "city": "Dublin", "name": "SIMchronise", "tags": ["mobile-solutions", "mobile-data", "data-synchronisation", "mobile-security", "backup", "restore", "mobile-contacts", "web-2.0-addressbook", "phonebackup"], "country": "IE", "classifiers": [{"category": "Professional", "type": "Services", "subcategory": "Computer Services"}], "href": "http://api.simplegeo.com/1.0/features/SG_1dnWbWIg8hX3VyfUKIDRz9_53.339347_-6.250848@1308163237.json", "address": "78 Merrion Square", "owner": "simplegeo", "postcode": "Dublin2"}}
]}

あなたの投稿後、私は自分の質問を本当に明確にしていないことに気付き、それを編集しました。デスクトップGISで使用するために、データをシェープファイルまたはその他の標準GIS形式に変換したいと思います。言葉遣いの悪い質問は申し訳ありませんが、@ fodの回答に感謝します。
RyanKDalton-OffTheGridMaps

2
fodの答えは、あなたを途中まで連れて行きます。これらのすべてのダンプを前処理して、fedが推奨するようにFeatureCollectionの機能をラップし、コンマで区切る必要があります。それを行う簡単な方法は、すべての改行を、+改行(つまり、\ n、\ n)に置き換えてから、スクリプトを使用するか、テキストエディターで手動でFeatureCollectionに含めることです。すべてのファイルを適切なGeoJSONに修正したら、ogr2ogr v1.8.0以降を使用してGeoJSONをシェープファイルに変換できます。
ササアイベティック

優秀な!これが「読み取り可能」にするために必要なことだとは思いませんでした。上記の方法を使用して、QGISを介してファイルを直接読み取ることができました。本当にありがとう!メキシコのデータセットは、9kのファイルサイズしかないため、良いサンプルとして使用しました。次に、USファイル@ 7.4 GBの「検索と置換」に取り組みます。
RyanKDalton-OffTheGridMaps

謝罪-すぐにフォローアップする時間はありませんでしたが、FYIではGeoGISファイルをQGISで直接開くことができます-シェープファイルに変換する必要はありません。次に、本当にシェープファイルが必要な場合は、その形式でレイヤーをエクスポートできます([レイヤー]-> [名前を付けて保存...])。
fod

最初に試したのは、QGISでファイルを直接開くことでした。問題は、すべてのデータが1つのレコードに「まとめられる」ため、1ポイントであるということでした。QGISがデータセット内の個々のフィーチャを認識するために、上記の手順に従う必要がありました。
RyanKDalton-OffTheGridMaps

4

@fodと@Sasa Iveticに私を正しい方向に導いてくれてありがとう!私はしばらくこのプロジェクトを終わらせなければなりませんでしたが、ようやく今日に戻って、これに苦労したかもしれない誰かを助けるために私の結果を伝えたいと思いました。

@fodの回答で提供された情報を使用して、ダンプファイルを「適切な」geojson形式に変換するこのPythonスクリプトを作成しました。このpyスクリプトは、データをogr2ogrで読み取り可能な形式に変換します。その後、任意の形式に変換できます。

infile = sys.argv[1]
outfile = sys.argv[2]


## Prepare the input/output for read/write of files
fin = open(infile, 'r')
fout = open(outfile, 'w')


##Prepend the new file with approriate header info
fout.write('{"type":"FeatureCollection","features":[' + '\n')


## Read each line from the input and write to the output
for line in fin:
    ##write each line in the table, and replace carriage returns with "," + carriage return
    fout.write(line.replace("\n",",\n"))

##Append the new file with approriate footer info
fout.write(']}')

##Close the input and output files to release file locking
fin.close()
fout.close()

注:OSメモリの制限により、変換されたgeojsonファイルをogr2ogr経由で変換する際に問題が発生する場合があります。:この関連の質問を見てみましょうgis.stackexchange.com/questions/16307/...
RyanKDalton-OffTheGridMaps

すごい !マイクロソフトにはメモリの制限があります

1

FMEを試してみてください。GeoJSONを読み取り、Shapeを書き込み、さらに重要なことには、JSONを処理するための「トランスフォーマー」の束を持っています(JSONExploder、JSONFlattener、JSONExtractor)。したがって、コンテンツを使用可能な形式に変換すると役立つと思います。

また、無料の試用版も利用できます!

NB: FMEのメーカーであるSafe Softwareで働いています。


geojsonからshpに書き込む方法を示すサンプルワークスペースはありますか?
kflaw
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.