MDSYS.SDO_OLSパッケージには、SpatialのOpenLSをサポートするためのサブプログラムが含まれています。
この章で説明するサブプログラムを使用する場合は、OpenLSの概念および使用方法を理解しておく必要があります(第14章を参照)。
表27-1にOpenLSのサブプログラムを示します。
表27-1 OpenLSをサポートするサブプログラム
サブプログラム | 説明 |
---|---|
|
CLOBオブジェクトを使用してOpenLSリクエストを送信し、結果をCLOBオブジェクトとして戻します。 |
|
XMLTypeオブジェクトを使用してOpenLSリクエストを送信し、結果をXMLTypeオブジェクトとして戻します。 |
この章では、これらのサブプログラムのリファレンス情報をアルファベット順に説明します。
使用上の注意
入力リクエストをXMLTypeオブジェクトとして指定してXMLTypeオブジェクトを戻すには、SDO_OLS.MakeOpenLSRequestファンクションを使用します。
OpenLSのサポートについては、第14章を参照してください。
例
次の例では、指定したカテゴリで(つまり、指定したSIC_code
値を使用して)、指定した場所(経度: -122.4083257、緯度: 37.788208)に最も近いビジネス情報を要求します。
DECLARE
request CLOB;
result CLOB;
BEGIN
request := TO_CLOB(
'<?xml version="1.0" encoding="UTF-8"?>
<XLS xmlns="http://www.opengis.net/xls" xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1">
<RequestHeader clientName="someName" clientPassword="password"/>
<Request requestID="123" maximumResponses="100" version="1.1"
methodName="DirectoryRequest">
<DirectoryRequest>
<POILocation>
<Nearest nearestCriterion="Proximity">
<Position>
<gml:Point xmlns:gml="http://www.opengis.net/gml">
<gml:pos dimension="2" srsName="4326">-122.4083257 37.788208</gml:pos>
</gml:Point>
</Position>
</Nearest>
</POILocation>
<POIProperties>
<POIProperty name="SIC_code" value="1234567890"/>
</POIProperties>
</DirectoryRequest>
</Request>
</XLS>');
result := SDO_OLS.makeOpenLSClobRequest(request);
END;
/
使用上の注意
入力リクエストをCLOBとして指定してCLOBを戻すには、SDO_OLS.MakeOpenLSClobRequestファンクションを使用します。
OpenLSのサポートについては、第14章を参照してください。
例
次の例では、指定したカテゴリで(つまり、指定したSIC_code
値を使用して)、指定した場所(経度: -122.4083257、緯度: 37.788208)に最も近いビジネス情報を要求します。
SELECT SDO_OLS.makeOpenLSRequest(XMLTYPE(
'<?xml version="1.0" encoding="UTF-8"?>
<XLS xmlns="http://www.opengis.net/xls" xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1">
<RequestHeader clientName="someName" clientPassword="password"/>
<Request requestID="123" maximumResponses="100" version="1.1"
methodName="DirectoryRequest">
<DirectoryRequest>
<POILocation>
<Nearest nearestCriterion="Proximity">
<Position>
<gml:Point xmlns:gml="http://www.opengis.net/gml">
<gml:pos dimension="2" srsName="4326">-122.4083257 37.788208</gml:pos>
</gml:Point>
</Position>
</Nearest>
</POILocation>
<POIProperties>
<POIProperty name="SIC_code" value="1234567890"/>
</POIProperties>
</DirectoryRequest>
</Request>
</XLS>')) "OpenLS Response" FROM DUAL;