2つの空間データ・セットのレコードの結合
post
/spatialviewer/api/v1/spark/spatialJoin
両方のデータ・セットのレコード間の空間関係に基づいて、空間データ・セットのレコードを別の空間データ・セットと結合します。
リクエスト
サポートされるメディア・タイプ
- application/json
問合せパラメータ
- asynchronous: boolean
trueの場合、この操作は非同期で実行されます。デフォルト値:
false
- fullResult: boolean
falseの場合、非同期の場合、レスポンスにはHDFS内の結果の場所が含まれ、実際の結果は含まれません。デフォルト値:
true
ジョブ詳細
ルート・スキーマ: SpatialJoinJobInfo
型:
ソースの表示
object
- dataPath1(optional): string
1つ目のデータ・セットのHDFS内のファイルのパス。indexPath1が指定されていない場合、このプロパティを追加します。例:
/user/oracle/spatialviewer/tweetsJune.json
- dataPath2(optional): string
2つ目のデータ・セットのHDFS内のファイルのパス。indexPath2が指定されていない場合、このプロパティを追加します。例:
/user/oracle/spatialviewer/worldStates.json
- distance(optional): number(double)
spatialOperationがWithinDistanceの場合、距離が必要です。投影されたデータの場合、距離の単位は投影の単位と同じです。測地データの場合、距離はメートル単位です。例:
1000
- indexPath1(optional): string
1つ目のデータ・セットのHDFS内の索引パス。このプロパティが指定されていない場合は、dataPath1、inputFormatClass1、keyClass1、valueClass1およびrecordInfoProviderClass1を指定します。例:
/user/oracle/spatialviewer/TweetsJune
- indexPath2(optional): string
2つ目のデータ・セットのHDFS内の索引パス。このプロパティが指定されていない場合は、dataPath2、inputFormatClass2、keyClass2、valueClass2およびrecordInfoProviderClass2を指定します。例:
/user/oracle/spatialviewer/WorldStates
- inputFormatClass1(optional): string
1つ目のデータ・セットの入力形式クラス。indexPath1が指定されていない場合に設定可能なオプションのプロパティ。入力形式クラスが指定されていない場合は、SparkContextのtextFileが使用されます。例:
oracle.spatial.hadoop.vector.geojson.mapred.GeoJsonInputFormat
- inputFormatClass2(optional): string
2つ目のデータ・セットの入力形式クラス。indexPath2が指定されていない場合に設定可能なオプションのプロパティ。入力形式クラスが指定されていない場合は、SparkContextのtextFileが使用されます。例:
oracle.spatial.hadoop.vector.geojson.mapred.GeoJsonInputFormat
- jarWithNeededClasses(optional): string
カスタムRecordInfoProviderまたはInputFormatのようなユーザー定義クラスを持つJAR名。InputFormatクラスまたはRecordInfoProviderクラスがAPI、またはHadoop APIクラスにない場合、ユーザー定義クラスのJARが提供されます。このjarを使用するには、/opt/oracle/oracle-spatial-graph/spatial/web-server/spatialviewer/WEB-INF/libディレクトリに追加し、サーバーを再起動する必要があります。useIndexがfalseの場合に設定可能なオプションのプロパティ。例:
myjar.jar
- keyClass1(optional): string
1つ目のデータ・セットの入力形式のキーのクラス。入力形式が定義されている場合、このプロパティは必須です。例:
org.apache.hadoop.io.LongWritable
- keyClass2(optional): string
2つ目のデータ・セットの入力形式のキーのクラス。入力形式が定義されている場合、このプロパティは必須です。例:
org.apache.hadoop.io.LongWritable
- outputPath(optional): string
ジョブの出力パス。asynchronousがtrueの場合は、このプロパティを指定します。例:
/user/oracle/spatialviewer/SpatialJoinResult
- recordInfoProviderClass1(optional): string
1つ目のデータ・セットの空間情報を提供するクラス。indexPath1が指定されていない場合、このプロパティを設定します。例:
oracle.spatial.spark.vector.recordinfoprovider.GeoJsonRecordInfoProvider
- recordInfoProviderClass2(optional): string
2つ目のデータ・セットの空間情報を提供するクラス。indexPath2が指定されていない場合、このプロパティを設定します。例:
oracle.spatial.spark.vector.recordinfoprovider.GeoJsonRecordInfoProvider
- spatialOperation(optional): string
レコードを結合するための空間関係を定義する空間操作。指定できる値は、None、AnyInteract、IsInside、WithinDistanceおよびContainsです。デフォルト値はAnyInteractです。例:
AnyInteract
- srid(optional): integer(int32)
ジオメトリのSRID。例:
8307
- tolerance(optional): number(double)
空間操作を実行するときに使用される許容差を表すdouble値。例:
0.05
- valueClass1(optional): string
1つ目のデータ・セットの入力形式の値のクラス。入力形式が定義されている場合、このプロパティは必須です。例:
org.apache.hadoop.io.Text
- valueClass2(optional): string
2つ目のデータ・セットの入力形式の値のクラス。入力形式が定義されている場合、このプロパティは必須です。例:
org.apache.hadoop.io.Text
レスポンス
サポートされるメディア・タイプ
- application/json
200レスポンス
要求が成功しました。レスポンスは、結合分析に一致する2つの機能の集合です。fullResultがfalseの場合、レスポンスには、HDFS内の結果の場所が含まれています。
ルート・スキーマ: SpatialJoinRecordsInfo
型:
ソースの表示
object
- copyright(optional): string
例:
Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
- features(optional): array features
- geodetic(optional): boolean
ジオメトリが測地の場合はtrue、それ以外の場合はfalse。例:
true
- srs(optional): integer(int32)
ジオメトリのSRID。例:
8307
- type(optional): string
例:
FeatureCollection
ネストされたスキーマ: SpatialJoinRecordInfo
型:
ソースの表示
object
- features(optional): array features
- type(optional): string
例:
FeatureCollection
ネストされたスキーマ: Feature
型:
ソースの表示
object
- _id(optional): string
地物ID。例:
1
- geometry(optional): object Geometry
- type(optional): string
例:
Feature
ネストされたスキーマ: Geometry
型:
ソースの表示
object
- coordinates(optional): array coordinates
- properties(optional): object properties
フィルタ処理されたレコードの追加フィールド(2.8.2.1「空間の索引付けクラスの構造」を参照)。たとえば、followers_count、friends_count、locationおよびuser_idという名前の追加フィールドを含めることができます
- type(optional): string
例:
Point
ネストされたスキーマ: properties
型:
object
フィルタ処理されたレコードの追加フィールド(2.8.2.1「空間の索引付けクラスの構造」を参照)。たとえば、followers_count、friends_count、locationおよびuser_idという名前の追加フィールドを含めることができます
ソースの表示
- followers_count(optional): string
例:
70
- friends_count(optional): string
例:
51
- location(optional): string
例:
Canada
- user_id(optional): string
例:
5039703
202レスポンス
非同期リクエストを受け入れました
ルート・スキーマ: AsyncSpatialJoinJobResponse
型:
ソースの表示
object
- o:successCode(optional): string
成功コード。例:
SV-05010
- response(optional): string
レスポンスには、ジョブを追跡するためのリソース・マネージャWebアプリケーションのURLの場所が含まれています(Hadoopパラメータyarn.resourcemanager.webapp.addressの構成を参照してください)。例:
http://resource.manager.webapp:8088
- status(optional): string
成功またはエラー例:
success
- title(optional): string
サービスのタイトル。例:
Create spatial join job.
例
次の例では、cURLを使用してRESTリソースに対するPOSTリクエストを発行することによって、空間結合を実行する方法を示しています。
curl -v -X POST "http://localhost:8045/spatialviewer/api/v1/spark/spatialJoin?fullResult=true" -H "accept: application/json" -H "content-type: application/json" -d "{ \"srid\": 8307, \"tolerance\": 0.05, \"spatialOperation\": \"AnyInteract\", \"indexPath1\": \"/user/oracle/HOL/tweetsJune\", \"indexPath2\": \"/user/oracle/HOL/worldRegions\" }"
レスポンス・ヘッダーの例
次に、レスポンス・ヘッダーの例を示します。
HTTP/1.1 200 OK Date: Wed, 15 Nov 2017 17:50:38 GMT Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, POST, DELETE, PUT Access-Control-Allow-Headers: Content-Type, Accept Transfer-Encoding: chunked Content-Type: application/json
レスポンス本文の例
次の例は、レスポンス本文の内容をJSON形式で示したものです(1つのレコードを含みます)。
{"type":"FeatureCollection","features":[{"type":"Feature","_id":"375628eb-cf33-406f-afb7-0c89a9240153","geometry":{"type":"Polygon","coordinates":[[-106,25,-106,30,-104,30,-104,25,-106,25]]},"properties":{"STATE":"Buryat, Russia"}},{"type":"Feature","_id":"ecada68e-5a02-48e5-931d-a9daf5920417","geometry":{"type":"Point","coordinates":[109.31296,55.63401]},"properties":{"RECORD_ID":"4535","followers_count":"67","friends_count":"199","location":"Buryat","user_id":"5229287"}}]}