1

私は最近、SQL Server の空間データ型を調査しており、緯度経度を地理フィールドに格納しようと決めました。

ただし、データをフィールドに挿入する方法がわかりません。「POINT(double、double)、0」などの奇妙なものを使用してみましたが、成功しませんでした。

また、地理関数で指定された ID 引数の目的についても興味があります。

ありがとう、アレックス。

4

2 に答える 2

2

MSDNの例を見たことがありますか?

差出人geography (Transact-SQL)

IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL 
    DROP TABLE dbo.SpatialTable;
GO

CREATE TABLE SpatialTable 
    ( id int IDENTITY (1,1),
    GeogCol1 geography, 
    GeogCol2 AS GeogCol1.STAsText() );
GO

INSERT INTO SpatialTable (GeogCol1)
VALUES (geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656 )', 4326));

INSERT INTO SpatialTable (GeogCol1)
VALUES (geography::STGeomFromText('POLYGON((-122.358 47.653 , -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326));
GO

そしてからPoint

DECLARE @g geometry;
SET @g = geometry::STGeomFromText('POINT (3 4)', 0);
SET @g = geometry::Parse('POINT(3 4 7 2.5)');
于 2010-11-07T13:50:41.770 に答える
0
DECLARE @g geography;  
SET @g = geography::Point(4, 3, 4326);

注意: 上記の POINT 構文と比較すると、Lat と Long は逆です。

于 2013-05-14T14:46:14.183 に答える