Más

¿Qué pasará si restamos dos ráster con diferente tamaño de celda usando la Calculadora ráster?

¿Qué pasará si restamos dos ráster con diferente tamaño de celda usando la Calculadora ráster?


Quiero restar un ráster de topografía con un ráster de profundidad. El problema es que los dos rásteres tienen diferentes tamaños de celda. El ráster de topografía tiene un tamaño de celda cuadrada de 5, 5 mientras que el ráster de profundidad tiene un tamaño de celda rectangular de 10, 3.

¿Cómo funciona la Calculadora ráster de esa manera? ¿Da un resultado exacto?


cuando los rásteres tienen diferentes tamaños de celda, la calculadora de ráster volverá a muestrear internamente los rásteres para tener píxeles del mismo tamaño. Puede seleccionar el tipo de remuestreo en la configuración del entorno de su herramienta de geoprocesamiento, usando:

  • mínimo

  • máximo

  • igual que una capa

  • tamaño personalizado

En su caso, no tiene un tamaño de píxel que sea múltiplo del otro tamaño de celda. Por lo tanto, el remuestreo tendrá pérdidas si usa un tamaño de píxel de sus capas.

Si desea tener un control total sobre cómo se realizará la sustracción, le recomiendo que primero vuelva a muestrear cada imagen con uno por uno píxeles (eligiendo la interpolación bilineal o cúbica para evitar artefactos "en forma de escalera" y ajustando la extensión del primer ráster al segundo trama). Puede almacenar esos rásteres en_memoria si no son demasiado grandes para evitar duplicar sus datos.


Hoja suelta para la introducción a los sistemas de información geográfica (octava edición) Edición de edición Soluciones para el capítulo 15 ...

Que necesitas: station.shp y idoutlgd.

Esta tarea de desafío le pide que compare los resultados de la interpolación de dos métodos spline en Geostatistical Analyst. A excepción del método de interpolación, utilizará los valores predeterminados para la tarea de desafío. La tarea tiene tres partes: una, crear un ráster interpolado usando spline completamente regularizado dos, crear un ráster interpolado usando spline con tensión y tres, usar una operación local para comparar los dos rásteres. El resultado puede mostrar la diferencia entre los dos métodos de interpolación.

1. Cree un mapa de predicción de funciones de base radial utilizando la función del kernel de spline completamente regularizado. Convierta el mapa en un ráster y guárdelo como regularizado con un tamaño de celda de 2000.

2. Cree un mapa de predicción de funciones de base radial utilizando la función kernel de spline con tensión. Convierta el mapa en un ráster y guarde el ráster como tensión con un tamaño de celda de 2000.

3. Seleccione Análisis de ráster en el menú Configuración del entorno de ArcToolbox. Seleccione idoutlgd para la máscara de análisis.

4. Utilice la Calculadora ráster en el conjunto de herramientas Herramientas de análisis espacial / Álgebra de mapas para restar tensión desde regularizado.

5. El resultado muestra la diferencia en los valores de celda entre los dos rásteres dentro idoutlgd. Muestra el ráster de diferencia en tres clases: valor más bajo a -0,5, -0,5 a 0,5 y 0,5 al valor más alto.


Hoja suelta para Introducción a los sistemas de información geográfica (8a edición) Edición de edición Soluciones para el Capítulo 15 Problema 1CTQ: Qué necesita: station.shp e idoutlgd. Esta tarea de desafío le pide que compare los resultados de interpolación de dos métodos spline en Geostatistical Analyst. Excepto por el método de interpolación, utilizará los valores predeterminados para la tarea de desafío. La tarea tiene tres partes: una, crear un ráster interpolado usando spline completamente regularizado dos, crear un ráster interpolado usando spline con tensión y tres, usar una operación local para comparar los dos rásteres. El resultado puede mostrar la diferencia entre los dos métodos de interpolación. Cree un mapa de predicción de funciones de base radial utilizando la función del kernel de spline completamente regularizado. Convierta el mapa en un ráster y guarde el ráster como regularizado con un tamaño de celda de 2000.2. Cree un mapa de predicción de funciones de base radial utilizando la función kernel de spline con tensión. Convierta el mapa en un ráster y guarde el ráster como tensión con un tamaño de celda de 2000,3. Seleccione Análisis de ráster en el menú Configuración del entorno de ArcToolbox. Seleccione idoutlgd para la máscara de análisis 4. Utilice la Calculadora de ráster en el conjunto de herramientas Herramientas de análisis espacial / Álgebra de mapas para restar tensión de regularizado. El resultado muestra la diferencia en los valores de celda entre los dos rásteres dentro de idoutlgd. Muestre el ráster de diferencia en tres clases: valor más bajo a -0.5, -0.5 a 0.5 y 0.5 al valor más alto. ¿Cuál es el rango de valores de celda en el ráster de diferencia? ...

Que necesitas: station.shp y idoutlgd.

Esta tarea de desafío le pide que compare los resultados de la interpolación de dos métodos spline en Geostatistical Analyst. A excepción del método de interpolación, utilizará los valores predeterminados para la tarea de desafío. La tarea tiene tres partes: una, crear un ráster interpolado usando spline completamente regularizado dos, crear un ráster interpolado usando spline con tensión y tres, usar una operación local para comparar los dos rásteres. El resultado puede mostrar la diferencia entre los dos métodos de interpolación.

1. Cree un mapa de predicción de funciones de base radial utilizando la función del núcleo de spline completamente regularizado. Convierta el mapa en un ráster y guárdelo como regularizado con un tamaño de celda de 2000.

2. Cree un mapa de predicción de funciones de base radial utilizando la función kernel de spline con tensión. Convierta el mapa en un ráster y guárdelo como tensión con un tamaño de celda de 2000.

3. Seleccione Análisis de ráster en el menú Configuración del entorno de ArcToolbox. Seleccione idoutlgd para la máscara de análisis.

4. Utilice la Calculadora ráster en el conjunto de herramientas Herramientas de análisis espacial / Álgebra de mapas para restar tensión desde regularizado.

5. El resultado muestra la diferencia en los valores de celda entre los dos rásteres dentro idoutlgd. Muestra el ráster de diferencia en tres clases: valor más bajo a -0,5, -0,5 a 0,5 y 0,5 al valor más alto.


¿Las funciones en R paquete raster y sp conservan el orden del número de celda?

Estoy trabajando con funciones en el ráster del paquete R y sp para calcular estadísticas resumidas para todos los píxeles en círculos de varios tamaños. Para ahorrar tiempo al trabajar con muchos rásteres, he calculado previamente la distancia de cada punto en el ráster desde el punto central usando las funciones xyFromCell () y spDistsN1 (). Esa función devuelve un vector con una longitud igual al número de celdas del ráster. Además, he convertido el ráster en un marco de datos con un número de filas igual al número de celdas del ráster usando la función as.data.frame (). Luego, puedo indexar el marco de datos encontrando todas las filas con una distancia menor o igual al tamaño de mi círculo y calcular estadísticas de resumen. Solo quería comprobar si ambas funciones conservan el orden del número de celda. Vea el código de ejemplo a continuación. Parece que funciona, pero me gustaría que alguien lo confirmara.


Cálculo del área de superposición entre 2 capas ráster con diferentes orígenes y extensiones en R

Soy completamente nuevo en hacer preguntas sobre stackoverflow y más o menos un novato en R (y programación en general), así que tengan paciencia conmigo.

Tengo archivos ASCII de rangos de especies que solo muestran presencia. Después de recorrer los confines de Internet, logré cargar, convertir a ráster, enmascarar a lo largo de los bordes deseados (en mi caso, la costa de Australia) y trazarlos para poder visualizar los rangos en un mapa no proyectado.

Habiendo logrado el aspecto cualitativo de esto, necesito llegar al aspecto cuantitativo, es decir, necesito calcular el grado de simpatía entre especies. Para hacer eso, primero necesito calcular el área de superposición, que es donde tengo problemas. Esto es lo que he logrado hacer hasta ahora:

y es un ráster de la superposición entre d y b enmascarado sobre d (cuando trato de enmascarar sobre b, aparece un error que dice que las extensiones son diferentes). ¿Cómo calculo su área? la función area () del paquete ráster escupe esto:

No estoy del todo seguro de qué hacer con esto. ¿Es esta incluso una forma buena / precisa / correcta de obtener áreas? ¿Por qué las extensiones son diferentes entre y y b pero iguales entre d e y? Además, ¿cuáles son las unidades de los valores del área (y)? Supongo que las unidades no importan demasiado porque eventualmente tomaré una proporción (dividiendo la superposición por el rango de las especies más restringidas), pero tengo curiosidad por saberlo para referencia futura.

Lo siento si esta es una pregunta estúpida. Agradezco cualquier aporte que alguien pueda tener.


1 respuesta 1

La mitad de esas cosas no pertenecen al estado o son redundantes.

P.ej. todas las propiedades "discapacitadas". Solo se usan en conjunto y podrían haberse derivado todos de un solo booleano durante el método render ().

Tampoco el placeholderText pertenece al estado. Es una constante.

Estos dos son complicados. Si bien representan algo que pertenece al estado (¡la información de si la entrada está mal formada o no!), La lista real de clases debería haberse calculado durante el método render (), y esta información debería haber sido un booleano simple.

Su manejo de entradas inválidas es completamente incorrecto.

Si bien hizo bien al deshabilitar el cálculo tan pronto como una entrada se vuelve inválida, arruinó totalmente la lógica para volver a habilitar los cálculos.

Pruébelo usted mismo, ingrese algo no válido en ambos campos de entrada, corrija solo uno y los botones se vuelven a habilitar a pesar de que el otro campo todavía contiene basura.

El problema es el mal uso del estado. Si los botones están desactivados o no, es en realidad una función de si la entrada a y entrada B son validos.

Si son válidos o no pertenecen individualmente al estado, ¡sin embargo, el resultado calculado de esa combinación no lo es! Si hubiera calculado el estado de los botones a partir del estado de las entradas en el método render (), este problema no habría ocurrido.

Además de estropear el seguimiento del estado en entradas no válidas, su validación de entrada en general es descuidada.

Actualmente, su calculadora confirma felizmente que 3e2 elefantes + 4k ratones = 302.

Supongamos que solo verificó si la entrada se puede analizar de alguna forma como numérica, pero no si el campo no contiene basura adicional con un significado potencialmente ambiguo.

Realizar cálculos directamente en eventos de entrada va en contra del principio fundamental del marco de reacción. En su lugar, debería haber almacenado la operación en el estado y solo realizar el cálculo real durante el método render ().

No hace falta decir que la actualización del DOM dentro de esta devolución de llamada está completamente fuera de los límites.

Deshabilitar las entradas sin una buena razón está proporcionando una mala experiencia de usuario. El punto sobre el uso del marco de reacción es que puede volver a calcular todos los resultados (en este caso, el campo de resultados) del estado recopilado.

Entonces, ¿por qué obligar al usuario a descartar ese estado?

Simplemente continúe actualizando el estado a medida que el usuario continúe proporcionando información.

Lo que debería haber agregado, pero no lo hizo, es una retroalimentación visual sobre qué operación está actualmente activa. Trivial, si hubiera registrado la operación elegida en el estado.

Hablando de campos de desactivación. ¿Por qué usó el atributo discapacitado? El requisito solo habla de hacer que el campo de resultado solo lectura, y el atributo que lo hace se denomina readonly.

La desactivación de los campos de entrada evita, según las especificaciones y en la mayoría de los navegadores, toda interacción con los campos de entrada, incluida la capacidad de seleccionar o copiar texto.

No es que su lógica de desactivación de entrada funcione correctamente de cualquier manera. Solo deshabilita las entradas la primera vez que se realiza una operación, pero una vez que las entradas se vuelven a habilitar mediante un restablecimiento de formulario, permanecen habilitadas.

Su método resetForm () está literalmente rompiendo react, porque una vez más toca el DOM directamente y fuera del método render ().

En caso de que no te hayas dado cuenta o aún no lo sepas:

Reaccionar no realiza un seguimiento adecuado de cualquier manipulación DOM que realice fuera de render (). React asumirá que el DOM todavía está en el estado interferido del estado y no lo actualizará.

¿Proporciona diferentes diseños para diferentes tamaños de pantalla? Bien. A pesar de que una pantalla de tamaño "mediano" apenas requiere cambiar a un diseño efectivo de 1 columna todavía. Eso solo sería apropiado para "pequeños".


Introducción

El procesamiento y la gestión eficientes de datos espaciales ha sido un tema de investigación y desarrollo durante décadas. Esto ha sido estudiado por las comunidades de Sistemas de Información Geográfica (SIG) y bases de datos espaciales, que proponen dos modelos principales para representar datos espaciales, a saber, el modelo vectorial y el modelo raster. El primero representa objetos espaciales utilizando puntos y líneas que conectan dichos puntos y forman representaciones más complejas, como polígonos. Este modelo se utiliza principalmente para representar características creadas por humanos. Por otro lado, el modelo ráster representa el espacio como un mosaico de mosaicos de tamaño fijo, generalmente cuadrados, cada uno almacenando un valor. Este modelo se usa tradicionalmente para representar elementos del mundo real que no fueron creados por humanos. Algunos ejemplos de datos espaciales generalmente representados en rásteres son temperaturas, precipitaciones, elevaciones y concentraciones de clorofila, por nombrar solo algunos ejemplos. El Álgebra de mapas [43] se considera un gran avance en el uso de este modelo 1 en SIG, ya que proporciona una herramienta simple y poderosa para realizar análisis geográficos. El álgebra de mapas se incorporó en muchos paquetes de procesamiento de imágenes de detección remota y SIG, por ejemplo, ArcGis de ESRI, QGIS, GDMS-R o GRASS.

En muchas aplicaciones, no solo se debe almacenar y analizar un solo ráster, sino también una serie de rásteres que cubren la misma región en diferentes marcas de tiempo. Esto se ha denominado en la literatura una serie de tiempo ráster o un ráster temporal, y tiene aplicaciones, por ejemplo, en sistemas de pronóstico del tiempo [13], predicción de áreas productivas de pesca [4], monitoreo de la degradación forestal [18], monitoreo de suelos. contaminación [15], agricultura [2], extracción de datos en series temporales de imágenes de satélite [34] o en análisis de Big Data [3].

Aunque una serie de tiempo de ráster se puede conceptualizar como una colección ordenada de rásteres independientes, la definición de este nuevo modelo tiene varias ventajas. Algunas de estas ventajas son: permitir técnicas generales de visualización y análisis independientes del dominio de aplicación, facilitar la verificación de consistencia tanto en la dimensión espacial como temporal, o mejorar los requisitos de espacio en el almacenamiento de datos (como mostramos en este trabajo, es posible almacenar un ráster en menos espacio que la colección original de rásteres).

Por tanto, la evolución temporal de los datos ráster se ha estudiado desde diferentes perspectivas. Por ejemplo, con respecto al modelado de la información, en [27], el álgebra de mapas clásica se amplía para tratar con rásteres temporales. La solución conceptual extiende la matriz 2D a un cubo 3D, donde cada segmento de la dimensión temporal es el ráster correspondiente a un instante de tiempo. Cada operación de Álgebra de mapas obtiene de uno o dos rásteres de entrada uno nuevo. Las operaciones del Álgebra de mapas 2D generalmente se dividen en tres grupos. Local Las operaciones obtienen un ráster en el que cada celda de salida se calcula como una función (es decir, suma, resta, etc.) de las celdas de entrada en la misma ubicación en los rásteres de entrada. Focal Las operaciones calculan el nuevo valor de cada celda de salida en función de las celdas de entrada en un área vecina alrededor de su posición. Por fin, Zonal Las operaciones calculan el valor de cada celda de salida como una función de las celdas de entrada dentro de una zona especificada del primer operando, tales zonas están determinadas por zonas definidas en el segundo operando. La extensión a las series de tiempo ráster simplemente considera que una celda tiene, en lugar de solo dos coordenadas cartesianas X, Y, las coordenadas cartesianas más una tercera dimensión Z, que considera el tiempo. Entonces, en Local operaciones, las celdas utilizadas para calcular el valor de una celda de salida son las que se encuentran en la misma posición exacta en el espacio 3D. En Focal y Zonal operaciones, las zonas 2D utilizadas para calcular el valor de una celda de salida ahora son zonas 3D. El Álgebra de mapas 3D se extendió más tarde a un álgebra de mapas multidimensional (MMA) en [28].

En cuanto al almacenamiento de datos, las nuevas tecnologías para recopilar y generar datos georreferenciados, como dispositivos móviles ubicuos, sensores de Internet de las cosas, nuevos dispositivos de teledetección, etc., están creando enormes fuentes de datos espacio-temporales que son difíciles de almacenar y analizar. . Por ejemplo, las imágenes de teledetección se adquieren cada día a una velocidad de varios terabytes por día [26], [47], [48], y la cantidad archivada de datos ráster de este tipo se acerca lentamente a la escala de zettabytes [37].

Por lo tanto, un desafío principal ha sido el volumen de información, que está influenciado por dos características del modelo ráster temporal: la resolución espacial y temporal. La resolución espacial se define por el tamaño del mosaico. Cuanto más pequeña sea la baldosa, mayor será la precisión del modelo, pero también mayor será el consumo de espacio. En series de tiempo de ráster, la distancia de tiempo entre dos rásteres consecutivos define la resolución temporal. Cuanto mayor sea la resolución temporal, mayor será el consumo de espacio. Por ejemplo, aumentar la precisión de días a horas requiere 24 veces más espacio. Dado que los nuevos dispositivos permiten aumentar las resoluciones espaciales (por ejemplo, submétricas) y temporales (por hora) [5], el problema del consumo de espacio está empeorando.

La compresión de datos se ha utilizado para hacer frente a este desafío y reducir el espacio de almacenamiento y el tiempo de transmisión de datos ráster [22], [45]. La mayoría de los sistemas reales capaces de administrar datos ráster (incluidas las series de tiempo ráster), como Rasdaman, Grass o incluso R, así como formatos de representación ráster como NetCDF (formato estándar de OGC 2) y GeoTiff, se basan en métodos de compresión tradicionales [ 38] como la codificación de longitud de ejecución, Lempel – Ziv-Welch o Deflate para reducir el espacio de almacenamiento. Sin embargo, el uso de estos métodos de compresión plantea un inconveniente importante para acceder a un dato dado o una parte de los datos, ya que todo el conjunto de datos, o una gran parte, debe descomprimirse.

Por el contrario, una nueva familia de métodos de compresión, denominados estructuras de datos compactas [31], son capaces de obtener un dato dado o una parte de los datos descomprimiendo solo esos datos. Además, la mayoría de las estructuras de datos compactas también están equipadas con índices dentro del mismo espacio comprimido y, por lo tanto, los tiempos de acceso a los datos comprimidos son comparables o mejores que los métodos clásicos a los datos no comprimidos. Esto también se debe a un mejor uso de la jerarquía de la memoria, ya que los datos se pueden mantener comprimidos en la memoria principal y, por lo tanto, se pueden mantener grandes porciones de ellos allí. Se han desarrollado varias estructuras de datos compactas para rásteres [6], [24], [35], [23]. Entre ellos, el ráster k 2 [23], [24] suele ser la estructura de datos más competitiva en la relación espacio-tiempo. Aunque este enfoque no reduce el espacio tanto como los métodos de compresión pura, admite varias operaciones importantes sin descomprimir los datos, como la recuperación de una zona específica o el filtrado de mosaicos en una zona cuyos valores están restringidos a un rango. Estas operaciones proporcionan las primitivas para análisis más complejos, como la detección de zonas con alto riesgo de inundaciones.

En este trabajo, presentamos una estructura de datos compacta para series de tiempo ráster utilizando un enfoque completamente novedoso con respecto a los métodos clásicos. La forma habitual de almacenar rásteres y conjuntos de datos de series de tiempo ráster es como simples matrices N-dimensionales. Además, cuando se requiere compresión, esto se logra mediante métodos de compresión clásicos, como Deflate, que, como se explicó, requieren descomprimir todo el conjunto de datos o, al menos, en grandes partes. Esto es especialmente desafortunado para las operaciones típicas en rásteres, como obtener una ventana determinada o la Zonal operaciones de Álgebra de mapas, que requieren descomprimir solo ciertas zonas para responder a la consulta. Por el contrario, en lugar de usar la configuración clásica de matriz N-dimensional, nuestro método usa la disposición de datos del ráster k 2, que en realidad usa una disposición de datos similar a un árbol cuádruple.

La primera ventaja de utilizar la estructura de datos de cuatro árboles es que tenemos un índice espacial sobre los datos. Además, dado que nuestra estructura se basa en el ráster k 2, utilizamos todas sus técnicas especialmente adaptadas a esa disposición de datos, que se basan en métodos de estructuras de datos compactas de última generación. Esto trae aún más beneficios ahora que es posible descomprimir un datum dado o una región dada sin descomprimir nada más. Otra ventaja es que el índice espacial está acoplado con un índice sobre los valores almacenados en las celdas, por lo que también puede filtrar celdas por contenido.

Sin embargo, al usar simplemente un ráster k 2 por instante de tiempo, no aprovechamos las regularidades temporales que surgen en muchos datasets ráster del mundo real ya que, en ese caso, cada instante de tiempo se comprimiría aislado. Por lo tanto, utilizamos la estrategia de instantáneas y logs, que se ha utilizado en la compresión de índices espaciotemporales y de vídeo [42], [7], [14]. Esto nos permite reemplazar porciones repetidas de los datos por punteros a una apariencia anterior, obteniendo así compresión.

Evaluamos experimentalmente nuestra propuesta en múltiples series de tiempo ráster reales y la comparamos con soluciones de última generación. Nuestros resultados confirman que nuestro método es la representación más rápida o muy cercana a ella. Aunque un método de compresión clásico para series de tiempo ráster mejora nuestra compresión, es mucho más lento en todas las consultas, entre 10 y 10,000 veces más lento. Otras soluciones basadas en estructuras de datos compactas no son competitivas con nuestra propuesta, que produce la mejor compensación espacio-tiempo en todos los conjuntos de datos.

El resto del artículo está organizado de la siguiente manera. Primero, proporcionamos algunos antecedentes y conceptos básicos en la Sección 2, y revisamos el trabajo relacionado más relevante en la Sección 3. Luego, formalizamos el problema y definimos las operaciones básicas en la Sección 4. Nuestra primera solución, llamada Ráster T - k 2, es descrito en la Sección 5 y una variante de dicho método, denominado htkdosr, se describe en la Sección 6. En la Sección 7 presentamos nuestros resultados experimentales. Finalmente, en la Sección 8, presentamos nuestras conclusiones y esbozamos las direcciones para el trabajo futuro.


Abstracto

Este estudio resuelve el problema de ubicación para establecer un centro logístico que sirva como centro de consolidación para distribuir carga urbana en la Región Noroccidental de Irán. Se desarrolla un enfoque novedoso de múltiples métodos para implementar un marco de investigación de dos etapas. Se aplican herramientas de decisión multicriterio integradas en SIG para identificar regiones potenciales.Se desarrolla un enfoque heurístico basado en K-medias para seleccionar cinco sitios potenciales y se implementa PROMETHEE, una herramienta de toma de decisiones multicriterio, para determinar el mejor sitio posible para establecer la logística. centro. El método “Višekriterijumska Optimizacija i kompromisno Rešenje” (VIKOR) se aplica en varios criterios específicos de la región para identificar las regiones potenciales adecuadas para el centro logístico. A continuación, se aplica una nueva programación restringida cuadrática de enteros mixtos (MIQCP) para agrupar los centríodos que representan los sitios más adecuados. También se implementa un enfoque heurístico de K-medias como un enfoque de solución de agrupamiento alternativo para mejorar el tiempo computacional para el procesamiento de datos. Luego, se utilizan varios criterios, como el costo, las ganancias, los efectos en la salud, los asuntos políticos y las regulaciones, para identificar el mejor sitio utilizando el método PROMETHEE. Los resultados de este estudio pueden informar la ayuda para la toma de decisiones basada en evidencia para resolver problemas de ubicación altamente complejos, de múltiples escalas y de múltiples criterios. Las autoridades municipales, junto con la industria, pueden aplicar este marco para identificar el mejor sitio comprometido para establecer un centro logístico regional, lo que a su vez ayuda a reducir costos, mejorar la eficiencia logística y mejorar el desempeño regional.


Las primitivas geométricas son las representaciones utilizadas y los cálculos realizados en un SIG que se refieren a los aspectos espaciales de los datos, objetos de datos descritos por coordenadas. En geometría vectorial, distinguimos en objetos cero, unidimensionales, bidimensionales y tridimensionales, más conocidos como puntos, características lineales, características areales o planas y características volumétricas. Un SIG almacena y realiza cálculos sobre todos estos. A menudo, las características planas forman un colectivo conocido como subdivisión (espacial). Los cálculos sobre objetos geométricos se muestran en la simplificación de datos, análisis de vecindad, agrupamiento espacial, interpolación espacial, colocación automatizada de texto, segmentación de trayectorias, correspondencia de mapas y muchas otras tareas. Deben contrastarse con cálculos sobre atributos o redes.

Hay varios tipos de modelos de datos vectoriales para subdivisiones. Los clásicos se conocen como modelos de espagueti y pizza, pero hoy en día se reconoce que los modelos de datos topológicos son la representación de elección. Revisamos estos modelos brevemente.

Los cálculos van de simples a muy complejos: decidir si un punto se encuentra en un rectángulo necesita cuatro comparaciones, mientras que realizar la superposición de mapas en dos subdivisiones requiere un conocimiento avanzado del diseño de algoritmos. Presentamos la superposición de mapas, los diagramas de Voronoi y las triangulaciones de Delaunay y mencionamos enfoques algorítmicos para calcularlos.

Kreveld, M. van (2020). Primitivas geométricas y algoritmos. El cuerpo de conocimientos sobre ciencia y tecnología de la información geográfica (Edición del segundo trimestre de 2020), John P. Wilson (ed.). DOI: 10.22224 / gistbok / 2020.2.6 ..

Esta entrada fue publicada el 12 de junio de 2020.

Este tema también está disponible en esta edición anterior:

DiBiase, D., DeMers, M., Johnson, A., Kemp, K., Luck, A. T., Plewe, B. y Wentz, E. (2006). Primitivas geométricas. El cuerpo de conocimientos sobre ciencia y tecnología de la información geográfica. Washington, DC: Asociación de Geógrafos Estadounidenses. (2º trimestre de 2016, primer digital).

Debate de vectores ráster: discusión de las ventajas y desventajas de los modelos basados ​​en ráster y los modelos basados ​​en vectores al almacenar datos espaciales.

Estructura de datos topológicos: un modelo basado en vectores para almacenar subdivisiones donde la adyacencia de características cero, unidimensionales y bidimensionales se representan explícitamente.

Red irregular triangular: un tipo de estructura de datos topológicos donde todas las regiones delimitadas son triángulos. Son importantes para representar datos de elevación.

Algoritmo geométrico: descripción de alto nivel de un enfoque para resolver una tarea computacional que involucra geometría, que es lo suficientemente precisa para permitir un análisis de eficiencia matemática.

Superposición de mapa: el proceso de combinar dos subdivisiones en una, de modo que cada celda de la subdivisión de salida se encuentre exactamente en una celda de cada una de las subdivisiones de entrada.

Diagrama de Voronoi: subdivisión del plano inducida por un conjunto S de puntos donde las celdas corresponden a regiones donde un punto de S está más cerca. Las celdas están delimitadas por los llamados bordes de Voronoi y vértices de Voronoi.

Triangulación de Delaunay: subdivisión del plano inducida por un conjunto S de puntos donde todas las celdas son triángulos, los vértices de los triángulos son los puntos de S, y para cada triángulo, la circunferencia de sus tres vértices no contiene ningún punto de S.

Hay dos formas fundamentalmente diferentes de representar el espacio: con una representación rasterizada y con una representación vectorial. Una representación ráster es más sencilla. Todo el espacio de interés se subdivide en pequeñas celdas cuadradas que forman una cuadrícula. Cada celda de la cuadrícula es un elemento indivisible que obtiene un valor único. En un mapa de uso de la tierra, una celda de la cuadrícula puede recibir el valor "bosque" o "calle", por ejemplo. En un mapa de precipitaciones, una celda obtendría la cantidad de milímetros de precipitación. Para obtener información adicional, consulte XX e YY.

Una representación vectorial permite más detalles porque no está vinculada a un tamaño de celda elegido globalmente. Esencialmente, la única referencia explícita al espacio en un modelo vectorial es a través de las coordenadas de los puntos. Los segmentos de línea son simplemente las conexiones lineales entre dos puntos. Las áreas o polígonos son las regiones delimitadas por secuencias de segmentos de línea. La mayoría de los SIG admiten estructuras raster y vectoriales para sus capas de mapas temáticos (Duckham y Worboys, 2004 Peuquet, 1984).

Esta entrada se centra en la representación y el cálculo basados ​​en vectores. Las ventajas y desventajas de los modelos raster y vectoriales se han discutido ampliamente en el pasado en el llamado debate raster-vector. Cabe agregar que los modelos raster y vectoriales son adecuados para todos los datos espaciales. Por ejemplo, para datos difusos y objetos con límites indeterminados (Burroughs y Frank, 1996), se necesitan adaptaciones.

2.1 Representación de subdivisiones

Una de las estructuras geométricas más importantes que debe almacenar un SIG es la subdivisión (plana). Por ejemplo, los estados de los EE. UU. Con sus límites forman una subdivisión y también lo hacen las parcelas de tierra en un mapa de uso de la tierra. Cuando almacenamos los límites de todas las regiones, las regiones mismas son implícitamente las características delineadas entre esos límites. Los límites en sí mismos son líneas poligonales (a menudo llamadas líneas, que son geométricamente incorrectas) que pueden describirse mediante una secuencia de puntos. Cada uno de estos puntos se puede representar mediante dos coordenadas.

En los primeros días de la cartografía automatizada y los SIG, los modelos comunes para representar subdivisiones se denominaban espaguetis y pizza (Duckham y Worboys, 2004 Peuquet 1984). El modelo de espagueti consiste en una colección no estructurada de líneas poligonales, cada una representada por una secuencia de pares de coordenadas. Los extremos de las líneas poligonales corresponden a las uniones en la subdivisión, que están presentes en tres o más líneas poligonales. Este modelo dificulta la recuperación de los límites de una sola región: todas las líneas poligonales que contribuyen al límite de una región deben determinarse mediante un escaneo lineal, que requiere mucho tiempo. Luego, los límites deben combinarse en un límite de polígono.

El modelo de pizza consta de una colección no estructurada de límites de región. Para cada región de la subdivisión hay un límite (exterior), que es una línea poligonal cerrada. “Cerrado” significa que la línea poligonal es de hecho un ciclo y los puntos de inicio y final son el mismo punto. Si bien esta representación facilita las operaciones en las regiones, tiene una duplicación sustancial de datos porque cada punto límite se almacena (al menos) dos veces. El descubrimiento de las regiones adyacentes a una región determinada solo se puede realizar mediante un escaneo lineal, lo que nuevamente es ineficaz.

El modelo de datos topológicos resuelve los problemas antes mencionados a costa de ser más complicado. Aquí los puntos, los bordes y las regiones deben verse como objetos que están interconectados por punteros de una manera bien definida y estructurada (Duckham y Worboys, 2004). Esto permite que el SIG atraviese los límites de las regiones y acceda a las regiones adyacentes mediante operaciones locales, lo que le da al modelo su eficiencia. Un modelo de datos topológicos puede almacenar cualquier gráfico plano incrustado y sus caras.

2.2 Representación de modelos de elevación

Los modelos de elevación como entidades abstractas son funciones desde el plano hasta los números reales, en una fórmula: F(X,y)=z. Pueden representar la elevación sobre el nivel del mar, la precipitación anual, la concentración de plomo en la capa superior del suelo y cualquier otra cosa en la que una ubicación en la superficie de la Tierra tenga un valor único.

Un modelo de elevación basado en cuadrícula, a menudo llamado Modelo de elevación digital o DEM, es una forma común y práctica de almacenar tales funciones. El valor en cada celda es entonces el valor promedio sobre el área que representa la celda.

Un modelo de elevación basado en vectores es la alternativa. El más común de estos es el TIN, o Red Triangular Irregular. It consists of a collection of points that have three coordinates, (X,y,z), and the points are connected by line segments so that the bounded region between the points is filled with non-overlapping triangles. By assumption, the elevation model function value at a point on a triangle is the weighted linear interpolation over the three points that are the vertices. The weights are the barycentric coordinates. More visually, we use the plane that passes through the three three-dimensional vertices as the linear interpolator over the triangle.

Tetrahedral meshes are three-dimensional extensions of TINs and can represent volumetric data. Spatial data can be combined with time to model spatio-temporal data, for example when modeling trajectories of moving entities. These extensions are beyond the scope of this entry.

When a road is modeled by a sequence of line segments in some map layer, and a country boundary is represented by a sequence of line segments in a different map layer, we may wish to know where the road exactly leaves the country. This occurs at a point whose coordinates can be computed: it will lie at the intersection point of two line segments. Another basic computation is to compute the center of the circle that passes through three given points. One way to determine this center is to construct two of the three bisecting lines of two of the points and intersecting these. Such basic computations are common in GIS. To most users, they happen behind the scenes.

Similar but slightly less basic operations occur when distances start to play a role. If a river is modeled by a sequence of line segments, then the region within 1 km from a river is modeled by a polygon whose boundary has both straight line segments and circular arcs. So intersection primitives must also deal with non-linear (curved) objects, and a topological data structure must support non-linear boundaries.

Stepping up from basic geometric computations to a higher level, we arrive at computations on data sets that in principle can have any size. Consider a set of points that are sightings of some animal, and we want to know the extent of its habitat. We may then want to compute the two sightings that are furthest apart. When there are 200 points in the set, we can try all 19,900 pairwise distances and report the largest one. When there are 2000 points, there are 1,990,000 pairwise distances and determining them all becomes inefficient. The objective of geometric algorithms research is to find ways to accomplish geometric tasks in ways that scale well in the data size, while guaranteeing the correct output (de Berg et al., 2008). Such algorithms are considered efficient. Indeed, it is possible to compute the two points furthest apart in a point data set with far fewer distance computations than all pairwise distances.

In a more exact formulation, we parametrize the input size (the data set size) by the letter norte, and study the function that gives the required number of computations to solve the task as a function of norte. The method that considers all pairwise distances will use a number of computations that grows as a quadratic function in norte. The method is then called an O(norte^2) time method. The best method for computing the two most distant points requires a number of computations that grows proportional to norte log norte. This method is then called an O(norte log norte) time method. Ya que norte^2 as a function grows much faster than norte log norte, the latter method is a better, more efficient algorithm that scales well with growing data sets. The symbol O in the expressions O(norte^2) and O(norte log norte) is pronounced order-of its precise definition is technical and beyond the scope of this entry (Cormen et al., 2008).

4.1 Map Overlay

Thematic map overlay is the most essential GIS analysis task for site planning. Different map layers are combined in order to determine candidate locations for a new factory or an urban extension. Requirements on candidate locations may be that they avoid nature areas, have good accessibility by car and train, et cetera. The conjunction of these requirements that need data from different map layers requires in essence the overlay of a number of planar subdivisions. It yields a new subdivision where the suitable regions are delineated.

Algorithmically, the map overlay operation is done efficiently by a method known as plane sweep. It comes down to a structured way of merging the two input subdivisions into one using efficient dynamic data structures, in particular, binary search trees. With this method it is possible to compute the overlay of two subdivisions consisting of norte line segments together, in O(norte log norte) time, provided that the output subdivision has no more than O(norte) line segments itself (Bentley and Ottmann, 1979 de Berg et al., 2008). In practice this condition is nearly always fulfilled.

4.2 Voronoi Diagrams and Delaunay Triangulations

For a given set of points, a Voronoi diagram is a subdivision that partitions the plane into regions where the same point of the set is the closest one. Voronoi diagrams have very many applications. Besides GIS, they are used in robotics and motion planning, in graphics, and in biology (Aurenhammer et al., 2013).

The mathematical properties of Voronoi diagrams are well understood. Every region is convex, and the locations where three regions meet are center points of circles through three of the input points that have no other input points inside. The Voronoi diagram is the basis of an advanced spatial interpolation method called natural neighbor interpolation (Farin, 1990 Sibson, 1981).

The Voronoi diagram on norte points in the plane can be computed efficiently in various ways. The plane sweep approach, the divide-and-conquer approach, and randomized incremental construction all lead to O(norte log norte) time algorithms (Aurenhammer et al., 2013 de Berg et al., 2008).

For a given set of points, a Delaunay triangulation is a subdivision of the convex hull of the points into triangles in such a way that for each triangle, the circumcircle of its corners does not contain any other point of the set. It is surprising that this condition actually yields a subdivision with triangular faces. It has the property that over all possible triangulations of the same input points, the Delaunay triangulation maximizes the smallest occurring angle in the triangles. This implies that the triangles have ``reasonable shapes’’, to the extent possible with these input points (Aurenhammer et al., 2013 Duckham and Worboys, 2004). For this reason the Delaunay triangulation may be the triangulation of choice to convert points with values into a Triangular Irregular Network. It will have better interpolation properties than many other triangulations on the same set of points.

Voronoi diagrams and Delaunay triangulations are intimately connected. For every triple of Voronoi regions that meet in a point, there is a corresponding triangle in the Delaunay triangulation and vice versa. Equivalently, for every two adjacent Voronoi regions there is a line segment between the corresponding points in the Delaunay triangulation and vice versa. It will therefore be no surprise that Delaunay triangulations can also be computed in O(norte log norte) time using the aforementioned approaches.

Figure 1. Voronoi Diagrams and Delaunay triangulations. Image source: author.

4.3 Other Geometric Algorithms for GIS

There is a host of other tasks where geometric algorithms are important. These include processing of acquired data for storage, analyzing stored data, and visualizing data. Many of these tasks are overviewed by van Kreveld (2018).

Aurenhammer, F., Klein, R., and Lee, D.-T. (2013). Diagramas de Voronoi y triangulaciones de Delaunay. World Scientific.

Bentley, J.L., and Ottmann, T.A. (1979). Algorithms for reporting and counting geometric intersections. IEEE Transactions on computers, (9), 643-647.

Berg, M. de, Cheong, O., Kreveld, M. van, and Overmars, M. (2008). Computational Geometry – algorithms and applications. Springer, 3rd edition.

Burrough, P.A., and A.U. Frank (1996), editors. Geographic Objects with Indeterminate Boundaries. GISDATA 2, CRC Press.

Cormen, T., Leiserson, C., Rivest, R., and Stein, C. (2009). Introduction to Algorithms. MIT Press, 3rd edition.

Duckham, M., and M. Worboys (2004). GIS – a computing perspective. CRC Press, 2nd edition.

Farin, G. (1990). Surfaces over Dirichlet tessellations. Computer Aided Geometric Design, 7(1-4), 281-292.

Kreveld, M. van (2018). Geographic Information Systems. Chapter 59 in: Goodman, J.E., O’Rourke, J., and Toth, C.D. (editors). Handbook of Discrete and Computational Geometry, CRC Press, 3rd edition.

Peuquet, D. (1984). A conceptual framework and comparison of spatial data models. Cartographica 21(14), 66-113.

Sibson, R. (1981). A brief description of natural neighbor interpolation. In: V. Barnet (ed.), Interpreting Multivariate Data. Wiley, Chichester, pages 21-36.


Referencias

Gibbons, Jeremy. (2019). "Coding with Asymmetric Numeral Systems (long version)". Accessed November 2019 from http://www.cs.ox.ac.uk/jeremy.gibbons/publications/asymm-long.pdf

Kidner, David & Smith, Derek. (2003). "Advances in the data compression of digital elevation models".
Computers & Geosciences. 29. 985-1002.

Lewis, M., & Smith, D.H. (1993). "Optimal predictors for the data compression of digital elevation models using the method of Lagrange multipliers". En Auto-Carto XI Proceedings of the International Symposium on Computer-Assisted Cartography, Oct 30-Nov 1, 1993. PDF document accessed August, 2020 from https://cartogis.org/docs/proceedings/archive/auto-carto-11/pdf/optimal-predictors-for-the-data-compression-of-digital-elevation-models-using-the-method-of-lagrange-multipliers.pdf

National Aeronautics and Space Administration [NASA]. (2020). Shuttle Radar Topography Mission (SRTM) https://www2.jpl.nasa.gov/srtm/ Data was downloaded from the USGS Earth Explorer web site at https://earthexplorer.usgs.gov/.

National Institute of Standards and Technology [NIST]. 2012. JAMA: A Java Matrix Package. Accessed December 2020 from https://math.nist.gov/javanumerics/jama/

Patterson, Tom. (2020). 100-meter Natural Earth Map Data. Accessed September 2020 from http://shadedrelief.com/NE_100m/

Project Nayuki. (2020). Reference arithmetic coding. Accessed September 2020 from https://www.nayuki.io/page/reference-arithmetic-coding.

Shannon, C.E., & Weaver, W. (1949). La teoria matematica de la comunicacion. Urbana: University of Illinois Press.

Smith, Derek H., & Lewis, Michael. (1994). Optimal predictors for compression of digital elevation models.
Computers & Geosciences, Volume 20, Issues 7-8, August-October 1994, 1137-1141