2016-09-29 24 views
0

Teradataバージョン13以降では、地理距離の計算にST_SPHERICALDISTANCEを使用できます。 私はTeradataの中に簡単なテストクエリ書か:ST_SPHERICALDISTANCEを使用した2つの地理座標間のTeradata距離

Select 
Cast('POINT(-35.0000, 150.0000)' As ST_GEOMETRY) As location1, 
Cast('POINT(-35.0000, 149.0000)' As ST_GEOMETRY) As location2, 
location1.ST_SPHERICALDISTANCE(location2) As Distance_In_km 

をしかし、次のエラーを受け取りました:

Teradata row not delivered (trget): 13 OGRGeometryFactoryX::createFromWkt failed.

が、これは、クエリまたは設定の問題ですか? おかげ

答えて

2

単にポイント定義内にコンマを削除:)ところで

Select 
Cast('POINT(-35.0000 150.0000)' As ST_GEOMETRY) As location1, 
Cast('POINT(-35.0000 149.0000)' As ST_GEOMETRY) As location2, 
location1.ST_SPHERICALDISTANCE(location2) As Distance_In_km 
、ポイントを作成する別の方法:クエリが動作するようになりまし@dnoeth

NEW ST_GEOMETRY('POINT(-35.0000 150.0000)') 
+0

感謝を! しかし、私が見つけたことの1つは、ST_SPHERICALDISTANCEがkmまたはmの単位で距離を返さなかったことです。どのように私はkmに変換するだろうか? https://www.wolframalpha.com/input/?i=lat-35+lon149+to+lat-35+lon150 –

+0

距離をkm単位で調べるには、ST_SPHERICALDISTANCE()の値を1000. –

+0

また、 'Point()'の内部には、伝統的な地理座標の作成方法とは異なり、経度と緯度があります。 –