How to Create Spatial Object Programmatically

Dari dulu saya selalu bertanya-tanya, gimana yah caranya bikin spatial object di .NET, supaya bisa di-insert ke SQL Server 2008. Selama ini  sample code yang saya temui, seperti SpatialViewer hanya menunjukkan konversi spatial object yang dibuat pada sebuah drawing area menjadi SQL statement. Lalu SQL itu di-copy, paste di SSMS untuk kemudian di-execute. Hal ini tentunya almost impossible dilakukan di dunia nyata.

Ternyata caranya sangat mudah. Pertama, kita harus punya Microsoft SQL Server Management Objects yang bisa diunduh disini.

Selanjutnya setelah terpasang tambahkan reference Microsoft.SQLServer.Types.dll ke project yang kita buat. Object geometry berada dalam class SqlGeometry sedangkan object Geography dalam SqlGeography. Dan berikut adalah contoh membuat sebuah polygon.

 

Microsoft.SqlServer.Types.SqlGeometry geometry = new Microsoft.SqlServer.Types.SqlGeometry();
Microsoft.SqlServer.Types.SqlGeometryBuilder builder = new Microsoft.SqlServer.Types.SqlGeometryBuilder();

builder.SetSrid(4326);
builder.BeginGeometry(Microsoft.SqlServer.Types.OpenGisGeometryType.Polygon);

builder.BeginFigure(10, 10);
builder.AddLine(120, 10);
builder.AddLine(120, 120);
builder.AddLine(10, 120);
builder.AddLine(10, 10);
builder.EndFigure();
builder.EndGeometry();

geometry = builder.ConstructedGeometry;

Share this post: | | | |
Published Thursday, March 26, 2009 9:45 AM by si_hendrik
Filed under:

Comments

No Comments
Powered by Community Server (Commercial Edition), by Telligent Systems