KMLとスタイル情報をGeoserverにインポートする


9

そのため、1年以上開発されているプロジェクトに取り組んでいますが、最近参加したのは最近のことです。私のタスクには、約2,500のKMLファイルを別の形式に変換し、これらのファイルをGeoserverにインポートしてから、各ファイルに関連付けられたスタイル情報をコピーすることが含まれます。GeoserverではKMLファイルを直接インポートできますが、私たちのファイルは正しくレンダリングされていないようです。上司は哲学的な理由からKML形式から離れたいと考えています。

ogr2ogrを使用して、これらのファイルをESRIシェイプファイルに変換しようとしましたが、変換プロセスはファイルの約3分の1でしか機能せず、スタイル情報で要求されたメタデータの一部を消去しました。私が読んだポリゴンとポイントのコードを変換しなかったファイルは、QGISのような他のプログラムのエラーになる可能性があります。

また、すべてのKMLファイルをPostGISデータベースに入れて、そのように変換しようとしました。ただし、これによりすべてのデータが削除され、インポート用のテーブルが本質的に空白のままになります。

TL; DR 2,500のKMLファイルをGeoserverで使用できる形式に変換する方法を見つける必要があります。XMLスタイルの情報で動作します。私は完全なGIS初心者で、これが初めての投稿なので、これが少しばかげているように見えてすみません。


スタイルは基本的にすべてのKMLファイルで同じですか、それともすべて完全に異なりますか?前者の場合、SLD(XMLベースのフォーマット)を使用するGeoServerのスタイルファイル(またはファイルのセット)を単純にハンドロールできることがわかります。
nmtoken


どこでこの質問をすればよいかわかりませんが、私の答えを知っていると思います。とにかく、KMLを新しいデータソースとしてGeoServerにアップロードしますか?@samane
モスタファFallah

回答:


1

GeoServerのデータとスタイルは分離されているため、それらを混在させる方法はありません。SLDを自動生成できます。これまでのところ、KMLスタイルからジオサーバースタイルへのコンバーターが存在するかどうかはわかりません。


1

まず、Geoserverスタイル(SLD)とデータ(KML)はまったく異なります。Geoserver以降にKMLファイルをインポートし、スタイルエディターでSLDファイルを作成するか、ビューアー(Mapfishappなど)内でスタイルを作成し、次に.sldファイルを保存して、XML内に書き込むことなく簡単にsldを取得します(分類を実現するのが難しいか、一部のシステムで簡単に実現できるその他の特定のスタイル)。

その後、KMLファイルを使用してGISデータを保存しましたが、常に属性を失いました(=データが失われました)。KMLはジオメトリ情報のみを保持します。ネイティブデータを別の形式(CSVキープ属性)に保存するか、データテーブルを作成して、地理情報を提供するか、レイヤーを直接作成することをお勧めします。(シェープファイル、Csv ...)。

お役に立てれば幸いです...


1

使用したい「メタデータ」として参照するkmlファイルの追加情報は、KMLの専門用語に含まれる可能性があります。

  1. スタイルとスタイルマップ
  2. ExtendedData
  3. 目印の[説明]フィールドにあるカスタム情報(通常はhtmlテーブルの形式)

各kmlファイルはASCIIファイルであるため、テキスト処理スクリプトを介して処理できます。私の理解によると、Geoserverで表示およびスタイル設定するオブジェクトのタイプごとに、個別の「レイヤー」を作成する必要があります。つまり、各kmlファイルから、オブジェクトタイプの分類に応じて、いくつかのファイルが作成されます。

既製のツールの単純な仕事ではありません。うまくいけば、すべての2.500 kmlファイルが同じアプリケーションで作成された場合、それらは同じ構造になります。その場合、この構造の詳細な分析と多くのカスタムスクリプトが必要になります。


1

他のポスターがスタイルがカードにないことを示唆しているので、KMLを開いて内部を見て、本当に必要なのはデータであるように聞こえるので、問題は本質的に単なるテキストファイルであるすべてのファイルの変換です

次に、このようなものを形にハッキングします:https : //gist.github.com/linwoodc3/0306734dfe17076dfd34e09660c198c0

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