Vector Data/es
Estructura de datos Vectoriales
Cuidado, las distintas terminologías (ej. vértice, nodo, punto o borde, línea, segmento de línea, enlace), debidas a disfentes teorías subyacentes (ej. algebra lineal, teoría de gráficas, teoría de redes) de los datos vectoriales puede causar gran confusión.
La confusión es facilmente aumentada por los distintos conceptos e implementaciones de los datos vectoriales.
Se asume que el lector está familiarizado con la sección vectorintro (Procesamiento de datos vectoriales e GRASS GIS) del Manual de referencia de GRASS GIS, los temas de la Wiki Vector FAQ GRASS6 y Help with 3D#Vector_3D_point_data.
También puede ser de utilidad leer la Documentación de Mapserver Vector Data Access.
Arquitectura vectorial de GRASS 6
El modelo de datos vectoriales de GRASS incluye la descripción de la topología, y guarda las coordenadas que describen a las primitivas (puntos, líneas, contornos y centroides), además de las relaciones espaciales. En general, los SIG topológicos requieren una estructura de datos en donde los contornos comunes entre dos áreas adyacentes es guardada en una sola línea, simplificando el mantenimiento del mapa.
Están definidos los siguientes objetos vectoriales:
- punto
- línea: secuencia dirigida de vértices conectados entre dos puntos finales o nodos
- contorno: la línea de borde que describe un área
- centroide: un punto dentro de un contorno cerrado (los centroides faltantes pueden ser creados con v.centroids)
- área: la composición topológica de centroide y contorno
- face: un área 3D;
Además, los siguientes objetos vectoriales están definidos, pero no implementados/usados completamente:
- kernel: un centroide 3D en un volumen (existe, pero generalmente no es usado)
- volumen: un cuerpo 3D, la composición topológica de faces y kernels (no implementado aún)implemented)
Nota: todas las líneas y contornos pueden ser polilíneas (con nodos/vértices en medio). v.build.polylines las crea.
Estructura de Datos
Un mapa vectorial <algún_vectorial> es guardado en el directorio $MAPSET/vector/<algún_vectorial>. Este directorio normalmente contiene los siguientes archivos.
- /head: archivo ASCII file con información de encabezado; este es más o menos la información que muestra v.info.
- /dbln: archivo ASCIIque enlaza la tabla(s) de atributos.
- /hist: archivo ASCII con la historia de los campos del mapa vectorial. Se puede usar v-info -h puede ser usado para mostrar este archivo.
- /coor: archivo binario que almacena las coordeadas.
- /topo: archivo binario para topología.
- /cidx: binario de índice de categorías (cat).
La creación de ciertos archivos puede ser deshabilitada. La badera -t está soportada en v.in.ogr y v.in.ascii deshabilita la creación de una tabla de atributos. La bandera -b soportada por r.to.vect y v.in.ascii deshabilita la creación del archivo de topología. Esto es necesario y útil ej. para conjuntos de datos muy grandes (> 3 millones de puntos). El usuario debe saber que es lo que está haciendo.
Sistema de referencia lineal (LRS)
Specs
- http://grass.osgeo.org/programming6/Vector_Library.html
- http://grass.osgeo.org/programming7/Vector_Library.html
- R. Blazek, M. Neteler, R. Micarelli: The new GRASS 5.1 vector architecture (Sept 2002, Conference-Paper)
GRASS
- http://www.gdf-hannover.de/lit_html/grass60_v1.2_en/node46.html
- J. Čepický, M. Landa: GRASS GIS Digitization Tools (Feb. 2007, Conference Paper) focuses on v.digit, v.edit and QGIS/GRASS
Shapefile de ESRI
Un shapefile guarda de manera no topológica la geometría y la información de los atributos para los elementos espaciales en un conjunto de datos. La geometría para un elemento es guardada en un archivo shape en un conjunto de coordenadas vectoriales.
Los siguientes objetos vectoriales están definidos:
- Punto
- Multipunto: un conjunto de puntos
- Polilínea: es en conjunto de vértices que consiste de una o más partes. Una parte está conectada por una secuencia de dos o más puntos. Las partes pueden o no estar conectadas entre sí. Las partes pueden o no intersectarse entre sí.
- Polígono: un polígono consiste de uno o más anillos. Un anillo es una secuencia conectada de 4 o más puntos que forman un bucle cerrado y que no se auto intersecte.
- PointM: punto más soporte para medidas (cf. Measure in shape file)
- PolyLineM: polilínea más soporte para medidas.
- PolygonM: polígono más soporte para medidas.
- MultiPointM: multipolígono más soporte para medidas.
- PointZ: versión 3D de PointM
- PolyLineZ: versión 3D de 3D PolyLineM.
- PolygonZ: versión 3D de 3D PolygonM.
- MultiPointZ: versión 3D de MultiPointM.
- MultiPatch: consiste de un número de parches de superficies, cada parche describe una superficie. TIN-like.
Nota: la "measure" (medida) o la coordenada z puede siempre ser omitida, al especificar el elemento nulo, ej. una PoliLieZ(x,y,0,0) es el mismo que PoliLineM (x,y,0) es el mismo que PoliLine(x,y).
Nota: a diferencia de Shapelib OGR no not suporta MultiPatch, PointM, PolyLineM, PolygonM, MultiPointM no son suportados por OGR. Por lo cuál GRASS no lo soporta. Postgres tiene un soporte completo (con algunas limitaciones, y con documentación faltante).
Estructura de Datos
Un shapefile <some_vector> está compuesto de un conjunto de archivos:
- <some_vector>.shp elementos vectoriales.
- <some_vector>.shx índice de elementos que coincide con los elementos vectoriales
- <some_vector>.dbf atributos en formato dBase DB
- <some_vector>.prj archivo ASCII con información de la proyección en formato WKT
- <some_vector>.sbn archivo opcional de índices
Este conjunto de archivos suele ser empaquetado en archivos comprimidos zip <some_vector>.zip o en un directorio único../<some_vector>/
Specs
- ESRI: Descripciones técnicas de los Shapefiles (Julio 1998, Whitepaper) (mirrored copy)
- ESRI: Referencia lineal y Segmentación dinámica en ArcGIS 8.1 (Mayo 2001, Whitepaper) (la sección "Routes and Measures", explica las medidas en los shapefiles)
- Documentación OGR: Controlador Shapefile
- http://shapelib.maptools.org/
- http://mapserver.gis.umn.edu/docs/reference/vector_data/shapefiles
OpenGIS Simple Features
Elementos simples es un estándar no topológico ampliamente implementado. La representación internda de OGR está modelada tras este, PostGIS es una implementación de PostgreSQL y Spatial Extensions de MySQL también lo implementa, etc.
Están definidos los siguientes objetos vectoriales:
- Point
- LineString
- Polygon
- Multipoint
- Multipolygon
- GeomCollection
Specs
- OpenGIS: Simple Features Specifications For SQL
- Adam Gawne-Cain: 2.5 D Simple Features Proposal (OGC 99-402r2)
- http://www.opengeospatial.org/standards
GRASS
SVG
Es un formato vectorial estándar no topológico y no vectorial. Están definidos los siguientes objetos vectoriales:
- path: represents the outline of a shape
- line: un segmento de línea (¿dirigido?) que inicia en un punto y termina en otro.
- polyline: a set of connected straight line segments. typically, it defines open shapes.
- polygon: a closed shape consisting of a set of connected straight line segments.
- rect: defines a rectangle shape
- circle
- ellipse
Specs
Scalable Vector Graphics (SVG) 1.1 Specification
GRASS
GPS receiver vector data
- waypoint (WP): punto con coordenadas geográficas (normalmente definido por el usuario).
- route (RT) una secuencia de putos (normalmente definida por el usuario).
- track point (TP) es un punto con coordenadas geográficas y con marca de tiempo.
- track (TR) (Lowrance lo llama: trail) es una secuencia de track points registrada por el receptor GPS durate un cierto intervalo de tiempo.
Specs
- GpsBabel Documentación: Route and Track Modes
- GpsBabel realiza intercambio con GPS y receptores.
GRASS
- v.in.garmin
- v.in.gpsbabel
- v.out.gpsbabel (in development)
- v.in|out.gpsbabel will be renamed/replaced with v.in|out.gps in GRASS 7.