Archivo de la categoría: DigiNG

Topologías en archivos de referencia y control topológico entre archivos

Históricamente, al ordenar a Digi3D.NET crear una topología, la creaba con las geometrías del archivo de dibujo. No se calculaba ninguna topología con los archivos de referencia.

En Digi3D.NET 2023 podemos crear también topologías de los archivos de referencia. Gracias a esto, hemos podido crear la orden CONTROL_TOPOLOGICO_CASES que permite detectar polígonos vecinos pertenecientes a distintos archivos de dibujo, y marcar como error aquellos en los que se detecta que el centroide cambia (o su código, o sus atributos de BBDD o el texto asociado al centroide), porque en determinados escenarios es posible que sea un error.

Ej: Un polígono de en un modelo tiene un centroide de Monte Alto y el polígono de al lado, que pertenece a otro archivo de dibujo es un polígono de Monte Bajo. Quizás no sea un error, pero conviene repasarlo, porque es posible que si que lo sea.

En el siguiente vídeo puedes ver esta orden en acción:

Control de codificación en cases

Digi3D.NET 2023 dispone de una herramienta que te va a permitir detectar automáticamente líneas de un archivo de dibujo que continúan en otro archivo de dibujo, pero con otro código o con otros atributos de BBDD o con otros atributos de geometría.

Esto no tiene por qué ser un error, pero suele serlo. Si una línea tiene código de eje de camino y en el archivo de al lado continua como borde de camino, tiene pinta de que ha habido un error a la hora de seleccionar el código en uno de los dos archivos.

Si estamos trabajando con bases de datos, es posible que ambas líneas tengan el mismo código, pero que sus atributos de base de datos sean distintos. Si por ejemplo una línea de eje de carretera tiene el atributo «Número de carriles» con el valor 2 y en el siguiente archivo tiene 4, quizás no sea un error, pero estaría bien tener una herramienta para detectarlo.

Para solucionar todo esto, hemos desarrollado la orden: DETECTAR_ERRORES_CONTINUIDAD_LINEAS_CASES que puedes ver en acción en el vídeo de a continuación.

Nueva orden DISTANCIA_MAXIMA

Hemos creado un nuevo tipo de restricción a aplicar sobre la polilínea que estás digitalizando en Digi3D.NET denominada Distancia Máxima.

Esta restricción indica el tamaño máximo que tendrán los segmentos en la orden LINEA.

Puedes ver esta novedad en acción en el siguiente vídeo:

Carga ortofotos en formato JPEG 2000 de 16 bits y orientaciones de archivos .aux.xml

Hemos añadido la posibilidad de cargar en la ventana de dibujo (porque en la fotogramétrica ya se soportaba) ortofotos en formato JPEG2000 de 16 bits. Hasta hoy únicamente se podían cargar JPEG2000 de 8 bits.

Además, hemos añadido la posibilidad de cargar las orientaciones de archivos .aux.xml en vez de únicamente de archivos World File.

Puedes ver esta novedad en el siguiente vídeo:

Exporta a PDF con Digi3D.NET

Acabamos de añadir en Digi3D.NET el exportador a PDF.

Al ejecutar la orden EXPORTAR, tan sólo tienes que seleccionar como tipo de archivo a crear archivos PDF e indicar el tamaño del documento a crear, la escala de impresión, si quieres o no explotar la simbología y el título del documento PDF.

Los colores/grosores de impresión se extraen del campo Color de impresión el campo Grosor de impresión asignado a cada código en la tabla de códigos.

Puedes ver esta nueva funcionalidad en acción en el siguiente vídeo:

Colaboración en tiempo real con Digi3D.NET

Acabamos de añadir en Digi3D.NET la posibilidad de cargar archivos de referencia archivos que están siendo editados por otro usuario.

Hasta ahora esto no era posible porque al abrir un archivo de dibujo Digi3D.NET lo bloqueaba como lectura/escritura. Ahora el bloqueo se realiza únicamente para escritura, de manera que el resto de las instancias del programa (o de usuarios en la red) lo pueden abrir en modo de solo lectura.

Esta apertura se realiza de manera transparente para el usuario: Si abrimos un archivo el programa va a intentar abrirlo con permisos de escritura, si no puede, lo abre con permisos de lectura e informa al usuario.

Eso es así tanto para los archivos de referencia como para los archivos de dibujo.

Además, si el usuario que ha abierto el archivo de dibujo realiza alguna modificación sobre este, verás los cambios en tiempo real sin necesidad de tener que recargar el archivo.

Puedes ver esta novedad en el siguiente vídeo:

Representación WKT de la geometría seleccionada en Digi3D.NET

Hemos añadido a Digi3D.NET la orden LISTA_WKT que imprime en el panel de resultados la representación WKT de la geometría seleccionada.

Luego podemos copiar al portapapeles el texto e introducirlo en programas GIS como QGIS o introducirlo en bases de datos espaciales como SQL Server o PostgreSQL.

Puedes ver esta nueva orden en acción en el siguiente vídeo:

Modifica el entorno en el que se ejecutan tus expresiones Python

Hasta hoy, cuando ejecutábamos una expresión Python, Digi3D.NET creaba por código duro en el entorno Python las funciones necesarias para poder localizar geometrías.

Este entorno no se podía editar, de manera que los usuarios no podían añadir funciones que sirvieran como soporte para sus expresiones Python.

Hemos añadido en el editor de tablas de códigos en la pestaña Python una ventana en la que podemos introducir un guion a ejecutar cada vez que Digi3D.NET crea un entorno Python, de manera que ahora los usuarios pueden añadir toda la lógica que quieran.

En el siguiente vídeo te mostramos cómo preparar el entorno para localizar geometrías por atributos de base de datos.

Topologías en Digi3D.NET

Hemos añadido el concepto de Topología en Digi3D.NET, y eso nos permite realizar cosas como introducir automáticamente centroides en las inundaciones topológicas y como asignar un diccionario de valores a cada centroide que podemos utilizar a la hora de exportar a SIG como ArcGIS.

El editor de tablas de códigos ahora dispone de una nueva pestaña denominada Topologías que nos permite crear una topología y asignarle un nombre, códigos de las geometrías que forman la topología, un conjunto de centroides además de un diccionario clave/valor para cada centroide.

Podemos indicar un color de relleno para los polígonos de la geometría que no tengan centroide, así como un color de relleno para los huecos, y podemos asignar un color de relleno en función del centroide.

Podemos indicar además si un centroide tiene un texto fijo (como por ejemplo Edificio) o si se le permite al usuario añadir un texto, como por ejemplo el nombre de una calle).

En el vídeo de a continuación te enseñamos a añadir topologías en el editor de tablas de códigos así como a exportar a Shapefile con atributos de base de datos extraídos de la propia tabla de códigos.

Añadida compatibilidad con Esri Projection Engine

Acabamos de añadir a Digi3D.NET la posibilidad de crear sistemas de referencia de coordenadas compatibles con Esri Projection Engine.

Gracias a esta nueva característica, podrás crear archivos Shapefile con sistemas de referencia de coordenadas y que ArcMap los cargue sin problemas.

Puedes activar esta característica mediante la opción del menú Herramientas/Configuración/Sistemas de referencia de coordenadas/Crear cadenas WKT compatibles con, donde nos encontramos con dos opciones:

  • Esri Projection Engine sin incluir código EPSG
  • Esri Projection Engine incluyendo código EPSG
  • OpenGis Coordinate Transformation Service

Si activamos cualquiera de las opciones de tipo Esri Projection Engine y creamos sistemas de referencia de coordenadas horizontales, es decir, con el sistema vertical desconocido, los archivos .PRJ creados por Digi3D.NET serán exactamente iguales a los creados por Esri Projection Engine.

La diferencia entre las dos primeras opciones es que la primera incluye el código EPSG como por ejemplo en el siguiente ejemplo para el sistema WGS84 / UTM Zona 30N:

PROJCS["WGS_1984_UTM_Zone_30N",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-3.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG",32630]]

y la segunda no lo incluye, como por ejemplo en el siguiente ejemplo para el mismo sistema de referencia de coordenadas:

PROJCS["WGS_1984_UTM_Zone_30N",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-3.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]

Puedes ver esta nueva funcionalidad en acción en el siguiente vídeo: