7.131 SDO_GEOR.setGCPGeorefModel
形式
SDO_GEOR.setGCPGeorefModel( inGeoraster IN OUT SDO_GEORASTER gcpGeorefModel IN SDO_GEOR_GCPGEOREFTYPE);
説明
GeoRasterオブジェクトのGCPベースの地理参照モデル情報を設定します。
パラメータ
使用上のノート
GCPを使用した地理参照の詳細は、「地上基準点(GCP)地理参照モデル」を参照してください。
SDO_GEOR_GCPGEOREFTYPE型の詳細は、「SDO_GEOR_GCPGEOREFTYPEオブジェクト型」を参照してください。
このプロシージャは、GeoRaster SRSメタデータ構成要素にGCP情報を格納します。gcpGeorefModelがNULLで、GeoRasterオブジェクトに地理参照モデルが含まれる場合、このモデル情報は削除されます。
所定のジオメトリ・モデルに対してgcpGeorefModelに指定されたGCPが十分ではない場合、ファンクションは成功しますが、このGeoRasterオブジェクトを指定してSDO_GEOR.georeferenceをコールすると、例外が発生します。
例
次の例では、指定したGeoRasterオブジェクトのGCPベースの地理参照モデル情報を設定します。
DECLARE
gr1 sdo_georaster;
georefModel SDO_GEOR_GCPGEOREFTYPE;
GCPs SDO_GEOR_GCP_COLLECTION;
rms sdo_number_array;
BEGIN
SELECT georaster INTO gr1 from herman.georaster_table WHERE georid=10 FOR UPDATE;
GCPs:=SDO_GEOR_GCP_COLLECTION(
SDO_GEOR_GCP('21', '', 1,
2, sdo_number_array(25.625000, 73.875000),
2, sdo_number_array(237036.937500, 897987.187500),
NULL, NULL),
SDO_GEOR_GCP('22', '', 1,
2, sdo_number_array(100.625000, 459.125000),
2, sdo_number_array(237229.562500, 897949.687500),
NULL, NULL),
SDO_GEOR_GCP('23', '', 1,
2, sdo_number_array(362.375000, 77.875000),
2, sdo_number_array(237038.937500, 897818.812500),
NULL, NULL),
SDO_GEOR_GCP('24', '', 1,
2, sdo_number_array(478.875000, 402.125000),
2, sdo_number_array(237201.062500, 897760.562500),
NULL, NULL),
SDO_GEOR_GCP('25', '', 2,
2, sdo_number_array(167.470583, 64.030686),
2, sdo_number_array(237032.015343, 897916.264708),
NULL, NULL),
SDO_GEOR_GCP('26', '', 2,
2, sdo_number_array(101.456177, 257.915534),
2, sdo_number_array(237128.957767, 897949.271912),
NULL, NULL)
);
georefModel := SDO_GEOR_GCPGEOREFTYPE('Affine',
GCPs.count, GCPs, rms);
sdo_geor.setGCPGeorefModel(gr1, georefModel);
UPDATE georaster_table SET georaster=gr1 WHERE georid=10;
COMMIT;
END;
/親トピック: SDO_GEORパッケージのリファレンス