0

私は GIS アプリケーションに不慣れで、少し問題があります。地理座標を使用してポリゴンをプロットしようとしていますが、ポリゴンのプロットに使用する前に、これらの座標をポイントに変換する必要があります。これらの座標をポリゴンに使用するポイントに変換する方法がわかりません。昨日はこれを行う方法を見つけるのに費やしましたが、実際にはまだわかりません。ms sql server 2008 で地理データ型を使用しようとしましたが、ポリゴンまたは変換された座標を取得する際に Java API が見つかりませんでした。これを行う方法のサンプルコードを教えてください。

どうもありがとうございました!!!

これは私のコードです。'コード'

double earth=6371;
double focal=500;

double lat= 47.653 ;
double lon = -122.358  ;

double latitude = lat*Math.PI/180;
double longitude = lon*Math.PI/180;

double x = earth * Math.sin(latitude)*Math.cos(longitude);

double y = earth * Math.sin(latitude)*Math.sin(longitude);

double z = earth * Math.cos(latitude);

double projectedX = x*focal /(focal+z);

double projectedY = y * focal / (focal+z);

int magx = (int) Math.round(projectedX * 5); 
int magy = (int) Math.round(projectedY *5);

System.out.println ("MAG X : "+magx);
System.out.println ("MAG Y : "+magy);

d mag x と y をポリゴンに差し込むだけですが、何も表示されません。

4

1 に答える 1

2

これは、一連のn座標から SQL Server で地理ポリゴンを作成および取得するための構文です。

DECLARE @Polygon geography;
SET @Polygon = geography::STPolyFromText('POLYGON((Lon1 Lat1, Lon2 Lat2, ... Lonn Latn, Lon1 Lat1))', 4326); 
SELECT @Polygon;

(これは、WGS84 データムに相対的な地理座標を使用していることを前提としています。その意味がわからない場合は、おそらくそうです。)

于 2012-04-18T08:48:33.607 に答える