Publicado el 1 comentario

Leer campo tipo GEOMETRY de SQL Server Spatial desde .NET

Actualmente estoy trabajando con una aplicación de generación de Fichas Catastrales apoyado en imágenes oblicuas y necesitaba almacenar las coordenadas geográficas de las construcciones. Primeramente opté por utilizar shapefiles, pero ahora con la inclusión de los tipos Geometry y Geography en la versión 2008 del Sql Server, base de datos que incluí en el proyecto, tomé la decisión de usar esta nueva característica.
Anteriormente había trabajado en Bases de Datos Geográficas utilizando la propietaria de ESRI ArcSDE y la opensource POSTGIS con Postgresql. Al igual que Postgis y Oracle Spatial, esta según dicen cumple con los estándares que recomienda la OGC. Actualmente estoy utilizando Visual Basic .Net por su facilidad de uso para el desarrollo de la aplicación.
Otro desarrollo libre aplicado en este desarrollo es la libreria SharpMap, así que combino esta libreria con la libreria de tipos de Sql Server que permite manejar desde .Net los tipos de datos Geometry y Geography.
Aqui un ejemplo de como leer un campo Geometry de una tabla desde .Net y convertirlo a objetos SharpMap:

….
Imports SharpMap.Geometries ‘clases de SharpMap
Imports Microsoft.SqlServer.Types ‘clases de Sql Server
….
….
instruccion = “select  campo_geometry from tabla_geografia”
comando.CommandText = instruccion
Dim objGeometry as SqlGeometry tipo de datos de Sql Server
Dim objGeometriaSM As SharpMap.Geometries.Polygon
Dim registros As SqlDataReader = comando.ExecuteReader()
While registros.Read()
   objGeometria = CType(registros.GetValue(0), SqlGeometry) ‘lee campo.Geometry
   objGeometriaSM = New SharpMap.Geometries.Polygon ‘objeto polígono de Sharpmap
   objGeometriaSM = SharpMap.Geometries.Polygon.GeomFromWKB(objGeometria.STAsBinary().Buffer()) ‘convierte tipo geometry a poligono de Sharpmap
   ……
End While

Espero y les sea de ayuda.
 

Publicado el 7 comentarios

Error: package ‘Visual Web Developer HTML Source Editor Package’ has failed to load

Al iniciar Visual Studio 2008 en inglés en Windows Vista en español, muestra una ventana con este error. Para solucionarlo conteste “No” a esta ventana y vaya al menú de Herramientas->Opciones. Active el checkbox “Mostrar todas las configuraciones”, ir a Ambiente->Configuración Internacional y cambie el lenguaje a English. Reinicie el Visual Studio. Si anteriormente contestó “No” a este diálogo ejecute:
devenv /resetskippkgs
para volver a cargar los paquetes.