2017-01-19 76 views

回答

0

A.顯示如何添加和查詢地理數據:

下面的示例演示如何添加和查詢地理數據。第一個示例創建一個包含標識列和地理列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 

B.返回2個geography實例的交集:

下面的示例使用的STIntersection()方法返回其中兩個先前插入的geography實例相交的點。

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-spatial不支持地理類型(http://www.hibernatespatial.org/documentation/03-dialects/06-mssqlserver/ )。我將需要製作一個自定義類型。 – Anonymous1