-
Ciclar: Creación de polígonos con estructura topológica
Acceso a este texto de ayuda como página web: Ciclar
Presentación y opciones
Este programa trabaja sobre una familia de ficheros topológicamente
estructurados de arcos (ARC) y nodos (NOD) para dar lugar a una familia de
ficheros topológicamente estructurados de polígonos (POL). Los ficheros ARC
y NOD pueden generarse con el programa LinArc.
Además, el programa es capaz de aplicar el proceso directamente a ficheros
POL para obtener nuevos polígonos que corresponden a los originales agrupados por algún criterio, obtener directamente ficheros POL sin estructura topológica desde ficheros VEC, y también puede transformar ficheros POL en ficheros VEC (un formato no
topológico) y viceversa.
El objetivo principal del programa es construir todos los polígonos
topológicos presentes en el fichero de arcos; este proceso se denomina
'ciclado'. En el proceso de ciclado, cada polígono queda descrito
como una secuencia de arcos que delimita un área cerrada (borde exterior);
si el polígono presenta agujeros interiores, estos también quedan descritos
por los arcos correspondientes (bordes interiores).
Los arcos implicados en el ciclado de un polígono no se escriben en el
fichero POL, sino que se leen del propio fichero ARC, lo cual supone un
ahorro de espacio de disco y una gran consistencia geométrica de todos los
datos. Además, esta estrategia permite tener diversas bases de polígonos
cicladas sobre una misma base de arcos, como se comenta más adelante. Sin embargo, el programa admite el parámetro /EMANCIPA, útil cuando se desea que una capa de polígonos ciclada no dependa de los arcos.
En los modos en qué el programa genera un fichero POL, este va acompañado
de un fichero P.dbf (tabla principal de atributos), un fichero P.rel (que contiene
los metadatos, y que puede contener las eventuales relaciones con otras
tablas alfanuméricas adicionales a la principal, así como simbolización por defecto).
En versiones antiguas del programa (1.x) se generaba un fichero DVP (este último solo en la v. 1.x),
que contenía unos metadatos muy básicos y que actualmente se ha superado totalmente.
Después del proceso de ciclado, los únicos atributos que tienen los polígonos son los geométrico-topológico (área, perímetro, numero de arcos y numero de polígonos elementales que formen el polígono etc) y el identificador gráfico que, de forma única, hace referencia a cada polígono. Los atributos de tipo temático (qué vegetación contiene el polígono, propietario, etc) se añaden transfiriendo atributos de etiquetas puntuales situadas en el interior de cada polígono, o introduciéndolos directamente desde el modo de edición de atributos de MiraMon. Si se opta por la transferencia de atributos a través las etiquetas, cuando estas son de tipo VEC se realiza con el programa AtriPol, mientras que si son de tipo PNT se hace con el programa AtriTop.
Aunque en algunas opciones se tolera que el fichero de arcos contenga
nodos finales y nodos de línea (pseudo-nodos), su presencia puede ser debida
a errores. Un arco que contiene nodos finales no es ciclable. Para controlar los nodos, estos se pueden visualizar con MiraMon o
recurrir a la utilidad InfoTop.htm para conocer sus relaciones topológicas.
Cuando el programa realiza operaciones a partir de ficheros de polígonos para generar otros polígonos, se habla de reciclado.
Opción 1:
Realiza un ciclado de todos los arcos presentes.
Opción 2:
Se basa en un campo lógico (L) de la base de datos. Si dice 'TRUE', el arco es ciclable, y si dice 'FALSE' el arco es ignorado en el proceso de ciclado. Si la base de datos contiene un solo campo lógico se usa éste, y si hay varios, se pregunta qué campo hay que utilizar. Esto es útil para excluir ciertos arcos del ciclado de polígonos.
Opción 3:
Realiza un reciclado de un fichero de polígonos ya ciclado totalmente y en el cual se han incluido atributos temáticos p. ej. con AtriTop. La idea es construir nuevos polígonos, más generales, a partir de los arcos que tienen diferente atributo a lado y lado del arco.A partir de un fichero de municipios, en la base de datos del cual figura un campo que indica a qué comarca pertenece cada municipio, Ciclar 3 puede generar el fichero de polígonos correspondientes a las comarcas, en el cual sólo se usan los arcos que actúan como frontera comarcal (que son los que tienen una comarca -atributo- diferente a cada lado del arco).
El criterio de selección se realiza a partir de un campo de la base de datos o de todos los campos no geométrico-topológicos. Sólo se consideran ciclables los arcos que tienen un valor de campo diferente a cada lado del arco en el fichero de polígonos de origen.
Opción 4:
Genera grupos de polígonos a partir de un fichero ya ciclado totalmente a partir de un atributo temático preexistente. Un fichero de grupos de polígonos es aquel que aglutina en una sola entidad (un solo polígono) todos aquellos polígonos que tienen una propiedad en común (un atributo igual). Así, por ejemplo, en un mapa de comarcas, podría ser interesante que todos los enclaves e islas que pertenecen a una comarca dada formaran parte de una única entidad. Esto quiere decir que al consultar por localización sobre un polígono perteneciente, por ejemplo, a un municipio dividido en varias zonas no conectadas entre sí, es de esperar que todas las islas que pertenecen a esta localidad se iluminen, y que el área, perímetro, etc se den también respecto al conjunto de polígonos elementales. El criterio de selección se realiza a partir de un campo de la base de datos o de todos los campos no geométrico-topológicos.
Opción 5:
Realiza un reciclado de un fichero de polígonos ya ciclado totalmente. En este caso agrupa en un solo polígono más general los polígonos que se tocan por un nodo y comparten los mismos atributos temáticos. Dado un fichero ráster que presente elementos lineales de ancho similar al tamaño de píxel que tengan trazado diagonal (carreteras o ríos). Si se vectoriza esta capa para conseguir polígonos, estas líneas suelen quedar como secuencias de polígonos cuadrados de un solo píxel que se tocan por un nodo. Este modo une todos estos polígonos en uno, representando mejor cada entidad geográfica.
El criterio de selección se realiza a partir de un campo de la base de datos o de todos los campos no geométrico-topológicos (considerando los registros múltiples si los hubiera). Sólo se consideran ciclables los arcos que tienen un valor de campo diferente a cada lado del arco en el fichero de polígonos de origen.
Opción 6:
Hace un ciclado de ficheros de arcos para generar un fichero de grupos de polígonos no topológicos (que se puede presentar superposiciones de objectos). Primero se realiza una proyección del campo de la base de arcos que sirve para a generar polígonos. Para cada atributo diferente de este campo se realiza una selección de los arcos que tienen este atributo y se ciclan totalmente. Cada uno de estos ciclados independientes es incluido en el fichero de grupos de polígonos final; en esta operación pueden aparecer las superposiciones citadas. El orden de superposición de los diferentes atributos se puede controlar a partir de un fichero de orden. También existe la posibilidad de generar un solo grupo para cada atributo (con todos los polígonos del mismo atributo formando un solo objeto).
Opción 7:
Convierte polígonos desde un fichero VEC a un fichero POL que no tendrá la topología garantizada (la superposición de polígonos está permitida). El atributo de los objetos VEC también se importa. Cuando dos polígonos tienen el mismo atributo y aparecen consecutivamente dentro del fichero VEC, estos polígonos se convierten en un grupo en el fichero POL.
Opción 8:
Convierte polígonos desde un fichero POL a un fichero VEC. Cada grupo de polígonos que pueda existir se divide en sus polígonos elementales. Se puede seleccionar un campo de la base de datos para que sea el atributo de los objetos VEC.
Opción 9:
Desagrupa un fichero de polígonos. Cada grupo de polígonos que pueda existir se divide en sus polígonos elementales.
Después de esta primera selección a través del parámetro
'Opción', el parámetro 'e' permite aplicar una selección que
elimina los arcos con nodos finales (arcos que no conectan con ningún otro
arco ni con ellos mismos).
Además, en la selección pueden eliminarse automáticamente los arcos que
tendrían el mismo polígono a ambos lados (mancuernas o halters).
Como se ha comentado, la aplicación del parámetro 'e' permite
ciclar ficheros de arcos que contienen arcos no ciclables (arcos con nodos
finales y mancuernas o halters). Estos arcos pueden estar incluidos en el fichero de
una manera voluntaria, pero también pueden proceder de errores en la
digitalización. Por tanto, se debe aplicar el parámetro 'e' de forma
cuidadosa y consciente.
El programa crea en la base de datos los campos PERIMETRE y AREA, que indican, respectivamente, el perímetro y el área de cada polígono. En el caso del PERIMETRE se incluyen los perímetros interiores. Los valores de los campos PERIMETRE y AREA se calculan sobre las coordenadas de la proyección (del mapa) y, por tanto, no dan perímetros y áreas sobre la Tierra sino sobre el mapa, calculados como lo haría normalmente un programa de dibujo asistido por ordenador (CAD). En proyecciones como la UTM, estos valores son suficientemente precisos para la mayor parte de propósitos. Por ejemplo, dentro de un huso UTM, un perímetro sobre el mapa puede llegar a diferir del perímetro sobre el elipsoide terrestre en un factor entre 0.9996 y 1.0009811009).
Cuando la proyección cartográfica es conocida (se puede consultar el listado de proyecciones conocidas en la ayuda del programa CanviPrj), además de los campos PERIMETRE y AREA, el programa también crea los campos PERIMETREE y AREAE, que indican el perímetro y área reales de cada polígono calculadas sobre el elipsoide terrestre con criterios geodésicos precisos. Estos nuevos campos resultan especialmente indicados en proyecciones cartográficas en las que los cálculos sobre el mapa dan valores claramente diferentes a los reales sobre la superficie terrestre (por ejemplo, la proyección Mercator) o en proyecciones en mapas en los que la diferencia es pequeña pero aparecen grandes polígonos que pueden acumular errores importantes.
Según la proyección cartográfica utilizada el programa declara visible PERIMETRE o PERIMETREE y AREA o AREAE y deja oculto el otro campo, según sea el más comúnmente usado como medida de perímetro y área en aquella proyección. Se pueden cambiar estos criterios de visibilidad en el fichero REL con el Gestor Universal de Metadatos Geoespaciales, GeM+.
Caja de diálogo de la aplicación
|
Caja de diálogo de Ciclar. |
Sintaxis
Sintaxis:
- Ciclar 1 FicheroArcOrigen FicheroPolDestino [/IGNORAR] [/EMANCIPA]
- Ciclar 2 FicheroArcOrigen FicheroPolDestino [/IGNORAR] [/TAULA_ARC] [/CAMP_ARC] [/COND#_CAMP] [/COND#_OP] [/COND#_VALOR] [/COND#_NEXE] [/COND#_PRIOR] [/EMANCIPA]
- Ciclar 3 FicheroPolOrigen FicheroPolDestino [/TAULA] [/CAMP] [/CAMP_AREA] [/CAMP_AREA_TPERCENT] [/EMANCIPA]
- Ciclar 4 FicheroPolOrigen FicheroPolDestino [/TAULA] [/CAMP] [/CAMP_AREA] [/CAMP_AREA_TPERCENT] [/EMANCIPA]
- Ciclar 5 FicheroPolOrigen FicheroPolDestino [/TAULA] [/CAMP] [/CAMP_AREA] [/CAMP_AREA_TPERCENT] [/IGNORAR] [/EMANCIPA]
- Ciclar 6 FicheroArcOrigen FicheroPolDestino [/TAULA_ARC] [/CAMP_ARC] [/TAULA_ORD] [/CAMP_ORD] [/IGNORAR] [/UN_POL_PER_ATRIBUT] [/FITXER_ORDRE_GRUP] [/EMANCIPA]
- Ciclar 7 FicheroVecOrigen FicheroPolDestino
- Ciclar 8 FicheroPolOrigen FicheroVecDestino [precisión] [/TAULA] [/CAMP] [/SI_EN_BLANC] [/ATRIBUT_CONSTANT] [/ALCADA] [/AJUST_ENV]
- Ciclar 9 FicheroPolOrigen FicheroPolDestino
Opciones:
- 1:
Ciclado total.
- 2:
Ciclado selectivo en función de un campo lógico de la base de datos indicado con /TAULA_ARC=n y /CAMP_ARC=m o con una selección.
- 3:
Reciclado de polígonos con arcos con los mismos atributos a ambos lados. Se puede realizar en función de un campo de la base de datos de FicheroPolOrigen (cualquier campo de cualquier tabla de la base de datos).
- 4:
Generación de grupos de polígonos a partir de un atributo temático preexistente. Se puede hacer en función de un campo de la base de datos de FicheroPolOrigen (cualquier campo de cualquier tabla de la base de datos no geométrico-topológico).
- 5:
Reciclado de polígonos que comparten un nodo y tienen los mismos atributos. Se puede realizar en función de todos los campos no geométrico-topológicos o en función de un campo de la base de datos de FitxerPolOrigen (cualquier campo de cualquier tabla de la base de datos). Genera grupos de polígonos.
- 6:
Obtención de grupos de polígonos no topológicos en función de un campo de la base de datos de FicheroArcOrigen indicado con /TAULA_ARC=n y /CAMP_ARC=m. El valor de este campo se convierte en el atributo del polígono en la base de datos. Dado que estos tipos de grupos de polígonos pueden dar lugar a superposiciones se podrá indicar el orden en el que se ciclan (dibujan) los arcos de los polígonos en un fichero INI que se indica en el parámetro /FITXER_ORDRE_GRUP. Por defecto se usa el orden de la proyección del campo indicado (den numérico para campos N y de orden alfabético para campos C). Los polígonos formados por los arcos con atributos de orden inferior quedan por debajo de los otros.
- 7:
Convierte polígonos desde un fichero VEC a un fichero POL (polígonos con grupos no topológicos).
- 8:
Convierte polígonos desde un fichero POL a un fichero VEC.
- 9:
Desagrupa un archivo de polígonos.
Parámetros:
- FicheroArcOrigen
(Fichero arco estructurado de origen -
Parámetro de entrada): Fichero estructurado tipo ARC.
- FicheroPolDestino
(Fichero polígono resultado del ciclado -
Parámetro de salida): El programa genera un fichero POL.
- FicheroPolOrigen
(Fichero polígono estructurado -
Parámetro de entrada): Fichero estructurado tipo POL.
- FicheroVecOrigen
(Fichero vectorial origen no estructurado -
Parámetro de entrada): Fichero no estructurado de arcos.
- FicheroVecDestino
(Fichero resultado del ciclado -
Parámetro de salida): El programa genera un fichero VEC.
- precisión
(Precisión -
Parámetro de entrada): Precisión.
Modificadores:
/COND#_CAMP=
(Campo de la condición #)
Nombre del campo de la # condición de la selección. Pueden darse hasta 100 condiciones y por tanto, hasta 100 nombres de campo (COND#_CAMP) empezando por el índice 1. (Parámetro de entrada) /COND#_OP=
(Operador de la condición #)
Operador a usar en la # condición de la selección. Pueden darse hasta 100 condiciones y por tanto hasta 100 operadores (COND#_OP) empezando por el índice 1. (Parámetro de entrada) /COND#_VALOR=
(Valor de la condición #)
Valor a usar en la # condición de la selección. Pueden darse hasta 100 condiciones y por tanto hasta 100 valores (COND#_VALOR) empezando por el índice 1. (Parámetro de entrada) /COND#_NEXE=
(Nexo de la condición #)
Nexo a usar para enlazar entre sucesivas condiciones de selección. En este caso entre la condición # y la condición #+1. Pueden darse hasta 100 condiciones y por tanto hasta 99 nexos (COND#_NEXE) empezando por el índice 1. (Parámetro de entrada) /COND#_PRIOR=
(Prioridad del nexo de la condición #)
Prioridad del nexo a usar para enlazar entre sucesivas condiciones de selección. En este caso entre la condición # y la condición #+1. Pueden darse hasta 100 condiciones y por tanto hasta 99 prioridades (COND#_PRIOR) empezando por el índice 1. Es un parámetro optativo. Si no se indica la prioridad es, simplemente, el orden. (Parámetro de entrada) /CAMP_AREA= (Nombre del campo que contendrá el campo del área) Es el nombre del campo que contiene o que se desea que contenga el área parcial de cada registro de los polígonos resultantes en caso que presenten registro múltiple. Este campo permitirá conocer el área ocupada por cada registro antes de la fusión de los polígonos. En el caso de no existir el campo el programa lo crea. (Parámetro de entrada) /CAMP_AREA_TPERCENT= (Nombre del campo que contendrá el porcentaje de recubrimiento por registro) Además del área parcial, se indica que se desea generar un campo con el porcentaje de recubrimiento para cada registro de los eventuales multiregistros de la tabla principal de atributos. (Parámetro de entrada) /TAULA_ARC= (Índice de la tabla que contiene el campo lógico) Índice que indica cuál es la tabla de la base de datos que contiene el campo lógico. (Parámetro de entrada) /CAMP_ARC= (Índice del campo que actúa de campo lógico) Índice que indica cuál es el campo de la tabla indicada con /TAULA_ARC=n que contiene el campo lógico a usar. (Parámetro de entrada) /TAULA_ORD /CAMP_ORD= (Índice del campo que indica el orden) Indica el orden en el que se ciclan los polígonos en caso de superposiciones. (Parámetro de entrada) /IGNORAR= (Descartar arcos ciclables) - ENDNODES: Antes del ciclado se seleccionan los arcos ciclables, descartando los arcos que presentan nodos finales.
- HALTERS: Como ENDNODES, pero, además, durante el ciclado se descartan los arcos con el mismo polígono a ambos lados (mancuernas).
- Si no se indica el programa no tolera la presencia de nodos finales ni de mancuernas en la base de arcos y para el proceso de ciclado si existen.
(Parámetro de entrada) /UN_POL_PER_ATRIBUT
(Creación de un solo polígono)
Agrupa en un solo macropolígono todos los polígonos con el mismo atributo. (Parámetro de entrada) /FITXER_ORDRE_GRUP=
(Fichero INI que indica el orden de superposición)
Dado que estos tipos de grupos de polígonos pueden dar lugar a superposiciones se podrá indicar el orden en que se ciclan (dibujan) los arcos de los polígonos en un fichero INI que se indica al parámetro /FITXER_ORDRE_GRUP. Por defecto se utiliza el orden de la proyección del campo indicado (orden numérico para campos N y orden alfabético para campos C). Los polígonos formados por los arcos con atributos de orden inferior quedaran por debajo de los otros. (Parámetro de entrada) /EMANCIPA (Emancipar el resultado) Indica que se debe obtener un resultado emancipado al ciclar los arcos. (Parámetro de entrada) /TAULA= (Selección de la tabla en el formato vectorial POL) Indican la tabla de la base de datos del criterio de selección (opciones 3, 4 y 5) o el campo de la base de datos que se exporta a formato VEC (opción 8). Para saber más sobre los valores de estos parámetros deben seguirse las consideraciones del documento de sintaxis general. (Parámetro de entrada) /CAMP= (Selección de un campo de la tabla en el formato vectorial POL) Indican el campo de la base de datos del criterio de selección (opciones 3, 4 y 5) o el campo de la base de datos que se exporta a formato VEC (opción 8). Para saber más sobre los valores de estos parámetros deben seguirse las consideraciones del documento de sintaxis general. (Parámetro de entrada) /SI_EN_BLANC=
(Qué hacer si el atributo está en blanco)
Indica el comportamiento que tendrá la exportación a VEC cuando no exista atributo en la base de datos (campo en blanco). Puede valer "CONSTANT" para un valor constante, "ID_GRAFIC" para identificador gráfico o "IGNORAR" para ignorar los vectores sin atributo (valor por defecto). (Parámetro de entrada) /ATRIBUT_CONSTANT=
(Valor constante del atributo para los registros en blanco)
Indica la constante a exportar a formato VEC como atributo de los objetos. Si se usa en combinación con /TAULA=, /CAMP= y /SI_EN_BLANC=CONSTANT es el atributo que se usará cuando no haya datos (campo en blanco). Si no se indica /TAULA=, /CAMP= o /ATRIBUT_CONSTANT= la exportación a formato VEC ser realiza a partir del identificador gráfico como atributo. (Parámetro de entrada) /ALCADA=
(Altura)
Indica cual de las posibles alturas se escribe en el VEC: 0 para la primera que se encuentre, 1 para la superior y 2 para la inferior. Para saber más sobre los valores de este parámetro deben seguirse las consideraciones del documento de sintaxis general. (Parámetro de entrada) /AJUST_ENV
(Ajustar envolvente)
Ajustar envolvente (Parámetro de entrada)
Formato del fichero INI indicado en el parámetro /FITXER_ORDRE_GRUP
[ORDRE_GRUP]
Atributo1=
Atributo2=
Atributo3=
...
(El índice del atributo debe ser correlativo. El valor de las claves
es el valor del atributo de los polígonos)
Este programa soporta formato REL v.4 y formato ARC v. 1.1 con o sin
coordenadas 3D.