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 Dejar un comentario

Inauguración de CIVISIT en Ciudad Victoria.

Hoy se inaugura oficialmente una nueva empresa en Ciudad Victoria, Tamaulipas, México: CIVISIT. “Conozca antes de ir”, es el slogan de esta empresa que se dedica a la generación de imágenes aéreas oblicuas. CIVISIT es distribuidor exclusivo en América Latina de la tecnología licenciada por PICTOMETRY, creador de “imágenes inteligentes”.
La compañía ya cuenta con las imágenes de 62 localidades del Estado de Tamaulipas, parte de la Ciudad de Monterrey y Veracruz.

Las imágenes nó sólo permiten observar un mismo sitio desde diferentes ángulos (norte, sur, este, oeste), si no que mediante la tecnología PICTOMETRY permite medir alturas, distancias, áreas, altitudes y declives directamente en la imágen, sin necesidad de ir a campo. De ahi el porqué se le denominan “imágenes inteligentes”.

En horabuena para esta empresa, sabemos que va a ser una empresa de mucho éxito.

No olvides visitar el sitio de la empresa para más información y el sitio de PICTOMETRY para demostraciones en vivo de las imágenes.

Publicado el 1 comentario

Definir la proyección de un shape con ArcGIS 9.x desde ArcMap

En ArcMap 9.x se puede definir el sistema de coordenadas geográficas (proyección) de un shapefile que carece de dicha proyección.

Para eso, del menú Window de ArcMap seleccione la opción ArcToolbox, si no está activada aún; o también puede activar esta opción desde la barra de herramientas Main Menu presionando el botón Show/Hide ArcToolbox Window. Dichas acciones ocultan o muestran la ventana de ArcToolbox.

Una vez abierta le ventana del ArcToolBox abra el nodo, si no se encuentra abierto, Data Management Tools dando doble click sobre  él. Dentro de este nodo abra el nodo llamado Projections and Transformations. Dentro de él aparece la herramienta Define Projection. De doble click sobre ella para ejecutarla, aparecerá el diálogo Define Projection.

La ventana Define Projection espera que se le especifique el shapefile al que se le quiere definir la proyección y los datos de dicha proyección. El en campo Input Dataset or Feature Class seleccione la capa (si la capa está ya cargada en ArcMap) u oprima el botón que se encuentra al final de este campo para seleccionar un shapefile que se encuentre en otro lugar. Seleccione el bóton al final del campo Coordinate System para abrir el diálogo Spatial Reference Properties que le permitira seleccionar la proyección deseada. Dicho diálogo permite seleccionar la proyección desde sistemas de coordenadas ya preestablecidas, importándola desde otro shapefile o creando una nueva. Una vez seleccionada el sistema de coordenadas deseado presione el botón Aceptar.

Una vez que se llenaron los campos con el nombre del shapefile o capa y, el sistema de coordenadas seleccionado oprima el botón OK del diálogo Define Projection.

Se cerrará el diálogo y nuestro shapefile ya tendrá una proyección establecida.