K最近要素を特定のジオメトリに返す

post

/spatialviewer/api/v1/spark/nearestNeighbors

K最近要素が含まれるリストをRDDまたは分散空間索引から特定のジオメトリに返します。非同期ジョブの場合、マップ上に結果を表示するためのMap APIのデータ・ソースとしてサービス・レスポンスを使用できます。

リクエスト

サポートされるメディア・タイプ
問合せパラメータ
本文()
ジョブ詳細
ルート・スキーマ: NearestNeighborsJobInfo
型: object
ソースの表示
  • HDFS内のファイルのパス。useIndexがfalseの場合は、このプロパティを指定します。
    例: /user/oracle/spatialviewer/tweetsJune.json
  • 最近傍を決定するジオメトリ。ジオメトリはGeoJSON形式である必要があります。
    例: {"type":"Point", "coordinates":[2.33139, 48.86864]}
  • HDFS内の索引パスです。useIndexがtrueの場合は、このプロパティを指定します。
    例: /user/oracle/spatialviewer/TweetsJune
  • 入力形式クラス。useIndexがfalseの場合に設定可能なオプションのプロパティ。入力形式クラスが指定されていない場合は、SparkContextのtextFileが使用されます。
    例: oracle.spatial.hadoop.vector.geojson.mapred.GeoJsonInputFormat
  • カスタム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
  • 最近傍の数。
    例: 10
  • 入力形式のキーのクラス。入力形式が定義されている場合、このプロパティは必須です。
    例: org.apache.hadoop.io.LongWritable
  • ジョブの出力パス。asynchronousがtrueの場合は、このプロパティを指定します。
    例: /user/oracle/spatialviewer/NNResult
  • 空間情報を提供するクラス。useIndexがfalseの場合は、このプロパティを指定します。
    例: oracle.spatial.spark.vector.recordinfoprovider.GeoJsonRecordInfoProvider
  • ジオメトリのSRID。
    例: 8307
  • 空間操作を実行するときに使用される許容差を表すdouble値。
    例: 0.05
  • 索引が入力として使用される場合はtrue、それ以外の場合はfalse
    例: true
  • 入力形式の値のクラス。入力形式が定義されている場合、このプロパティは必須です。
    例: org.apache.hadoop.io.Text
先頭に戻る

レスポンス

サポートされるメディア・タイプ

200レスポンス

要求が成功しました
本文()
ルート・スキーマ: RecordsInfo
型: object
ソースの表示
ネストされたスキーマ: features
型: array
ソースの表示
ネストされたスキーマ: Feature
型: object
ソースの表示
ネストされたスキーマ: Geometry
型: object
ソースの表示
ネストされたスキーマ: coordinates
型: array
ソースの表示
例:
[
    -73.86659,
    50.41706
]
ネストされたスキーマ: properties
型: object
フィルタ処理されたレコードの追加フィールド(2.8.2.1「空間の索引付けクラスの構造」を参照)。たとえば、followers_count、friends_count、locationおよびuser_idという名前の追加フィールドを含めることができます
ソースの表示

202レスポンス

非同期リクエストを受け入れました
本文()
ルート・スキーマ: AsyncNearestNeighborsJobResponse
型: object
ソースの表示
先頭に戻る

次の例では、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"}}]} 
先頭に戻る