SQL Server Geography Point - PullRequest
       53

SQL Server Geography Point

1 голос
/ 07 ноября 2010

Недавно я исследовал типы пространственных данных SQL Server и решил попробовать сохранить мои длинные точки lat в поле географии.

Однако я не могу понять, как вставить данные в поле, я пытался использовать такие вещи, как «POINT (double, double), 0» и другие странные вещи, но безуспешно.

Также интересно, какова цель аргумента идентификатора, указанного в функциях географии.

Спасибо, Алекс.

Ответы [ 2 ]

2 голосов
/ 07 ноября 2010

Вы смотрели примеры из 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)');
0 голосов
/ 14 мая 2013
DECLARE @g geography;  
SET @g = geography::Point(4, 3, 4326);

Примечание : Lat и Long наоборот, по сравнению с синтаксисом POINT выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...