KMLとシェープファイル(SHP)形式の間の変換?


回答:


129

GDAL / OGRogr2ogrからのオープンソースの使用:

ogr2ogr -f 'ESRI Shapefile' output.shp input.kml

20
...そして次の自然な質問を先制するために、それは他の方法でも動作します:ogr2ogr -f KML output.kml input.shp
glennon

8
GUIベースのツールを使用する場合、QGISはogr2ogrのフロントエンドとして機能できます。
暗闇

1
オンラインGDAL / OGRサイトがあったことを望むヒントヒント覗いは
Pure.Krome

1
@mattwilkie彼はZamzar.comのようなものを意味していたと思います。オンライン変換サービス。
RK

1
「ESRI Shapefile」引数に二重引用符を使用する必要がありました。
マシューD

30

ArcGIS 10には、KMLをフィーチャクラスに変換するKML To LayerというGPツールがあります。新しい検索を使用してKMLを検索します。これを使用して、Googleから流出した油流出kmlフィードを取得し、SHPに変換しました。

KML→レイヤーでは、ジオデータベースフィーチャクラスのみを作成できます。そのため、シェープファイルに変換するには、フィーチャクラスからフィーチャクラスへのステップを実行する必要があります。


2
ここで述べたツールはKML To Layerのようですが、ジオデータベースフィーチャクラスを作成できるのは、フィーチャクラスをフィーチャクラスに変換してシェープファイルに変換する必要があるジオデータベースフィーチャクラスのみです。
PolyGeo

19

ogr2ogrを使用しますが、コマンドラインに興味がない場合は、ogr2guiを試してください-ogr2ogrの本当にシンプルなフロントエンド。


10

ArcGISでKMLまたはKMZファイルとして公開された空間データを使用するには、まずKMLをフィーチャクラス(シェープファイル)に変換する必要があります。コネチカット大学には、KMLからシェープファイルを作成するためのKML_to_Shp.tbxというスクリプトが公開されています。非常にうまく機能し、ArcToolboxから使用できます。KMLは常に地理座標(WGS84)になるため(そうする必要があるため)、最終的にはUML Zone 15N NAD83に変換する必要があります。

すべての新しいツールと同様に、使用前にドキュメントを確認してください。これは、UCONNの土地利用教育研究センターのWebサイトで見つけることができます。ツールボックスに追加してその制限を理解すると、ツールは非常に簡単に使用できます。

http://clear.uconn.edu/tools/kml_to_shp/index.htm


3
UTM Zone 15N NAD83が常に必要なわけではなく、データに適切なゾーンが必要です。また、WGS84を使用して投影することもできます(つまり、WGS84はlatlonを意味しません)
ビンコヴサロビッチ


10

言及に値するもう1つの商用製品はGlobal Mapperです。これは、想像できるほとんどすべての地理データの表示、変換、再投影のカテゴリに分類されます。私は教えるクラスで無料版を多用し、ほとんどの人がこれがGISツールのスイスアーミーナイフであることについてコメントします(無料版は翻訳を行いませんが、すべてのメニューとオプションを公開します)。私の経験ではコストに見合うだけの価値があります。


10

他の回答に加えて、さらにオプションを追加してください...

SL-Kingのfdo2fdoアプリケーションは、オープンソースFDOライブラリを使用しており、KMLからSHPへの変換、およびその逆の変換を実行できます。GUI(フォーマットからフォーマットへの変換およびよりカスタマイズされたスキーママッピングの変換を表す)とコマンドラインツールの両方が含まれています。

固有のアプリケーションの場合、Safe SoftwareのFMEは、ソース情報を宛先にマップする方法を驚くほど制御します。ArcGISをお持ちの場合は、Data Interoperability Extension(形式のリスト)を介して追加料金でこれにアクセスできます。

属性のない単なるポイントフィーチャである場合は、XMLを解析して、CSVのように簡単にインポートできるものに変換することを検討します。座標タグ間のデータを探しているだけです。


9

もう1つのオプションは、ArcGISで動作するサードパーティの拡張機能であるXToolsProを使用することです。多くの便利な変換ツールには、「KMLからのデータのインポート」機能があります。




8

QGISはkmlとshpの間の変換に対してはるかに堅牢になりました。レイヤーの右クリックメニューから[名前を付けて保存]を使用します。または、[新しいレイヤーを追加]メニューからこれらの各ファイルタイプを開き、ダイアログボックスでファイルタイプを変更してください。


6

また、Safe Software http://www.safe.comからFMEを見ることができます。

14日間の試用版があります。FMEでは、特定の属性または空間範囲に基づいてKMLポイントファイルをフィルタリングする機能に加えて、データ変換/移行プロセス中にKMLファイルの属性をESRI SHP形式にマッピングすることもできます。

ユーザーから大量のKMLファイルがある場合にバッチ変換を実行するオプションもあります。

〜SRG


6

コマンドライン制御にOGRを使用すると、他のさまざまなアプリと同様に、Google Earthプロがグラフィカルな変換方法を提供します


5

ET GeoWizardsには、KMLファイルまたはKMZファイルをフィーチャクラスに変換するGoogle Earthからのインポートオプションもあります。> http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm

オープンソースオプションを探している場合、MapWindowが更新されたばかりで、KMLとシェープファイルとの間で変換するためのプラグインがいくつかあります。



4

相互運用機能拡張がある場合は、そのKMLをArcMapに直接ロードし、shpにエクスポートするだけです。

あなたのQの反対の答えですが、誰かがここに来てその逆を行う場合、このスクリプトはSHP-> KML http://arcscripts.esri.com/details.asp?dbid=14273から完璧に行くと思います




3

KMLをSHPに変換するためのリソースを追加するための応答に表示されなかったいくつかのオプションは次のとおりです。

MyGeodataコンバーター

キーホールマークアップ言語形式からESRIシェープファイル形式(KMLからSHP)へのオンラインコンバーターは、個々の変換とバッチ変換の両方に対応する高速で使いやすいツールです。Converterは、他の90以上のベクターおよびラスターGIS / CAD形式と、3,000以上の座標参照システムもサポートしています。

無料のGeography Toolsは、Zonums Software ツールのチュートリアルを提供します。


2

よりクリーンな結果をもたらす可能性のある優れた簡単なヘルプは、最初にKMLをGPXに変換し(それを実行できるオープンソースソフトウェアがいくつかあります)、それぞれのデータを開きます(GPXには5つの異なるクラスの情報:ウェイポイント、トラックポイント、 QGISのGDAL / OGRからogr2ogrを使用し、.SHPファイル形式で直接保存します。

必要に応じて、大量のデータのバッチ処理を使用して(たとえばSAGAのMerge Vector Layersを使用して)単一のシェープファイルを作成することも非常に簡単です。また、最終的な「SHPとして保存」の前に空の属性をクリアすることもできます。

最終結果に奇妙な文字が表示される場合は、コード体系に特に注意してください。新しいベクターデータをマップに追加するときに適切な文字を選択できます。


0

私はパーティーに遅れていますが、いくつかの追加の方法があります:

  1. Google Fusion Tablesでは、KMLポイント情報を.csv形式のWGS84 XおよびYに変換できます。これは、好みのGIS分析ソフトウェアで使用できます。

  2. Rでのrgdalパッケージの使用:

    install.packages("rgdal")
    library(rgdal) #load package
    kmlfile=readOGR("yourkmlfilehere.kml") #load KML
    writeOGR(kmlfile,"yourshapepath",layer="shapename", driver="ESRI Shapefile") #save shape

0

別のヒント:コマンドラインを使用して、フォルダー/ディレクトリ内の複数のKMLを一度にシェープファイルに変換する場合は、フォルダー内のcmdを開き、次のように入力します。

/ R%f in(* .kml)do ogr2ogr -f "ESRI Shapefile" "%〜dpnf.shp" "%f"

注:KMLの名前をシェープファイルの名前として使用するため、KMLがシェープファイルの適切な命名形式を持っていることを確認してください。シェープファイルは、対応するkmlと同じディレクトリに作成されます。サブディレクトリのKMLもシェープファイルに変換されます。


-1

KMLをShpファイル形式に変換するには、ogr2ogrユーティリティを使用できます。まず、システムにインストールする必要があります。すでにインストールしている場合は、ターミナルでタイプogr2ogrを使用します。

変換するには、指定されたコマンドを実行する必要があります。すなわち

--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml

これがogr2ogrによる変換方法です。結果が得られない場合は、コーディング方法でKmlをshpに変換できます。

これは、PHPを使用して行うこともできます。このコマンドを文字列として定義する関数を作成し、この文字列をshell_exec()メソッドで指定して実行できます。Shell_exec()は実際にコマンドを実行し、文字列として出力を返します。

public function KML_to_shp($KMLfilepath,$output){
 $query="ogr2ogr -f 'ESRI Shapefile'  $output.gml  $KMLfilepath";
 shell_exec($query);
 }

コマンドラインツールogr2ogrまたはphpコードを使用してkmlをshp変換する投稿はこちらです。QGISツールを使用している場合は、私のブログ投稿の1つであるkmlを参照して、QGISを使用してshp変換するか、この投稿を引き続き使用できます。


1
答えとして提供しているウェブサイトに関連付けられていますか?その場合は、投稿にそれを明記してください。
笑う

-2

ArcGISでは、「kml TO LAYER」または「Layer to KML」を検索するだけです。このツールは、シェープファイルとKMLに変換するのに役立ちます


このアプローチは他の著者によってすでに言及さていると思います。または、新しいものまたは強化されたものを提案できます。
タラス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.