2017-01-19 5 views
0

SQL Server Geographyの種類はどのように使用できますか?または、カスタムデータベースタイプの使用に関するドキュメントがありますか?私はGrails/GORMとの統合を探しています。Grails 3 - SQL Server Geographyの種類を使用しますか?

次の例では、地理データを追加し、クエリする方法を示しています:地理データを追加し、クエリする方法を表示

答えて

0

A.。最初の例では、ID列とGeogCol1というジオメトリ列を持つテーブルを作成します。 3番目の列は、ジオグラフィー列をOGC(Open Geospatial Consortium)Well-Known Text(WKT)表現にレンダリングし、STAsText()メソッドを使用します。次に、2つの行が挿入されます.1つの行には地理学のLineStringインスタンスが含まれ、1つの行にはPolygonインスタンスが含まれます。 2つの地理インスタンスの交点を返す

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つの以前に挿入された地理インスタンスが交差する点を返すように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-spatialは地理タイプをサポートしていません(http://www.hibernatespatial.org/documentation/03-dialects/06-mssqlserver/)。 )。私はカスタムタイプを作る必要があります。 – Anonymous1

関連する問題