注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

KML 文字列をジオメトリーとしてパース

対応:バッチ、ストリーミング

KML のジオメトリー定義を GeoJSON としてパースします。すべての属性を無視します。この式は、すでに抽出されたテキストに対して動作します。この式を使用する前に、ファイルからテキストを抽出してください。

式のカテゴリー: 地理空間

宣言された引数

  • パースする KML 文字列: ジオメトリーにパースする有効な KML 文字列。
    式<文字列>
  • 任意 出力モード: 出力に誤りがある場合に null を出力するか、ジオメトリーを取得できる「ok」フィールドと、詳細なエラーメッセージを取得できる「error」フィールドを持つ結果データ型を出力するかを選択します。
    列挙型<Simple, With errors>
  • 任意 パース後のジオメトリーの準備: Foundry のジオメトリーのセマンティクスに準拠するように kml を準備するかどうかを選択します。オントロジーのインデックス化中に失敗しないように、ジオメトリーはオントロジーへの取り込み前に準備してください。準備を実行すると、パース自体で発生するエラーが増える場合があります。たとえば、準備処理では、インデックス化中に範囲外の座標を持つジオメトリーでエラーが発生します。
    式<ブール値>

出力タイプ: 文字列 | 構造体<ok:ジオメトリー, error:文字列>

例

例1:基本ケース

説明: 基本的なポリゴン。

引数の値:

  • パースする KML 文字列: col
  • 出力モード: null
  • パース後のジオメトリーの準備: null
col出力
<LineString>
<coordinates>
-71.1663,42.2614
-71.1667,42.2616
</coordinates>
</LineString>
{"type":"LineString","coordinates":[[-71.1663,42.2614],[-71.1667,42.2616]]}
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<ou...
{"type":"Polygon","coordinates":[[[-122.0848938459612,37.42257124044786,17.0],[-122.0847882750515,37...
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<ou...
{"type":"Polygon","coordinates":[[[-77.05465973756702,38.87291016281703,100.0],[-77.0531553685479,38...
<Point>
<coordinates>
-71.1663,42.2614
</coordinates>
</Point>
{"type":"Point","coordinates":[-71.1663,42.2614]}
<MultiGeometry>
<Polygon>
<outerBoundaryIs>
<coordinates> -71.1663,42.2614
-71.1...
{"type":"MultiPolygon","coordinates":[[[[-81.1679,32.2614],[-81.1679,32.28],[-81.1663,32.28],[-81.16...

例2:基本ケース

説明: 結果データ型を出力する基本的なポリゴン。

引数の値:

  • パースする KML 文字列: col
  • 出力モード: with_errors
  • パース後のジオメトリーの準備: null
colshouldPrepare出力
<LineString>
<coordinates>
-71.1663,42.2614
-71.1667,42.2616
</coordinates>
</LineString>
true{
 error: null,
 ok: {"type":"LineString","coordinates":[[-71.1663,42.2614],[-71.1667,42.2616]]},
}
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<ou...
true{
 error: null,
 ok: {"type":"Polygon","coordinates":[[[-122.0848938459612,37.42257124044786,17.0],[-122.0847882750515,37...,
}
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<ou...
true{
 error: null,
 ok: {"type":"Polygon","coordinates":[[[-77.05465973756702,38.87291016281703,100.0],[-77.0531553685479,38...,
}
<Point>
<coordinates>
-71.1663,42.2614
</coordinates>
</Point>
true{
 error: null,
 ok: {"type":"Point","coordinates":[-71.1663,42.2614]},
}
<MultiGeometry>
<Polygon>
<outerBoundaryIs>
<coordinates> -71.1663,42.2614
-71.1...
true{
 error: null,
 ok: {"type":"MultiPolygon","coordinates":[[[[-81.1679,32.2614],[-81.1679,32.28],[-81.1663,32.28],[-81.16...,
}

例3:基本ケース

説明: ドキュメントとフォルダーを含む完全な KML ファイルには対応していません。

引数の値:

  • パースする KML 文字列: col
  • 出力モード: null
  • パース後のジオメトリーの準備: null
col出力
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>KML Samples</name>
<...
null

例4:null ケース

説明: null 入力の例。

引数の値:

  • パースする KML 文字列: col
  • 出力モード: null
  • パース後のジオメトリーの準備: null
col出力
nullnull
空の文字列null

例5:エッジケース

説明: 無効な KML の例。

引数の値:

  • パースする KML 文字列: col
  • 出力モード: null
  • パース後のジオメトリーの準備: null
col出力
<Polygon><mal> formed KML </ml></Polygon>null
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<ou...
null
<Polygon><innerBoundaryIs><LinearRing>
<coordinates> -123.0,37.0,17
-122.0,38.0,17
...
null

例6:エッジケース

説明: 範囲外の座標を含む無効な KML の例。

引数の値:

  • パースする KML 文字列: col
  • 出力モード: null
  • パース後のジオメトリーの準備: null
col出力
<Polygon><outerBoundaryIs><LinearRing>
<coordinates> -180.3348783983763,95.1514008468736,...
null

例7:エッジケース

説明: 範囲外の座標を含む無効な KML の例でも、ジオメトリーの準備を実行しない場合はジオメトリーが返されます。

引数の値:

  • パースする KML 文字列: col
  • 出力モード: simple
  • パース後のジオメトリーの準備: shouldPrepare
colshouldPrepare出力
<Polygon><outerBoundaryIs><LinearRing>
<coordinates> -180.3348783983763,95.1514008468736,...
false{"coordinates":[[[-180.3348783983763,95.1514008468736,100.0],[-180.3372535345629,95.14888517553887,1...