書式
SDO_CS.TO_USNG( geom IN SDO_GEOMETRY, accuracy_in_meters IN NUMBER, datum IN VARCHAR2 DEFAULT 'NAD83') RETURN VARCHAR2;
説明
空間点ジオメトリ・オブジェクトをU.S. National Grid形式で表される点に変換します。
パラメータ
表現をU.S. National Grid形式で表される点に変換する点ジオメトリを指定します。入力ジオメトリには、NULL以外の有効なSRID(SDO_COORD_REF_SYS表のSRID列の値)を指定する必要があります(「SDO_COORD_REF_SYS表」を参照)。
点の位置の精度をm単位で指定します。負または正の方向に10の累乗単位で指定します(0.001、0.01、0.1、1、10、100、1000など)。これ以外の値を指定すると、Spatial and Graphによって内部調節されるため、結果が予想した値と異なることがあります。
点のU.S. National Grid座標がベースとするデータの名前を指定します。NAD83
またはNAD27
のいずれかを指定する必要があります。デフォルト値はNAD83
です。
使用上の注意
Oracle Spatial and GraphでサポートされるU.S. National Gridの詳細は、「U.S. National Gridのサポート」を参照してください。
accuracy_in_meters
値は、戻されるU.S. National Grid文字列の精度を表すために使用される桁数に影響を与えます。たとえば、0.000001を指定すると、文字列の桁数は多くなりますが、データのソースによっては、この桁が実際の地理を正確に反映しないことがあります。次の例を考えてみます。UTMジオメトリからU.S. National Grid文字列を作成すると、不正確な変換は伴わないため、完全な精度が得られます。ただし、Lambert投影からU.S. National Grid形式への変換には、逆のLambert投影と前方UTM投影が伴うため、各投影が不正確になることがあります。戻されるU.S. National Grid文字列で1mm (0.001)の精度を求める場合は、この文字列にすべての桁が含まれますが、mmの桁の部分は正確な地理を反映しない可能性があります。
U.S. National Grid形式で表される点を空間点ジオメトリに変換するには、SDO_CS.FROM_USNGファンクションを使用します。
例
次の例では、経度/緯度座標の付いた空間ジオメトリの点オブジェクトを、0.001m(1mm)の精度を使用するU.S. National Grid形式で表される点に変換します。
-- Convert longitude/latitude (WGS 84) point to US National Grid. SELECT SDO_CS.TO_USNG( SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(-77.0352402158258, 38.8894673086544, NULL), NULL, NULL), 0.001) FROM DUAL; SDO_CS.TO_USNG(SDO_GEOMETRY(2001,4326,SDO_POINT_TYPE(-77.0352402158258,38.889467 -------------------------------------------------------------------------------- 18SUJ2348316806479498