-
BufDist: Generación de áreas de influencia (buffers) y mapas de distancias
Acceso a este texto de ayuda como página web: BufDist
Presentación y opciones
La aplicación permite tanto generar mapas de distancias continuas (resultado ráster) como áreas de influencia (buffers) a una cierta distancia de las entidades diana (resultado ráster o vectorial).
Áreas de influencia (buffers):
Genera áreas de influencia (buffers) a una cierta distancia alrededor de entidades predefinidas en un fichero ráster o vectorial. Las entidades a partir de las cuales se calculan las distancias y, eventualmente, se generan las áreas de influencia se denominan "entidades diana". La aplicación generará unas áreas de influencia y no un mapa de distancias debido a la presencia, en la línea de comados, del modificador "LimiteInfBuffer".
Mapa de distancias:
Genera mapas de distancia a una cierta distancia alrededor de entidades predefinidas en un fichero ráster o vectorial. Las entidades a partir de las cuales se calculan las distancias se denominan "entidades diana".
Las entidades diana pueden ser tanto de tipo ráster como vectorial. En el caso ráster, cualquier celda de valor diferente a sindatos se considera una celda diana. En el caso vectorial, cualquier entidad (punto, línea o polígono) se considera una entidad diana (en el tratamiento ráster de estas áreas de influencia de vectores, también puede indicarse que solamente se consideren diana las entidades vectoriales con cierto atributo); en el caso de rásters, si solamente desea usar como diana ciertos elementos, realice una consulta por atributos desde MiraMon y guarde el resultado en un nuevo fichero, o bien utilice CalcImg; igualmente, si debe lanzar un proceso masivo con muchos ficheros, puede automatizar el proceso de selección de las entidades diana desde CalcImg o desde VecSelec.
Las áreas de influencia resultantes pueden ser ráster o vectoriales; en el caso vectorial se puede realizar un tratamiento totalmente vectorial o un tratamiento ráster donde el resultado es la vectorización del caso ráster, y por lo tanto, necesita de los parámetros que definen el ámbito del ráster temporal. Siempre que se solicite un área de influencia y el fichero origen sea un ráster, la aplicación empieza generando igualmente el mapa de distancias y, posteriormente, selecciona las zonas en el intervalo de distancias solicitado. Siempre se puede posteriormente ejecutar GenVPol para suavizar los bordes de las áreas de influencia obtenidas.
El modelo ráster las distancias se calculan a través del CAMINO MÁS CORTO desde el centro de cada celda al centro de la celda diana más cercana, lo cual implica la utilización de cálculos de curvatura geodésica en caso necesario.
Las distancias se expresan en las unidades del sistema de referencia (véase, no obstante, la sección NOTAS IMPORTANTES, más abajo).
A diferencia de otros programas SIG, que realizan este cálculo en precisión simple y que pierden precisión con celdas pequeñas o valores de coordenadas muy grandes, BufDist lo lleva a cabo en doble precisión y con un tratamiento óptimo de los valores numéricos, con lo cual las distancias se calculan con corrección incluso en ficheros muy grandes (con muchas filas y columnas). Hemos podido detectar que en ficheros de 341 filas x 341 columnas y un lado de celda de 50 m en proyección UTM, nuestros resultados diferían de otros programas en hasta 10 celdas, en que los demás programas detectaban como más cercanas celdas equivocadas y daban valores erróneos de distancia de hasta 3.3 m.
Si se solicita obtener un mapa de distancias continuas:
- El fichero resultante es de tipo ráster (IMG) y "real".
- El título del fichero resultante se convierte en "Distancias derivadas de FICHERO" (donde FICHERO es el nombre del fichero que contiene las entidades diana).
Si se solicita obtener un área de influencia:
- El fichero resultante es de tipo ráster "byte-RLE" o bien de tipo vector estructurado de polígonos.
- El título del fichero resultante se convierte en "Zonas a distancias comprendidas entre [N,M] UNIDADES de les entidades de FICHERO" (donde N y M son las distancias mínima y máxima consideradas, respectivamente, UNIDADES son las unidades del sistema de referencia y FICHERO es el nombre del fichero que contiene las entidades diana). N y M definen un intervalo cerrado.
- La leyenda de la capa resultante contiene los valores siguientes:
- 1: "Entidades diana originales"
- 2: "Zonas a distancias [M,N] UNIDADES"
- 3: "Zonas excluidas"
o, cuando M=0:
- 1: "Entidades diana originales"
- 2: "Zonas a distancias <= N UNIDADES"
- 3: "Zonas a distancias > N UNIDADES"
- El resultado de un tratamiento vectorial es un fichero de polígonos que heredan los atributos de los puntos o arcos diana originales. Si se ha solicitado un área de influencia de intervalo [M,N] (donde M es diferente de 0) se añade un atributo adicional en la tabla principal (campo BUFFER) que puede contener los siguientes valores:
- i: Zonas interiores al área de influencia, es decir, de distancia menor a M.
- b: Zonas del área de influencia, es decir, a distancias entre M y N.
En este caso, las zonas a distancias > N se agrupan al polígono 0 y no tienen atributos.
NOTAS IMPORTANTES: En proyecciones cartográficas como UTM, Gauss, Cónica de Lambert, o cualquier otra que sea razonablemente equidistante en todas direcciones, las distancias se expresan en las unidades del sistema de referencia, y esto no presenta normalmente ningún problema en la toma de decisiones sobre las distancias obtenidas en el cálculo.
En cambio, en ciertas proyecciones cartográficas con fuerte asimetría en las distancias proyectadas -Mercator, Equirectangular "lat/long", etc-, los cálculos podrían tener errores importantes si las distancias se calcularan de forma cartesiana (rectangular), debido a las características de la propia proyección. Es por ello que BufDist, cuando detecta proyecciones "Mercator", "Equirectangular" (latitud/longitud en grados), etc, hace las correcciones pertinentes para que los resultados sean realistas.
Si en el caso de proyecciones aproximadamente equidistantes (por ejemplo UTM) quiere cálculos de precisión centimétrica, puede forzar el cálculo de distancias de alta precisión indicando el parámetro /DIST_GEOD=1. Con este procedimiento se obtienen resultados prácticamente idénticos a, en el caso UTM, aplicar el factor de deformación lineal (K) a los cálculos de distancias (véase, por ejemplo, Estruch 1996, pág. 93, para un ejemplo numérico).
- Estruch, M. (1996) "Cartografía minera" Ediciones UPC. Barcelona. 238 p. ISBN: 84-89636-0208
Se debe tener en cuenta, no obstante, que el cálculo de distancias es MUCHO MÁS LENTO cuando se indica /DIST_GEOD=1.
Como se ha explicado previamente, en las proyecciones de tipo "Mercator" y "Equirectangular" siempre se realizan los cálculos como si se solicitara /DIST_GEOD=1 ya que en caso contrario los resultados son muy poco realistas. Si de todas formas desea forzar el cálculo de forma cartesiana y no geodésica, indique /DIST_GEOD=0.
A menos que se indique lo contrario, BufDist NO preverá circularidades en los cálculos (es decir, en mapas que representan el mundo entero, no prevé que las distancias extremas izquierda y derecha son más cercanas y realiza el cálculo sobre el plano cartográfico). Si se está calculando distancias sobre todo el mundo, se debe utilizar el parámetro /MAPAMUNDI para indicar a BufDist que debe considerar circularidades. Antes de utilizar /MAPAMUNDI, se debe tener presente que:
- La ejecución será considerablemente MÁS LENTA, por lo que se pueden
obtener rápidamente unos primeros resultados tentativos sin este
parámetro.
- El parámetro /MAPAMUNDI no tiene ningún efecto si /DIST_GEOD no está activo (/DIST_GEOD=0) (es decir, en distancias cartesianas no tiene función alguna).
En resumen, y como aspectos a resaltar, se debe recordar que BufDist calcula distancias cartesianas sobre el sistema de referencia y realiza cálculos geodésicos rigurosos en el caso de proyecciones como "Mercator" o "Equirectangular" (en estos casos especiales, en pantalla se indicará que se están efectuando las correcciones adecuadas) o cuando se le solicita explícitamente a través de /DIST_GEOD=1.
Si se utiliza una proyección que no es ni UTM, ni Mercator ni Equirectangular, es necesario asegurarse de que la proyección utilizada permite distancias cartesianas sin errores importantes. En caso necesario, se puede consultar a suport@miramon.uab.cat.
Para más información se puede consultar lasiguiente referencia:
Pesquer L, Pons X, Masó J (2005) Necesidad de cálculos geodésicos para las herramientas SIG de análisis de distancias y superficies. 6th Geomatic Week proceedings (ISSN 1699-3489). Barcelona.
Por último, cabe indicar que en otros softwares populares el resultado vectorial puede ser erróneo en lo que se refiere a los atributos de los polígonos generados en el modo áreas de influencia. En efecto, cuando las áreas de influencia de dos o más entidades diana con atributos diferentes se solapan, estos softwares no permiten conocer de qué entidad diana proviene el área de influencia y llegan a generar resultados erróneos por cuanto se otorgan atributos equivocados a las áreas de influencia: aquellos atributos están más lejos de lo indicado como área de influencia.
Caja de diálogo de la aplicación
|
Caja de diálogo de BufDist |
Sintaxis
Sintaxis:
- BufDist FicheroConEntidadesDiana FicheroBuffer LimiteInfBuffer LimiteSupBuffer [/DIST_GEOD] [/MAPAMUNDI] [/TRACT_RASTER] [/TAULA] [/CAMP] [/REPE] [/OPER_DIANA] [/ATR_DIANA] [/XMIN] [/XMAX] [/YMIN] [/YMAX] [/COSTAT] [/TOLERANCIA] [/ALGORISME]
- BufDist FicheroConEntidadesDiana FicheroDistancias [/DIST_GEOD] [/MAPAMUNDI] [/TRACT_RASTER] [/TAULA] [/CAMP] [/REPE] [/OPER_DIANA] [/ATR_DIANA] [/XMIN] [/XMAX] [/YMIN] [/YMAX] [/COSTAT] [/TOLERANCIA]
Parámetros:
- FicheroConEntidadesDiana
(Fichero ráster o vector que contiene las entidades a partir de las cuales se calculan las distancias -
Parámetro de entrada): Las entidades diana pueden ser tanto de tipo ráster como vectorial. En el caso ráster, cualquier celda de valor diferente a sindatos se considera una celda diana. En el caso vectorial, cualquier entidad (punto, línea o polígono) se considera una entidad diana (en el tratamiento ráster de áreas de influencia vectoriales, también puede indicarse que solamente se consideren diana las entidades vectoriales con cierto atributo); en el caso de rásters, si solamente se desea usar como diana ciertos elementos, debe realizarse una consulta por atributos desde MiraMon y guardar el resultado en un nuevo fichero, o bien utilizar CalcImg; igualmente, si se debe realizar un proceso masivo con muchos ficheros, se puede automatizar el proceso de selección de las entidades diana desde CalcImg o desde VecSelec.
- FicheroBuffer
(Zonas a distancias comprendidas entre [N,M] UNIDADES de las entidades de FICHERO -
Parámetro de salida): El fichero resultante es de tipo ráster "byte-RLE" o bien de tipo vector estructurado de polígonos. Las áreas de influencia resultantes pueden ser ráster o vectoriales; el caso vectorial se puede realizar un tratamiento totalmente vectorial o un tratamiento ráster donde el resultado es la vectorización del caso ráster, y por lo tanto, necesita de los parámetros que definen el envolvente del ráster temporal.
- LimiteInfBuffer
(Límite inferior del área de influencia -
Parámetro de entrada): Distancia inferior utilizada para el cálculo del área de influencia. La presencia de este modificador determina que el programa realice un área de influencia y no un mapa de distancias.
- LimiteSupBuffer
(Límite superior del área de influencia -
Parámetro de entrada): Distancia superior utilizada para el cálculo del área de influencia.
- FicheroDistancias
(Distancias derivadas de FICHERO -
Parámetro de salida): El fichero resultante es de tipo ráster (IMG) y "real".
Modificadores:
/ALGORISME=
(Algorismo)
Este parámetro sirve para determinar el tipo de algoritmo interno que la aplicación utilizará para generar las áreas de influencia. - ESCOMBRATGE: Basado en la intersección de segmentos de Bentley-Ottmann.
- DIRECTO: Basado en la exploración de todos los segmentos contra todos los segmentos para determinar las intersecciones entre vectores en la estructuración topológica.
- AUTOMATIC: MiraMon decide automáticamente cuál de los dos algoritmos se utilizará.
(Parámetro de entrada) /DIST_GEOD= (Cálculo cartesiano o geodésico) Para un cálculo cartesiano de distancias, se debe indicar 0, para un cálculo geodésico de distancias se debe indicar 1. Si no se indica (modo automático), el programa toma la decisión en función del tipo de proyección cartográfica del fichero. (Parámetro de entrada) /MAPAMUNDI (Mapamundi) Indica considerar circularidades, necesario para cálculos de distancias sobre todo el mundo. Es necesario el parámetro /DIST_GEOD=1 para que esto sea posible. (Parámetro de entrada) /TRACT_RASTER (Tratamiento ráster) Fuerza un tratamiento ráster para ficheros de puntos o arcos y salida vectorial. Por defecto es realiza un tratamiento totalmente vectorial. (Parámetro de entrada) /TAULA= (Indica la tabla) Indica la tabla de la base de datos elegida. Para REL1 es obligatorio para ficheros estructurados. Para saber más sobre los valores de estos parámetros se deben seguir las consideraciones del documento de sintaxis general. (Parámetro de entrada) /CAMP= (Indica el campo) Indica el campo de la base de datos elegida. Es obligatorio para ficheros estructurados. Para saber más sobre los valores de estos parámetros se deben seguir las consideraciones del documento de sintaxis general. (Parámetro de entrada) /REPE= (Elección del registro en caso de multiregistro) Indica qué registro es escogido cuando hay más de un registro para un identificador gráfico (registro múltiple). Para saber más sobre los valores de este parámetro se deben seguir las consideraciones del documento de sintaxis general. (Parámetro de entrada) /OPER_DIANA= (Restringir las entidades diana) Puede ser EQ o NO_EQ para, de esta manera, restringir las entidades diana a solamente aquellas que verifiquen esta operación de igualdad o desigualdad respecto a /ATR_DIANA=. (Parámetro de entrada) /ATR_DIANA= (Atributo) Atributo que define la operación lógica que limita los posibles valores de los candidatos a entidad diana. (Parámetro de entrada) /XMIN= (Coordenada X mínima) Coordenada X mínima de la envolvente del fichero ráster de salida, o del ráster temporal que dará lugar al vector resultante, cuando FicheroConEntidadesDiana es una capa vectorial. (Parámetro de entrada) /XMAX= (Coordenada X máxima) Coordenada X máxima de la envolvente del fichero ráster de salida, o del ráster temporal que dará lugar al vector resultante, cuando FicheroConEntidadesDiana es una capa vectorial. (Parámetro de entrada) /YMIN= (Coordenada Y mínima) Coordenada Y mínima de la envolvente del fichero ráster de salida, o del ráster temporal que dará lugar al vector resultante, cuando FicheroConEntidadesDiana es una capa vectorial. (Parámetro de entrada) /YMAX= (Coordenada Y máxima) Coordenada Y máxima de la envolvente del fichero ráster de salida, o del ráster temporal que dará lugar al vector resultante, cuando FicheroConEntidadesDiana es una capa vectorial. (Parámetro de entrada) /COSTAT= (Tamaño píxel) Define el lado de pixel del ráster resultado o temporal cuando FicheroConEntidadesDiana es una capa vectorial. (Parámetro de entrada) /TOLERANCIA= (Tolerancia) Es el máximo error tolerado para la traducción de arcos de circulo a secuencias de vértices, para el tratamiento vectorial de áreas de influencia. Sólo aplica si FicheroConEntidadesDiana es una capa vectorial y el tratamiento es vectorial. (Parámetro de entrada)
¿Cómo saber qué tipo de algoritmo utilizar en las opciones avanzadas? (modificador opcional /ALGORITMO=)
Se puede consultar sintaxis general para más información.