2017-01-19 4 views

ответ

0

А. Показано, как добавить данные и география запросов:

Следующие примеры показывают, как добавить данные и география запросов. В первом примере создается таблица с столбцом идентификации и столбцом географии, GeogCol1. Третья колонка отображает столбец географии в представление открытого геопространственного консорциума (OGC), хорошо известное (WKT) и использует метод STAsText(). Затем вставляются две строки: одна строка содержит экземпляр геоинформации LineString, а одна строка содержит экземпляр Polygon.

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 

Б. Возвращаясь пересечение двух экземпляров географии:

В следующем примере используется метод STIntersection() для возврата точки, где два ранее вставленные экземпляры географии пересекаются.

DECLARE @geog1 geography; 
DECLARE @geog2 geography; 
DECLARE @result geography; 

SELECT @geog1 = GeogCol1 FROM SpatialTable WHERE id = 1; 
SELECT @geog2 = GeogCol1 FROM SpatialTable WHERE id = 2; 
SELECT @result = @geog1.STIntersection(@geog2); 
SELECT @result.STAsText(); 
+0

Я ищу интеграцию с Grails/GORM. Я уточню вопрос, чтобы уточнить. – Anonymous1

+0

следуйте по ссылке: https://grails.org/plugin/hibernate-spatial – jainvikram444

+0

К сожалению, hibernate-spaces не поддерживает тип географии (http://www.hibernatespatial.org/documentation/03-dialects/06-mssqlserver/). Мне нужно создать собственный тип. – Anonymous1