TU ANUNCIO / YOUR PUBLICITY

AQUÍ PODRÍA ESTAR TU ANUNCIO: / HERE COULD BE YOUR AD E-mail

sábado, 28 de febrero de 2015

Optimized GIS for linear projects XX (Results and conclusions) / SIG optimizado para obras lineales XX (Resultados y conclusiones)

Previamente: / Previously:

Optimized GIS for linear projects XVIX (Consultas de seguimiento)
SIG optimizado para obras lineales XVIX (Monitoring form)

Índice Index

1.- Introducción
   1.1.- Situación actual
   1.2.- Problemática detectada y justificación del trabajo
   1.3.- Objetivos
   1.4.- Estructura del estudio
2.- Estado del conocimiento
   2.1.- La topografía en la obra lineal
      2.1.1.- Elementos básicos de documentación topográfica
      2.1.2.- Composición de los elementos básicos del trazado
      2.1.3.- Software habitual para definición de trazados en obras lineales
   2.2.- Formatos de dibujo
      2.2.1.- El formato dxf
      2.2.2.- El formato vml
      2.2.3.- El formato svg
      2.2.4.- El formato dwg
   2.3.- La información documentada de obra
   2.4.- Sistemas de información geográfica
      2.4.1.- Revisión de programas de gis estándar
      2.4.2.- Revisión de programas de gis que no siguen los estándares
   2.5.- Tipos de lenguajes de programación
      2.5.1.- Lenguajes de bajo nivel
      2.5.2.- Lenguajes de nivel medio
      2.5.3.- Lenguajes de alto nivel
   2.6.- Tipos de bases de datos
      2.6.1.- Sql, la comunicación entre bases de datos relacionales
   2.7.- Los sistemas de representación gráfica tradicionales
   2.8.- Normativa aplicable
3.- Solución
   3.1.- Lectura de elementos topográficos: trazado y estructuras
      3.1.1.- Elementos topográficos del trazado: eje
      3.1.2.- Elementos topográficos del trazado: terreno
      3.1.3.- Elementos topográficos del trazado: plataforma
      3.1.4.- Elementos topográficos anejos al trazado: las estructuras
   3.2.- Lectura de bases de datos
      3.2.1.- Bases de datos de ensayos e inspección
         3.2.1.1.- Bases de datos de ensayos, suelos
         3.2.1.2.- Bases de datos de ensayos, densidades
         3.2.1.3.- Bases de datos de ensayos, mezclas bituminosas
         3.2.1.4.- Bases de datos de ensayos, hormigones
         3.2.1.5.- Bases de datos de inspección, control
         3.2.1.6.- Bases de datos de inspección, diario
         3.2.2.- Bases de datos extras
         3.2.2.1.- Bases de datos extras, fotos
         3.2.2.2.- Bases de datos extras, definición de estructuras
         3.2.2.3.- Bases de datos extras, definición de la capa de firme
         3.2.2.4.- Bases de datos extras, localización extra
    3.3.- El dibujo del trazado
        3.3.1.- El dibujo en planta
        3.3.2.- El dibujo en perspectiva
            3.3.2.1.- El dibujo con superficies planas
            3.3.2.2.- El dibujo en el navegador
    3.4.- La unión del trazado con las bases de datos
        3.4.1.- La unión de las estructuras al trazado
        3.4.2.- La unión de los ensayos de suelos al trazado
        3.4.3.- La unión de los ensayos de densidades al trazado
        3.4.4.- La unión de los ensayos de hormigones al trazado
        3.4.5.- La unión de los ensayos de firmes al trazado
        3.4.6.- La unión de los inspecciones de control al trazado
        3.4.7.- La unión del diario al trazado
        3.4.8.- La unión de la documentación fotográfica al trazado
    3.5.- La unión de la documentación y otras inspecciones
        3.5.1.- La unión pasiva
        3.5.2.- La unión activa
    3.6.- Base matemática novedosa utilizada
        3.6.1.- Pseudo-bases de datos
        3.6.2.- Redes de taylor multidimensionales
        3.6.3.- Sintegrales
    3.7.- Consultas a la información a través de formularios
        3.7.1.- Formularios de ensayos de suelos
        3.7.2.- Formularios de ensayos de densidades
        3.7.3.- Formularios de ensayos de hormigones
        3.7.4.- Formularios de ensayos de firmes
        3.7.5.- Formulario de inspecciones, control
        3.7.6.- Formulario de inspecciones, diario
        3.7.7.- Formulario de inspecciones, fotos
        3.7.8.- Formulario de seguimiento en dxf y kml
    3.8.- Resultados finales
4.- Conclusiones, futuras lineas de trabajo
5.- Bibliografía



3.8.- RESULTADOS FINALES / FINAL RESULTS


El resultado final es un sistema de información geográfica que:

  • Lee los datos topográficos directamente.
  • Lee los datos de ensayos desde tablas que igualmente serían necesarias de realizar por el propio sistema de calidad.
  • Interactúa con el resto de información si ésta está guardada coherentemente con el archivo maestro a modo de gestor documental georefenciado o no.

No se puede hablar de un lenguaje de programación utilizado sino de un variopinto sistema de programación variado. Para la solución local se ha programado en Visual Basic (con subrutinas en C). Para la versión web, la programación base es en PHP, (con llamadas a comandos del S.O. y otros programas en C), presentado en HTML  con scripts de javascript y AJAX.

La salida de información es por pantalla, impresora (informes) y archivos (pdf, tablas, dxf y kml).

Entre todos estos sistemas existe completa compatibilidad ya que los datos son leídos de igual manera independientemente del programa que vaya a acceder a ellos, esto permite que el acceso pueda ser directo, en red, a través de ftp, o incluso más recientemente, he creado un sistema satélite en el que algunas obras, debido a su relevancia, disponen de su servidor propio y el acceso es tutorado por el servidor principal. De esta manera la información es siempre actual y accesible.

En la figura 3.8, se ha incluido un diagrama de flujo del proceso a modo de resumen metodológico de la solución de sistema de información geográfica propuesto en el presente artículo.

The end result is a system of geographical information that:
  • Read topographic data directly.
  • Read test data from tables that also would be required to perform the quality system itself.
  • Interact with other information if it is filed coherently with the master file as a document manager georefenciado or not.
You can not speak of a programming language used but a motley system varied programming. For local solution is programmed in Visual Basic (with subroutines in C). For web version, based programming in PHP (with calls to OS commands and other programs in C), presented in HTML with javascript and AJAX scripts.

The output information is on screen, printer (reports) and files (pdf, tables, dxf and kml).

Among all these systems there is full support since the data are read in the same way regardless of the program to be accessed, this allows access can be direct, networked via ftp, or even more recently, I've created a satellite system in which some works because of its relevance, have their own server and access is tutored by the master server. This way the information is always current and accessible.

In Figure 3.8, we have included a flow chart of the process as a methodological summary of the solution proposed of GIS in this paper.


4.- CONCLUSIONES, FUTURAS LINEAS DE TRABAJOCONCLUSIONS, FUTURE WORKING LINES


La principal conclusión sería el establecimiento de una nueva clasificación de sistemas de información geográfica aparte de la estándar que se definiera en el capítulo 1 con las siguientes premisas:

The main conclusion would be to establish a new classification of geographic information systems in addition to the standard that is defined in Chapter 1 with the following assumptions:


  • La entrada de datos no sólo puede hacerse con planos y bases de datos asociadas a zonas seleccionadas de estos, sino que además podría hacerse desde los datos originarios de estos planos. En el caso de obras civiles lineales, de la definición de la geometría de éstas.
  • La base de datos puede sustituirse por cualquier sistema que englobe los conjuntos de datos.
  • La creación de la base de datos geográfica puede sustituirse la zonificación y vinculación a zonas de la base de datos a un conjunto de reglas entre datos que funcione de forma interna en el sistema.
  • Data entry can not only be done with maps and databases associated with these targeted areas, but could also be made from the data originating from these planes. In the case of linear civil works, the definition of the geometry thereof.
  • The database may be replaced by any system that encompasses the data sets.
  • The creation of the geographic database can be replaced zoning and links to all the database to a set of rules between working data internally in the system.


Gráficamente, se podría visualizar con las figuras 1.2.a,b y c.
Respecto a la eficiencia de tales modificaciones estarían las siguientes conclusiones:
Graphically, may be displayed with 1.2.a, b and c figures.
Regarding the efficiency of such modifications would be the following conclusions:

  • La toma de datos topográficos desde los propios del trazado de forma directa anula el tiempo de inserción de datos geográficos al tiempo que son reales y actuales al formar parte de los programas usados para medición y comprobación.
  • La lectura de datos de ensayos está siempre actualizada ya que así lo requiere el propio sistema de calidad.
  • La gestión documental es inmediata ya que una vez guardado cualquier documento (siguiendo las directrices del manual de calidad) ya está disponible y el subconjunto georeferenciado será una BDG (biblioteca digital georeferenciada).
  • El ahorro de tiempo es sustancial al no tener que incorporar datos sino “ad hoc”.
  • El ahorro en transcripciones de datos también desaparece por mismo motivo anterior.
  • La generación de informes es más rápida y eficiente, ahorrando por tanto tiempo en informes estructurados y organizados por concepto, espacio y/o tiempo.



  • The survey data collection from the path themselves directly overrides the geographical insertion time while being real and present to join the programs used for measuring and testing data.
  • Reading test data is always current because they require the quality system itself.
  • Document management is immediate because once you save any document (following the guidelines of the quality manual) is now available and will be a subset georeferenced BDG (georeferenced digital library).
  • The time savings is substantial by not having to enter data but "ad hoc".
  • The savings transcripts same data also disappears previous plea.
  • Report generation is faster and more efficient, thus saving time in structured and organized by concept, space and / or time reports.


Por otro lado hay una serie de beneficios no previstos, que abren otras vías a los SIGs:
On the other hand there are a number of benefits not provided, which open other avenues to GIS:


  • La estructura de un SIG no tiene que ser la promovida exclusivamente por los SIGs estándares. Se abre una nueva vía de generación de entidades geográficas a partir de los archivos base del programa de trazado habitualmente utilizado
  • El tener una estructura tan determinada y previsible hace el conjunto apto a cualquier sistema de copia de seguridad
  • El poseer el código fuente de cualquiera de estos sistemas permiten la fácil remodelación ante diferentes retos, diferentes salidas de archivos, adicción de nuevas bases de datos, etc.


  • The structure of a GIS does not have to be promoted exclusively by GIS standards. A new way of generation of geographical entities is opened from the basic layout program files commonly used.
  • Having such a determined and predictable structure makes the set suitable to any system backup.
  • Possessing the source code of any of these systems allow easy remodeling face different challenges, different outputs files, addiction new databases, etc.


Las futuras líneas de trabajo se basan en esta última premisa ya que el futuro augura nuevas funcionalidades tanto en los lenguajes y frameworks mencionados así como otros nuevos. Los servidores de mapas remotos sólo necesitarán la transformación de las coordenadas UTM como ya se hiciera al crear los ficheros KML. Se podrían crear “navegadores de calidad” y todo aquello que tenga que ver con un trazado y un sistema de calidad.

De cara al futuro las entidades de dibujo podrían por fin integrarse plenamente en la versión web. El nuevo HTML5, aún no disponible en navegadores, contará con funciones de dibujo incluidas en el DOM del navegador sin tener que utilizar los artificios de javascript. Esto añadirá velocidad y capacidad de dibujo al navegador.

Otro de los frentes abiertos, la generación de informes complejos partiendo de datos sencillos de partida ha sido uno de los “spin off” más relevantes. Se une así la gestión del informe a la propia creación del informe. No sólo se ahorra tiempo para la creación del informe sino que al ser realizado éste por el sistema ya pasa a ser parte integrante.

Future lines of work are based on the latter premise as the future portends new features in both languages ​​and frameworks mentioned as well as new ones. Maps remote servers need only the transformation of the UTM coordinates as is already done to create KML files. Could be created "browsers quality" and everything that has to do with a path and a quality system.

Looking ahead drawing entities could finally fully integrated into the web version. The new HTML5 still not available in browsers will drawing functions included in the browser DOM without using the artifices of javascript. This will add speed and drawing the browser.

Another fronts, generating complex reports based on simple input data has been one of the "spin off" most relevant. Management report to the very creation of the report is attached as well. Not only saves time for the creation of the report but as this is done by the system and becomes an integral part.


5.- BIBLIOGRAFÍA / BIBLIOGRAPHY

  • Abresch, J., Hanson A., Heron S., Reehling , P., 2008. "Integrating Geographic Information Systems into Library Services: A Guide for Academic Libraries". Information Science Publishing.
  • Anselin, L., 2004 “Econometrics for spatial models: Recent advances”. Berlin, Springer Verlag, 2004, pp. 1-25.
  • Arbia, G., 1989 “Spatial Data Configuration in Statistical Analysis of Regional Economic and Related Problems, Advanced Statistical Theory and Applied Econometrics”, Dordrecht Kluwer Academic Publishers, pp. Xiv+256 .
  • Berry, B. and Garrison, "The functional bases of the central place hierarchy". Economic Geography” 1958, Ed. Menphis
  • Berry B. 1971. “Problems of data organization and analytical methods in geography”. Journal of the American Statistical Association, 66 (335): 510-523.
  • Bolstad, P. 2005. ‘GIS Fundamentals: A first text on Geographic Information Systems.’ Eider Press.
  • Bosque Sendra, J. 2000. ‘Sistemas de Información Geográfica.’ Ed. Rialp.
  • Chrisman, N. 2006. ‘Charting the Unknown: How Computer Mapping at Harvard Became GIS’. ESRI Press.
  • Conceição, Pedro, 2000 “The Young Person’s Guide to the Theil Index: Suggesting Intuitive Interpretations and Exploring Analytical Applications”, utip Working Paper núm.14, Texas, University of Texas Inequality Project
  • Delaunay, B. 1934: “Sur la sphère vide”, Izvestia Akademii Nauk SSSR, Otdelenie Matematicheskikh i Estestvennykh Nauk, 7:793–800.
  • Dangermond, J. 2007. GIS - The Geographic Approach. ArcNews 29 (3), 3-8
  • Dijkstra, E. (1968). “Go To Statement Considered Harmful”. Communications of the ACM 3. Disponible en: http://www.acm.org/classics/oct95/.
  • Dominguez, J. 2000. ‘Breve Introducción a la Cartografía y a los Sistemas de Información Geográfica (SIG).’ Informes Técnicos Ciemat, nº 943.
  • Fan, C. y Casetti, E., 1994 “The Spatial and Temporal Dynamics of US Regional ncome Inequality, 1950-1989”, Annals of Regional Science, vol. 28, núm. 2, 1994, pp. 177-196.
  • García Santiago, T. 2009 Aplicación GPR-GIS. Trabajo de fin de Master ubicado en http://proyecto.enmacosa.com/idi/gpr-gis/mapa.php. 2010, “Métodos prácticos de localización de puntos emisores de contaminación”. Tesis Doctoral, Universidad de Vigo.
  • Guisasola, M.L. 2003. ‘De la Imagen a la Experiencia (una construcción comunicativa).’ Revista Razón y Palabra, 32, 31-36
  • Gutiérrez, J., Gould, M. 1994. SIG : Sistemas de información geográfica. Ed. Síntesis.
  • Hagerstrand “Directions in geography”, 1973, Ed. R. J. Chorley.
  • Izquierdo Asensi, F. 1990. Geometría descriptiva” Ed. Dossat S.A.
  • Martínez, E.; Pina, J.M. 2003. The Negative Impact of Brand Extension on Parent BrandImage’. Journal of Product & Brand Management, 12 (7),
  • Muñoz, Carlos, 2005. “Problemas básicos de topografía”. Ed. Belisco.
  • Ordóñez C.; Martínez-Alegría, R. 2003. ‘Sistemas de Información Geográfica: aplicaciones prácticas con Idrisi32 al análisis de riesgos naturales y problemáticas medioambientales.’ Editorial Ra-Ma.
  • Orozco, J.M. 2004. ‘La Gestión de Calidad en las Vías Terrestres de México. Un Análisis Crítico.’ Actas de la VI Conferencia de la AMIVT.
  • Sánchez-Mora, I. 2009. ‘Gestión de calidad en trabajos de mantenimiento de carreteras.’ Actas del Seminario Internacional Técnicas de Mantenimiento para Mejorar el Desempeño del Pavimento.
  • Steiniger, S., Bocher, E., 2009. ‘An overview on current free and open source desktop GIS developments.’ International Journal of Geographical Information Science 23 (10), 1345-1370.
  • Santovenia, Díaz, J.,Tanagó Montalvo, C. Rivero Amador, S. "Geographical information systems for information management." Acimed: revista cubana de los profesionales de la información y la comunicación vol. 20, n. 5 (2009).
  • Schvaneveldt, R. 1990. “Pathfinder associative networks: studies in knowledge organization”. Norwood, NJ : AbleSchavaneveldt, 1990
  • Sebastián Lorente , Luis, 1997 “Transformaciones geométricas en el espacio euclídeo ” Editorial: Escuela Universitaria de Ingeniería Técnica Topográfica.
  • Ullman, E., 1949. “Antes de la revolución cuantitativa” Geocrítica nº. 55, enero 1985. págs. 9-45.

Bibliografía complementaria:


  • Antonio Mata Estarellas, 1995, “C++, Iniciación y programación avanzada”. Ed. Paraninfo S.A.
  • Carson, Lucas y Richardson, Leonard 2007, “Curso de Ruby” . Ediciones Anaya Multimedia
  • Ceballos Sierra, F.J. 1999. ‘Visual Basic 6: Curso de programación’. Ed. RA-MA.
  • Ceballos Sierra, F.J. 2005, “Java 2, curso de programación”. Ed. RA-MA.
  • Charte Ojeda, Francisco. 2005, “La biblia de HTML”. Ediciones Anaya Multimedia,
  • Durán, L. 2000. ‘Bases de datos con Visual Basic’. MARCOMBO, S.A.
  • EHE: BOE 22 de agosto de 2008
  • Kraemer Heilperno, Carlos, Rocci Boccaleri, Sandro, y Sánchez Blanco,Victor , 1991, “Trazado de carreteras”, Universidad Politécnica de Madrid, Cátedra de Caminos y Aeropuertos
  • Kraemer Heilperno,Carlos, Morilla Abad, Ignacio, Rocci Boccaleri, y Sánchez Blanco, Victor, 1989, “Explanaciones y drenaje”, Universidad Politécnica de Madrid, Cátedra de Caminos y Aeropuertos
  • Kraemer Heilperno, Carlos, y del Val, Miguel Ángel, 1990, “Firmes”, Universidad Politécnica de Madrid, Cátedra de Caminos y Aeropuertos.
  • Ojeda Ruiz, Hermes , Agosto 2010, “HighMicro” , Ed. Kentuky,
  • Zakas, Nicholas; McPeak, Jeremy; Fawcett, Joe. 2006. “Ajax” Ed. Anaya


Referencias complementarias de Internet




viernes, 27 de febrero de 2015

Optimized GIS for linear projects XIX (Consultas de seguimiento) / SIG optimizado para obras lineales XIX (Monitoring form)

Previamente: / Previously:

Optimized GIS for linear projects XVIII (Consultas de inspecciones) 
SIG optimizado para obras lineales XVIII (Inspection queries)

Índice Index

1.- Introducción
   1.1.- Situación actual
   1.2.- Problemática detectada y justificación del trabajo
   1.3.- Objetivos
   1.4.- Estructura del estudio
2.- Estado del conocimiento
   2.1.- La topografía en la obra lineal
      2.1.1.- Elementos básicos de documentación topográfica
      2.1.2.- Composición de los elementos básicos del trazado
      2.1.3.- Software habitual para definición de trazados en obras lineales
   2.2.- Formatos de dibujo
      2.2.1.- El formato dxf
      2.2.2.- El formato vml
      2.2.3.- El formato svg
      2.2.4.- El formato dwg
   2.3.- La información documentada de obra
   2.4.- Sistemas de información geográfica
      2.4.1.- Revisión de programas de gis estándar
      2.4.2.- Revisión de programas de gis que no siguen los estándares
   2.5.- Tipos de lenguajes de programación
      2.5.1.- Lenguajes de bajo nivel
      2.5.2.- Lenguajes de nivel medio
      2.5.3.- Lenguajes de alto nivel
   2.6.- Tipos de bases de datos
      2.6.1.- Sql, la comunicación entre bases de datos relacionales
   2.7.- Los sistemas de representación gráfica tradicionales
   2.8.- Normativa aplicable
3.- Solución
   3.1.- Lectura de elementos topográficos: trazado y estructuras
      3.1.1.- Elementos topográficos del trazado: eje
      3.1.2.- Elementos topográficos del trazado: terreno
      3.1.3.- Elementos topográficos del trazado: plataforma
      3.1.4.- Elementos topográficos anejos al trazado: las estructuras
   3.2.- Lectura de bases de datos
      3.2.1.- Bases de datos de ensayos e inspección
         3.2.1.1.- Bases de datos de ensayos, suelos
         3.2.1.2.- Bases de datos de ensayos, densidades
         3.2.1.3.- Bases de datos de ensayos, mezclas bituminosas
         3.2.1.4.- Bases de datos de ensayos, hormigones
         3.2.1.5.- Bases de datos de inspección, control
         3.2.1.6.- Bases de datos de inspección, diario
         3.2.2.- Bases de datos extras
         3.2.2.1.- Bases de datos extras, fotos
         3.2.2.2.- Bases de datos extras, definición de estructuras
         3.2.2.3.- Bases de datos extras, definición de la capa de firme
         3.2.2.4.- Bases de datos extras, localización extra
    3.3.- El dibujo del trazado
        3.3.1.- El dibujo en planta
        3.3.2.- El dibujo en perspectiva
            3.3.2.1.- El dibujo con superficies planas
            3.3.2.2.- El dibujo en el navegador
    3.4.- La unión del trazado con las bases de datos
        3.4.1.- La unión de las estructuras al trazado
        3.4.2.- La unión de los ensayos de suelos al trazado
        3.4.3.- La unión de los ensayos de densidades al trazado
        3.4.4.- La unión de los ensayos de hormigones al trazado
        3.4.5.- La unión de los ensayos de firmes al trazado
        3.4.6.- La unión de los inspecciones de control al trazado
        3.4.7.- La unión del diario al trazado
        3.4.8.- La unión de la documentación fotográfica al trazado
    3.5.- La unión de la documentación y otras inspecciones
        3.5.1.- La unión pasiva
        3.5.2.- La unión activa
    3.6.- Base matemática novedosa utilizada
        3.6.1.- Pseudo-bases de datos
        3.6.2.- Redes de taylor multidimensionales
        3.6.3.- Sintegrales
    3.7.- Consultas a la información a través de formularios
        3.7.1.- Formularios de ensayos de suelos
        3.7.2.- Formularios de ensayos de densidades
        3.7.3.- Formularios de ensayos de hormigones
        3.7.4.- Formularios de ensayos de firmes
        3.7.5.- Formulario de inspecciones, control
        3.7.6.- Formulario de inspecciones, diario
        3.7.7.- Formulario de inspecciones, fotos
        3.7.8.- Formulario de seguimiento en dxf y kml
    3.8.- Resultados finales
4.- Conclusiones, futuras lineas de trabajo
5.- Bibliografía


3.7.8.- FORMULARIO DE SEGUIMIENTO, EN DXF Y KML / MONITORING FORM IN DXF and KML

En ocasiones las demandas de las direcciones de obra llegan al punto de querer ver en un plano de papel las inspecciones que ya se han visto en la pantalla con lo que no queda más remedio que programar la salida no por la pantalla sino con el formato DXF. Como ya se viera en el apartado 2.1.1. dentro del bloque ENTITIES del fichero.

Para ello crearemos 3 bloques. El inicial hasta el bloque ENTITIES, el propio bloque ENTITIES y desde este al final. El primero y el último se dejan fijos y el intermedio se crea hasta formar el archivo DXF completo:

Sometimes the demands of work management reach the point of wanting to see in a paper plane inspections already seen on screen with no choice but to program the output no screen but with the DXF format . As you saw in section 2.1.1. ENTITIES block within the file.

To do this, create 3 blocks. The initial ENTITIES to block, block ENTITIES own and from this the end. The first and last are left fixed and the intermediate is created to form the complete DXF file:


Public Sub Exporta_Dxf()
Bloque = 0 : DXF_1 = "" :DXF_2 = ""
EscDXF = 0.25 ' escala del dxf es buena para planos a escala 1:2000
iLayer = "G-Enma 2006"
For i = 1 To Max_iDXF
GiroDXF = Tutto_DXF(i).Giro
XDD = Tutto_DXF(i).X + 150 * EscDXF * Cos(GiroDXF)
YDD = Tutto_DXF(i).Y - 150 * EscDXF * Sin(GiroDXF)
XDDD = XDD - 150 * EscDXF * Sin(GiroDXF)
YDDD = YDD - 150 * EscDXF * Cos(GiroDXF)
DXF_Linea iLayer, Tutto_DXF(i).X, Tutto_DXF(i).Y, 0, XDD, YDD, 0
DXF_Texto Tutto_DXF(i).Texto , XDD, YDD, 0, XDDD, YDDD, 0
Next
'Lugar donde se guardará
DXF_guarda "c:\G-Enma.dxf"
End Sub

Private Sub DXF_Linea(ByVal iLayer As String, ByVal X1 As Single, ByVal Y1 As Single, ByVal Z1 As Single, ByVal X2 As Single, ByVal Y2 As Single, ByVal Z2 As Single)
DXF_Cuerpo = DXF_Cuerpo & "LINE|8|" & iLayer & _
"| 10|" & X1 & "| 20|" & Y1 & "| 30|" & Z1 & _
"| 11|" & X2 & "| 21|" & Y2 & "| 31|" & Z2 & "|0|"
End Sub

Private Sub DXF_Text(ByVal iLayer As String, ByVal X As Single, ByVal Y As Single, ByVal Z As Single, ByVal Height As Single, ByVal iText As String)
DXF_Cuerpo= DXF_Cuerpo & "TEXT|8|" & iLayer & _
"| 10|" & X & "| 20|" & Y & "| 30|" & Z & _
"| 40|" & Height & "|1|" & iText & "| 50| 0|0|"
End Sub

Private Function DXF_Cabecera() As String
Dim HS(19) As String
HS(0) = " 0|SECTION| 2|HEADER| 9"
HS(1) = "$ACADVER| 1|AC1009| 9"
HS(2) = "$INSBASE| 10|0.0| 20|0.0| 30|0.0| 9"
HS(3) = "$EXTMIN| 10| 0| 20| 0| 30| 0| 9"
HS(4) = "$EXTMAX| 10|368| 20|326| 30|0.0| 9"
HS(5) = "$LIMMIN| 10|0.0| 20|0.0| 9"
HS(6) = "$LIMMAX| 10|100.0| 20|100.0| 9"
HS(7) = "$ORTHOMODE| 70| 1| 9"
HS(8) = "$DIMSCALE| 40|8.0| 9"
HS(9) = "$DIMSTYLE| 2|STANDARD| 9"
HS(10) = "$FILLETRAD| 40|0.0| 9"
HS(11) = "$PSLTSCALE| 70| 1| 0"
HS(12) = "ENDSEC| 0"
HS(13) = "SECTION| 2|TABLES| 0"
HS(14) = "TABLE| 2|VPORT| 70| 2| 0|VPORT| 2|*ACTIVE| 70| 0| 10|0.0| 20|0.0| 11|1.0| 21|1.0| 12|50.0| 22|50.0| 13|0.0| 23|0.0| 14|1.0| 24|1.0| 15|0.0| 25|0.0| 16|0.0| 26|0.0| 36|1.0| 17|0.0| 27|0.0| 37|0.0| 40|100.0| 41|1.55| 42|50.0| 43|0.0| 44|0.0| 50|0.0| 51|0.0| 71| 0| 72| 100| 73| 1| 74| 1| 75| 0| 76| 0| 77| 0| 78| 0| 0|ENDTAB| 0"
HS(15) = "TABLE| 2|LTYPE| 70| 1| 0|LTYPE| 2|CONTINUOUS| 70| 0| 3|Solid Line| 72| 65| 73| 0| 40|0.0| 0|ENDTAB| 0"
HS(16) = "TABLE| 2|LAYER| 70| 3| 0|LAYER| 2|0| 70| 0| 62| 7| 6|CONTINUOUS| 0|LAYER| 2|CLOCK_FACE| 70| 0| 62| 7| 6|CONTINUOUS| 0|LAYER| 2|DEFPOINTS| 70| 0| 62| 7| 6|CONTINUOUS| 0|ENDTAB| 0"
HS(17) = "TABLE| 2|VIEW| 70| 0| 0|ENDTAB| 0"
HS(18) = "TABLE| 2|DIMSTYLE| 70| 1| 0|DIMSTYLE| 2|STANDARD| 70| 0| 3|| 4|| 5|| 6|| 7|| 40|1.0| 41|0.18| 42|0.0625| 43|0.38| 44|0.18| 45|0.0| 46|0.0| 47|0.0| 48|0.0|140|0.18|141|0.09|142|0.0|143|25.4|144|1.0|145|0.0|146|1.0|147|0.09| 71| 0| 72| 0| 73| 1| 74| 1| 75| 0| 76| 0| 77| 0| 78| 0|170| 0|171| 2|172| 0|173| 0|174| 0|175| 0|176| 0|177| 0|178| 0| 0|ENDTAB| 0"
HS(19) = "ENDSEC| 0|"
DXF_Header = Join$(HS(), "|")
End Function

Private Sub DXF_Constructor()
DXF_Constructor = DXF_Cabecera & "BLOCK| 8|0| 2|*D" & BlockIndex & "|70| 1| 10|0.0| 20|0.0| 30|0.0| 3|*D" & BlockIndex & "| 1||0|ENDBLK| 8|0|0|"
BlockIndex = BlockIndex + 1
End Sub

Private Function DXF_Pie() As String
DXF_BlockFooter = "ENDSEC| 0|"
End Function

Private Sub DXF_guarda(ByVal Fichero As String)
DXF_Salida = DXF_Cabecerar & DXF_Cuerpo & DXF_Pie
DXF = Split(strDXF_Salida, "|")
Open Fichero For Output As #1
Print #1, Replace(strDXF_Output, "|", Chr(13) & Chr(10))
'El carácter | se ha estado usando de comodín para poder colocar al final los saltos de línea.
Close #1
End Sub 

En otros casos, la demanda fue para archivos KML (con estructura similar a XML). Éstos se van definiendo con líneas e iconos e inspecciones, que formarán el archivo KML para poder ser abierto por Google Earth.

En ambos casos, en la pantalla de preselección se habrá especificado el entorno de fechas y la búsqueda, y ello será, en todas las bases de datos, incluida la tablas "Otros". Se seleccionas a través del formulario de la figura 3.7.8.a.

In other cases, the demand was for KML files (with XML-like structure). These are defining with lines and icons and inspections, which will form the KML file to be opened by Google Earth.

In both cases, the display will preselection environment specified dates and search, and this will in all databases, including tables "Other". You can choose through the form of Figure 3.7.8.a.

Las órdenes SQL son:
The SQL commands are:


SELECT * FROM BD-Suelos WHERE FECHA>[fecha inicial] AND FECHA<[fecha final]
SELECT * FROM BD-Densidad WHERE FECHA>[fecha inicial] AND FECHA<[fecha final]
SELECT * FROM BD-Hormigon WHERE FECHA>[fecha inicial] AND FECHA<[fecha final]
SELECT * FROM BD-Aglomerado WHERE FECHA>[fecha inicial] AND FECHA<[fecha final]
SELECT * FROM BD-Otros WHERE FECHA>[fecha inicial] AND FECHA<[fecha final]

A este conjunto de órdenes también se les podría haber unido con la inclusión del comando JOINT
El texto que se vaya generando de incorporas estas consulta se incluye dentro de las variables: Tutto_DXF(i). Tutto_DXF(i).Y y Tutto_DXF(i).Texto . Paso previo a la composición del DXF (o KML).

This set of commands also could have joined them with the inclusion of JOINT command
The text that is generated to incorporate these consultation is included in the variables: Tutto_DXF (i). Tutto_DXF (i) .and and Tutto_DXF (i) .Text. Prior to the composition of DXF (or KML) Paso.
Figura 3.7.8.a: Preselección del conjunto de bases de datos que integrarán la consulta y el entorno
Figure 3.7.8.a: Preset set of databases that integrate the query and environment
Figura 3.7.8.b: Detalle de la inspección/ensayo detallado y colocado en las coordenadas reales
Figure 3.7.8.b: Detail of the detailed inspection / testing and placed in the actual coordinates
Al fichero DXF generado, figura 3.7.8.b, se le pueden integrar por referencia los planos del trazado, figura 3.7.8.c, (o a la inversa) y el resultado definitivo es este:
Al DXF file generated, figure 3.7.8.b, you can incorporate by reference the layout drawings, Figure 3.7.8.c (or vice versa) and the final result is this:
Figura 3.7.8.c: Unión del archivo anterior (azul) a la traza de la obra
Figure 3.7.8.c: Union of the previous file (blue) to the trace of the work
Para la creación del archivo KML las reglas son iguales en cuanto a la lectura, la diferencia es la composición de la cadena cuyo resultado debe ser:
To create the KML file rules are equal in reading, the difference is the composition of the string whose result should be:
Figura 3.7.8.d: Visualización del fichero KML
Figure 3.7.8.d: Viewing the KML file

3.8.- RESULTADOS FINALES / FINAL RESULTS


El resultado final es un sistema de información geográfica que:


  • Lee los datos topográficos directamente.
  • Lee los datos de ensayos desde tablas que igualmente serían necesarias de realizar por el propio sistema de calidad.
  • Interactúa con el resto de información si ésta está guardada coherentemente con el archivo maestro a modo de gestor documental georefenciado o no.

No se puede hablar de un lenguaje de programación utilizado sino de un variopinto sistema de programación variado. Para la solución local se ha programado en Visual Basic (con subrutinas en C). Para la versión web, la programación base es en PHP, (con llamadas a comandos del S.O. y otros programas en C), presentado en HTML  con scripts de javascript y AJAX.

La salida de información es por pantalla, impresora (informes) y archivos (pdf, tablas, dxf y kml).

Entre todos estos sistemas existe completa compatibilidad ya que los datos son leídos de igual manera independientemente del programa que vaya a acceder a ellos, esto permite que el acceso pueda ser directo, en red, a través de ftp, o incluso más recientemente, he creado un sistema satélite en el que algunas obras, debido a su relevancia, disponen de su servidor propio y el acceso es tutorado por el servidor principal. De esta manera la información es siempre actual y accesible.

En la figura 3.8, se ha incluido un diagrama de flujo del proceso a modo de resumen metodológico de la solución de sistema de información geográfica propuesto en el presente artículo.


The end result is a system of geographical information that:
  • Read topographic data directly.
  • Read test data from tables that also would be required to perform the quality system itself.
  • Interact with other information if it is filed coherently with the master file as a document manager georefenciado or not.

You can not speak of a programming language used but a motley system varied programming. For local solution is programmed in Visual Basic (with subroutines in C). For web version, based programming in PHP (with calls to OS commands and other programs in C), presented in HTML with javascript and AJAX scripts.

The output information is on screen, printer (reports) and files (pdf, tables, dxf and kml).

Among all these systems there is full support since the data are read in the same way regardless of the program to be accessed, this allows access can be direct, networked via ftp, or even more recently, I've created a satellite system in which some works because of its relevance, have their own server and access is tutored by the master server. This way the information is always current and accessible.

In Figure 3.8, we have included a flow chart of the process as a methodological summary of the solution proposed in this thesis GIS.

Continuará ...
To be continued ...

domingo, 22 de febrero de 2015

Optimized GIS for linear projects XVIII (Consultas de inspecciones) / SIG optimizado para obras lineales XVIII (Inspection queries)

Previamente: / Previously:

Optimized GIS for linear projects XVII (Consultas 2)
SIG optimizado para obras lineales XVII (Queries 2)

Índice Index

1.- Introducción
   1.1.- Situación actual
   1.2.- Problemática detectada y justificación del trabajo
   1.3.- Objetivos
   1.4.- Estructura del estudio
2.- Estado del conocimiento
   2.1.- La topografía en la obra lineal
      2.1.1.- Elementos básicos de documentación topográfica
      2.1.2.- Composición de los elementos básicos del trazado
      2.1.3.- Software habitual para definición de trazados en obras lineales
   2.2.- Formatos de dibujo
      2.2.1.- El formato dxf
      2.2.2.- El formato vml
      2.2.3.- El formato svg
      2.2.4.- El formato dwg
   2.3.- La información documentada de obra
   2.4.- Sistemas de información geográfica
      2.4.1.- Revisión de programas de gis estándar
      2.4.2.- Revisión de programas de gis que no siguen los estándares
   2.5.- Tipos de lenguajes de programación
      2.5.1.- Lenguajes de bajo nivel
      2.5.2.- Lenguajes de nivel medio
      2.5.3.- Lenguajes de alto nivel
   2.6.- Tipos de bases de datos
      2.6.1.- Sql, la comunicación entre bases de datos relacionales
   2.7.- Los sistemas de representación gráfica tradicionales
   2.8.- Normativa aplicable
3.- Solución
   3.1.- Lectura de elementos topográficos: trazado y estructuras
      3.1.1.- Elementos topográficos del trazado: eje
      3.1.2.- Elementos topográficos del trazado: terreno
      3.1.3.- Elementos topográficos del trazado: plataforma
      3.1.4.- Elementos topográficos anejos al trazado: las estructuras
   3.2.- Lectura de bases de datos
      3.2.1.- Bases de datos de ensayos e inspección
         3.2.1.1.- Bases de datos de ensayos, suelos
         3.2.1.2.- Bases de datos de ensayos, densidades
         3.2.1.3.- Bases de datos de ensayos, mezclas bituminosas
         3.2.1.4.- Bases de datos de ensayos, hormigones
         3.2.1.5.- Bases de datos de inspección, control
         3.2.1.6.- Bases de datos de inspección, diario
         3.2.2.- Bases de datos extras
         3.2.2.1.- Bases de datos extras, fotos
         3.2.2.2.- Bases de datos extras, definición de estructuras
         3.2.2.3.- Bases de datos extras, definición de la capa de firme
         3.2.2.4.- Bases de datos extras, localización extra
    3.3.- El dibujo del trazado
        3.3.1.- El dibujo en planta
        3.3.2.- El dibujo en perspectiva
            3.3.2.1.- El dibujo con superficies planas
            3.3.2.2.- El dibujo en el navegador
    3.4.- La unión del trazado con las bases de datos
        3.4.1.- La unión de las estructuras al trazado
        3.4.2.- La unión de los ensayos de suelos al trazado
        3.4.3.- La unión de los ensayos de densidades al trazado
        3.4.4.- La unión de los ensayos de hormigones al trazado
        3.4.5.- La unión de los ensayos de firmes al trazado
        3.4.6.- La unión de los inspecciones de control al trazado
        3.4.7.- La unión del diario al trazado
        3.4.8.- La unión de la documentación fotográfica al trazado
    3.5.- La unión de la documentación y otras inspecciones
        3.5.1.- La unión pasiva
        3.5.2.- La unión activa
    3.6.- Base matemática novedosa utilizada
        3.6.1.- Pseudo-bases de datos
        3.6.2.- Redes de taylor multidimensionales
        3.6.3.- Sintegrales
    3.7.- Consultas a la información a través de formularios
        3.7.1.- Formularios de ensayos de suelos
        3.7.2.- Formularios de ensayos de densidades
        3.7.3.- Formularios de ensayos de hormigones
        3.7.4.- Formularios de ensayos de firmes
        3.7.5.- Formulario de inspecciones, control
        3.7.6.- Formulario de inspecciones, diario
        3.7.7.- Formulario de inspecciones, fotos
        3.7.8.- Formulario de seguimiento en dxf y kml
    3.8.- Resultados finales
4.- Conclusiones, futuras lineas de trabajo
5.- Bibliografía


3.7.5.- FORMULARIO DE INSPECCIONES, CONTROL / FORM OF INSPECTION, CONTROL


La selección y/o búsqueda de inspecciones son de forma intersectante. Es decir, que confluyan varias condiciones de búsqueda. Son una excelente ayuda a la hora de realizar informes parciales del estado de la obra, ya que no sólo se encuentra la información sino que al mismo tiempo se realiza la consulta y el informe, ahorrando gran cantidad de tiempo

The selection and / or search form inspections are intersecting. That is, they converge multiple search conditions. They are a great help when performing partial reports the status of the work, since not only information but is simultaneously the query and the report is made, saving considerable time
Figura 3.7.5 Diversas preselecciones de inspecciones en VB (derecha)  y PHP (izquierda)
Figure 3.7.5 Different presets inspections VB (right) and PHP (left)
El código para la versión de VB es el siguiente:

The code for the version of VB is:

Private Sub Inspecciones(Button As Integer, Shift As Integer, X As Single, Y As Single)
PT = DataControl.Recordset(5)
Printer.CurrentX = 7350 * Esc: Printer.CurrentY = 5820 * Esc: Printer.Print "Tipo"
Printer.CurrentX = 7050 * Esc: Printer.CurrentY = 6120 * Esc: Printer.Print "Inspección"
Printer.CurrentX = 8420 * Esc: Printer.CurrentY = 6000 * Esc: Printer.Print "Conforme"
Printer.CurrentX = 10100 * Esc: Printer.CurrentY = 5820 * Esc: Printer.Print "No"
Printer.CurrentX = 9700 * Esc: Printer.CurrentY = 6120 * Esc: Printer.Print "Conforme"
If MBus = "Todos" Or MBus = "" Then fechorr = "" Else fechorr = "/" + Format(MBus.ListIndex, "00") + "/"
If ABus <> "Todos" And MBus <> "" Then fechorr = fechorr + Right(CStr(ABus), 2)
feching = 0: Printer.CurrentY = 6400 * Esc: dossier = ""
Do
IJO = IJO + 1
Printer.CurrentX = 8420 * Esc: Pp = DataControl.Recordset(7)
If Pp Like "*" + fechorr + "*" Or fechorr = "" Then feching = 1
If Not IsNull(Pp) And Pp <> "-" Then Printer.Print Pp;
Printer.CurrentX = 9700 * Esc: Pp = DataControl.Recordset(8)
If Pp Like "*" + fechorr + "*" Or fechorr = "" Then feching = 1
If Not IsNull(Pp) And Pp <> "-" Then Printer.Print Pp;
Pp = DataControl.Recordset(9):
If Not IsNull(Pp) And Pp <> "-" Then dossier = dossier + Pp
DataControl.Recordset.MoveNext
Loop Until DataControl.Recordset.EOF

Printer.CurrentX = 1200 * Esc: Printer.CurrentY = 12900 * Esc: Printer.Print "Observaciones:"
Printer.CurrentY = 12900 * Esc: Tt = PrinterPinta(dossier, 1200 * Esc, 10800 * Esc)
If feching = 0 Then CBus.RemoveItem CBus.ListIndex
CabeceraPrincipal
End Sub


3.7.6.- FORMULARIO DE INSPECCIONES, DIARIO FORM OF INSPECTION DAILY

Con la misma finalidad que en el caso anterior se tramita el parte diario, sólo que el caso del parte diario se añade un resumen en forma de tabla como fase previa al acceso de datos. Figura 3.7.6.


With the same purpose as in the previous case the daily report is processed, only the case of daily portion is added a summary in tabular form as a preliminary to data access. Figure 3.7.6.


Figura 3.7.6: Previo a la selección del parte diario
Figure 3.7.6: Previous image to the selection of the daypart
Las subrutinas necesarias serían en PHP

The subroutines would be necessary in PHP:


<?php
import_request_variables("pg","f_");
$data->read($fichero);
function puntos_cm ($medida, $resolucion=72){return ($medida/(2.54))*$resolucion;}


//Aplicación de filtros
for ($i = 2; $i <= $data->hoja[0]['numRows']; $i++) {
$intermedio = $data->hoja[0]['cells'][$i][2];
if (($intermedio <> "") and ($pijo=="")){break;}
if (($intermedio == $Depas4) or ($intermedio==$pijo)){
if ($intermedio==$Depas4){
$FECHAX = date('d-m-y',($data->hoja[0]['cells'][$i][1]-25569)*24*3600);
$COf = $data->hoja[0]['cells'][$i][2];
$loni=strlen(trim($COf));
if ($loni<=1) {$COD = "05-01-000".$COf;}
if ($loni==2) {$COD = "05-01-00".$COf;}
if ($loni==3) {$COD = "05-01-0".$COf;}
if ($loni==4) {$COD = "05-01-".$COf;}
if ($loni>=5) {$COD = $Cof;}
$CLIMAX = $data->hoja[0]['cells'][$i][3];
$CLAVEX = $data->hoja[0]['cells'][$i][4];
}
$TPARTIDA[] = $data->hoja[0]['cells'][$i][5];
$UNIDAD[] = $data->hoja[0]['cells'][$i][6];
$MO[] = $data->hoja[0]['cells'][$i][7];
$ENCAR[] = $data->hoja[0]['cells'][$i][8];
$MQ[] = $data->hoja[0]['cells'][$i][9];
$MAT[] = $data->hoja[0]['cells'][$i][10];
$TRAMO[] = $data->hoja[0]['cells'][$i][11];
$OBS[] = $data->hoja[0]['cells'][$i][12];
}
}

//Fin de la aplicación de filtros

$pdf = new Cezpdf('a4','landscape');
$ej=0.3;$ha=-0.7;

========================================================================================// ENCABEZADO
========================================================================================$pdf->addJpegFromFile('/media/datos/datos/www/extra/logo2.jpg', puntos_cm(27), puntos_cm(0.7),puntos_cm
(2),puntos_cm(18.5));
$pdf->selectFont('/media/datos/datos/www/extra/fonts/Times-Roman');
$pdf->line(puntos_cm(0.9),puntos_cm(19.9),puntos_cm(25.5),puntos_cm(19.9));

… continúa con la definición de las líneas del encabezado

$pdf->addText(puntos_cm(16.6),puntos_cm(14.3),10,'MATERIALES EMPLEADOS');
$pdf->addText(puntos_cm(21.4),puntos_cm(14.3),10,'TRAMO Y/O SITUACIÓN');
$pdf->addText(puntos_cm(1.4),puntos_cm(4.0),10,'OBSERVACIONES:');

========================================================================================// fin ENCABEZADO y creación del INFORME DIARIO
========================================================================================$j=puntos_cm(13.5);$pdf->setLineStyle(0.5);
for ($i = 0;$i <= count($OBS); $i++) {
if (trim($TPARTIDA[$i].$UNIDAD[$i].$MO[$i].$ENCAR[$i].$MQ[$i].$MAT[$i].$TRAMO[$i])<>""){
$pdf->y=$j;$k=$j;
if ($j<140) {
$pdf->ezNewPage();
$j=puntos_cm(13.5);$pdf->setLineStyle(0.5);$pdf->y=$j;$k=$j;
}
$infus = array('aleft'=>puntos_cm(1),'aright'=>puntos_cm(3),'justification'=>'center');
$pdf->ezText($TPARTIDA[$i],8,$infus);
if ($pdf->y<$k) {$k=$pdf->y;}
$pdf->y=$j;
$infus = array('aleft'=>puntos_cm(3.3),'aright'=>puntos_cm(9.3),'justification'=>'left');
$pdf->ezText($UNIDAD[$i],8,$infus);
if ($pdf->y<$k) {$k=$pdf->y;}
$pdf->y=$j;
$infus = array('aleft'=>puntos_cm(9.6),'aright'=>puntos_cm(10.8),'justification'=>'center');
$pdf->ezText($MO[$i],8,$infus);
if ($pdf->y<$k) {$k=$pdf->y;}
$pdf->y=$j;
$infus = array('aleft'=>puntos_cm(11.1),'aright'=>puntos_cm(12.6),'justification'=>'center');
$pdf->ezText($ENCAR[$i],8,$infus);
if ($pdf->y<$k) {$k=$pdf->y;}
$pdf->y=$j;
$infus = array('aleft'=>puntos_cm(13.1),'aright'=>puntos_cm(16.4),'justification'=>'left');
$pdf->ezText($MQ[$i],8,$infus);
if ($pdf->y<$k) {$k=$pdf->y;}
$pdf->y=$j;
$infus = array('aleft'=>puntos_cm(16.6),'aright'=>puntos_cm(21),'justification'=>'left');
$pdf->ezText($MAT[$i],8,$infus);
if ($pdf->y<$k) {$k=$pdf->y;}
$pdf->y=$j;
$infus = array('aleft'=>puntos_cm(21.2),'aright'=>puntos_cm(25.2),'justification'=>'left');
$pdf->ezText($TRAMO[$i],8,$infus);
if ($pdf->y<$k) {$k=$pdf->y;}
$j=$k-2;
}
$infus = array('aleft'=>puntos_cm(1.4),'aright'=>puntos_cm(25.2),'justification'=>'left');
if (puntos_cm(3.6-($i-$ku)*0.30)>puntos_cm(1)) {
$pdf->y=puntos_cm(3.7-($i-$ku)*0.27);
$pdf->ezText($OBS[$i],8,$infus);
}
}
$documento_pdf = $pdf->ezOutput();
header('Content-type: application/pdf');
echo $documento_pdf;

?>


3.7.7.- FORMULARIO DE INSPECCIONES, FOTOS / FORM OF INSPECTION PHOTOS

La gestión de imágenes tiene una doble faceta. Por una parte la búsqueda rápida por conceptos de imágenes y por otra parte la generación de informes con la selección establecida perfectamente maquetada.

Para la búsqueda rápida se propone un sistema interactivo. Figuras 3.7.7.a.

Image management has a dual role. On the one hand quick search by concepts of images and moreover reporting to the selection set perfectly maquetada.


For quick search an interactive system is proposed. Figures 3.7.7.a.



Figura 3.7.7.a: Secuencias de la selección de imágenes VB (derecha) y PHP (izquierda)
Figure 3.7.7.a: Sequences image selection VB (right) and PHP (left)

Para la realización de informes se realiza el maquetado internamente desde el programa. Esto ayudará al ahorro de tiempo en la realización de estos informes fotográficos. Figura 3.7.7.b.

To perform the formated reports is performed internally by the program. This will help saving time in carrying out these photo reports. Figure 3.7.7.b.



Figura 3.7.7.b: Gestor e Informe de salida con formato de 6 imágenes por hoja
Figure 3.7.7.b: Manager and Report Output Format 6 images per sheet

Tanto la versión web como la de escritorio parte de la preselección de imágenes parten de un filtro. Este filtro (o condición de búsqueda) eliminará inicialmente los siguientes caracteres {. , + '  '} para evitar que fotografías denominadas PI pk 3+800, p.i. P.K 3 800, y otras posibilidades sean equivalentes. Además permitirá localizar por fechas {08/09 → todo septiembre del año 2.008} {08/09/12-08/10/25 → desde el 12 de septiembre del año 2.008 hasta el 25 de octubre de 2.008}.

Este filtro es el siguiente:

Both the web and the desktop version of the preset images are based on a filter. This filter (or search condition) initially removes the following characters {. , + '} To prevent photographs called PI 3 + 800 pk, pi PK 3800, and other possibilities are equivalent. It will also allow locating by date → {08/09 year around September 2008} {08/09 / 12-08 / 10/25 → since September 12 of the year 2008 until 25 October 2008}.


This filter is:


Function QuiraCaracteresSobrantes(ByVal TInicial As String) As String
QuiraCaracteresSobrantes = Replace(TInicial, ‘",", ":", ".", "-", "+", "/", "*", "[", "]", "{", "}", "#", "@", "~", "·", "#", "&", "¬"’,’’)
End Function

Sub CreaInformeFotos()
ListaFotos.Clear
If KeyCode = 13 Then ‘Cuando se de al <ENTER>

'preparación del nombre al filtro
Pp = QuiraCaracteresSobrantes(Texto_x)

'Inicio del filtro
If Pp Like "[0-9][0-9][0-9][0-9]" Then
Mes_x = Left(Texto_x, 2)
Ano_x = Right(Texto_x, 2)
For I = 1 To Ultima_Foto
Tt = Foto_Archivo(I)
Tt1 = Tt
nn = Right(Tt, 2): Tt = Left(Tt, Len(Tt) - 2)
dd = Right(Tt, 2): Tt = Left(Tt, Len(Tt) - 2)
mm = Right(Tt, 2): Tt = Left(Tt, Len(Tt) - 2)
aa = Format(Trim(Tt), "00"): Tt = Tt1
If Mes_x = mm And Ano_x = aa Then
k = k + 1
Escoje_Foto(k) = I
Text3.AddItem "[" & nn & "]" & aa & "/" & mm & "/" & dd & ":" + Foto_Texto(I)
End If
Next I
Else
For I = 1 To Ultima_Foto
ConjuntoFotos = QuiraCaracteresSobrantes(Foto_Texto(I))
If ConjuntoFotos Like "*" & Pp & "*" Or UCase(Foto_Texto(I)) Like "*" & Pp Then
k = k + 1
Escoje_Foto(k) = I
Text3.AddItem Format(Foto_Archivo(I), "00000000") + ":" + Foto_Texto(I)
' Text3.AddItem Format(Foto_Archivo(i), "0000") + ".-" + Foto_Texto(i)
End If
Next I
End If
Corre_fotos.Max = k
UltimaFotoEscogida = k
If k = 0 Then Text2 = "- - -" Else Text3.SetFocus
Exit Sub

3.7.8.- FORMULARIO DE SEGUIMIENTO, EN DXF Y KML / MONITORING FORM IN DXF and KML

En ocasiones las demandas de las direcciones de obra llegan al punto de querer ver en un plano de papel las inspecciones que ya se han visto en la pantalla con lo que no queda más remedio que programar la salida no por la pantalla sino con el formato DXF. Como ya se viera en el apartado 2.1.1. dentro del bloque ENTITIES del fichero.

Para ello crearemos 3 bloques. El inicial hasta el bloque ENTITIES, el propio bloque ENTITIES y desde este al final. El primero y el último se dejan fijos y el intermedio se crea hasta formar el archivo DXF completo:

Sometimes the demands of work management reach the point of wanting to see in a paper plane inspections already seen on screen with no choice but to program the output no screen but with the DXF format . As you saw in section 2.1.1. ENTITIES block within the file.

To do this, create 3 blocks. The initial ENTITIES to block, block ENTITIES own and from this the end. The first and last are left fixed and the intermediate is created to form the complete DXF file:


Continuará ...
To be continued ...