K最近要素を特定のジオメトリに返す
post
/spatialviewer/api/v1/spark/nearestNeighbors
K最近要素が含まれるリストをRDDまたは分散空間索引から特定のジオメトリに返します。非同期ジョブの場合、マップ上に結果を表示するためのMap APIのデータ・ソースとしてサービス・レスポンスを使用できます。
リクエスト
サポートされるメディア・タイプ
- application/json
問合せパラメータ
- asynchronous: boolean
trueの場合、この操作は非同期で実行されます。デフォルト値:
false
ジョブ詳細
ルート・スキーマ: NearestNeighborsJobInfo
型:
ソースの表示
object
- dataPath(optional): string
HDFS内のファイルのパス。useIndexがfalseの場合は、このプロパティを指定します。例:
/user/oracle/spatialviewer/tweetsJune.json
- geometry(optional): string
最近傍を決定するジオメトリ。ジオメトリはGeoJSON形式である必要があります。例:
{"type":"Point", "coordinates":[2.33139, 48.86864]}
- indexPath(optional): string
HDFS内の索引パスです。useIndexがtrueの場合は、このプロパティを指定します。例:
/user/oracle/spatialviewer/TweetsJune
- inputFormatClass(optional): string
入力形式クラス。useIndexがfalseの場合に設定可能なオプションのプロパティ。入力形式クラスが指定されていない場合は、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
- k(optional): integer(int32)
最近傍の数。例:
10
- keyClass(optional): string
入力形式のキーのクラス。入力形式が定義されている場合、このプロパティは必須です。例:
org.apache.hadoop.io.LongWritable
- outputPath(optional): string
ジョブの出力パス。asynchronousがtrueの場合は、このプロパティを指定します。例:
/user/oracle/spatialviewer/NNResult
- recordInfoProviderClass(optional): string
空間情報を提供するクラス。useIndexがfalseの場合は、このプロパティを指定します。例:
oracle.spatial.spark.vector.recordinfoprovider.GeoJsonRecordInfoProvider
- srid(optional): integer(int32)
ジオメトリのSRID。例:
8307
- tolerance(optional): number(double)
空間操作を実行するときに使用される許容差を表すdouble値。例:
0.05
- useIndex(optional): boolean
索引が入力として使用される場合はtrue、それ以外の場合はfalse例:
true
- valueClass(optional): string
入力形式の値のクラス。入力形式が定義されている場合、このプロパティは必須です。例:
org.apache.hadoop.io.Text
レスポンス
サポートされるメディア・タイプ
- application/json
200レスポンス
要求が成功しました
ルート・スキーマ: RecordsInfo
型:
ソースの表示
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
ネストされたスキーマ: 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レスポンス
非同期リクエストを受け入れました
ルート・スキーマ: AsyncNearestNeighborsJobResponse
型:
ソースの表示
object
- o:successCode(optional): string
成功コード。例:
SV-05009
- response(optional): string
レスポンスには、ジョブを追跡するためのリソース・マネージャWebアプリケーションのURLの場所が含まれています(Hadoopパラメータyarn.resourcemanager.webapp.addressの構成を参照してください)。例:
http://resource.manager.webapp:8088
- status(optional): string
成功またはエラー例:
success
- title(optional): string
サービスのタイトル。例:
Create nearest neighbors job.
例
次の例では、cURLを使用してRESTリソースに対するPOSTリクエストを発行することによって、最近傍分析を実行する方法を示しています。
curl -v -X POST "http://localhost:8045/spatialviewer/api/v1/spark/nearestNeighbors" -H "accept: application/json" -H "content-type: application/json" -d "{ \"useIndex\": true, \"k\": 10, \"geometry\": \"{\\\"type\\\":\\\"Point\\\", \\\"coordinates\\\":[2.33139, 48.86864]}\", \"srid\": 8307, \"tolerance\": 0.05, \"indexPath\": \"/user/oracle/HOL/tweetsJune\"}"
レスポンス・ヘッダーの例
次に、レスポンス・ヘッダーの例を示します。
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","copyright":"Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.","srs":8307,"geodetic":true,"features":[{"type":"Feature","_id":"e8fd9cb3-8d1a-4c54-8583-9a4b682de2fd","geometry":{"type":"Point","coordinates":[-105.49998,28.19997]},"properties":{"RECORD_ID":"4789","followers_count":"13","friends_count":"199","location":"Chihuahua","user_id":"4092140"}}]}