TU ANUNCIO / YOUR PUBLICITY

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

lunes, 16 de febrero de 2015

Optimized GIS for linear projects XV (Pseudo-databases) / SIG optimizado para obras lineales XV (Pseudo-bases de datos)

Previamente: / Previously:

Optimized GIS for linear projects XIV (The union between of then documentation and other inspeccions)
 SIG optimizado para obras lineales XIV (La unión de la documentación y otras inspecciones)

Í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.6.1.- PSEUDO-BASES DE DATOS PSEUDO-DATABASES


Planteamiento del problema

En el mundo de la programación actual las bases de datos son el motor principal de múltiples aplicaciones y la tendencia es que todo este inmerso en torno a ellas. La idea surge, por ejemplo, con el control de la documentación. En este caso por muy buena que tengamos referenciada una base de datos a un conjunto de documentos, estos acaban en un directorio, o árbol de directorios y se acaban buscando con las funcionalidades típicas de cualquier explorador de archivos.

Problem

In the world of current programming databases are the main driver of multiple applications and the trend is that all this immersed around them. The idea arises, for example, control of the documentation. In this case however good that we referenced a database to a set of documents, they end up in a directory or directory tree and just looking to typical features of any file browser.



Figura 3.6.1.a: Típicos diálogos del explorador de archivos de Windows.
Figure 3.6.1.a: Typical dialogs Windows file explorer.
Valoración de la efectividad Assessment of the effectiveness

Las motivos que nos hacen pensar en la efectividad real de una base de datos son los siguientes:

- La subida de datos
- El número de datos
- El manejo de datos
- Las soluciones que muestran.

The reasons that make us think about the actual effectiveness of a database are:

- The rise of data
- The number of data
- Data management
- The solutions show.

La subida de datos / The data upload

Una base de datos se alimenta desde un formulario similar a la figura 3.6.1.b.

A database is fed from a similar form to Figure 3.6.1.b.


Figura 3.6.1.b: Esquema del formulario típico de entrada de datos
Figure 3.6.1.b: Schematic of typical data entry form
Se enviaría el archivo 12345678.xyz, “Descripción” y el servidor guardaría los datos en una tabla:

12345678.xyz send the file "Description" and the server would keep the data in a table:



Si se deseara dividir en tramos la obra, cada tramo en unidades de ejecución y su localización:

If you wish to divide the work into sections, each section in units of execution and location:




La pregunta difícil es saber cuantos campos más harían falta, el nombre del eje, el pk, las coordenadas. Por otra parte nunca se podría estar seguro de que no se necesitara en un futuro otro campo más, con el consiguiente trastorno de volver a editar la tabla con los documentos ya editados.

El número de archivos que finalmente complementan una obra suele estar en torno a los 20.000 (como por ejemplo el tramo de Abeledo-Regovide de la A-8). El tiempo requerido para tal operación dándole tres minutos a cada archivo (ya que hay que contar también el tiempo de subida de la línea de Internet) sería de unos 60.000 minutos ó 1.000 horas ó 125 días, medio año laboral, sin parar y sin cometer errores ni necesitar revisiones ni actualizaciones. Si el cálculo fuera económico se estaría hablando de 10.000 a 20.000€.

The difficult question is to know how many more would be needed, the axis name, the pk, the coordinates fields. Moreover it could never be sure not needed in the future another field, resulting disorder re-edit the table with the already published documents.

The number of files that ultimately complement a work is generally around 20,000 (such as Abeledo-Regovide stretch of the A-8). The time required for such an operation giving three minutes each file (as it must also have the rise time line Internet) would be about 60,000 minutes or 1,000 hours or 125 days, average working year, nonstop and without committing errors or require revisions or updates. If the outside economic calculation would be talking about 10,000 to 20,000 €.


El número de datos / The number of data

Una base de datos es útil cuando el número de datos es elevado. En nuestro caso anterior 20.000 no es un número grande. Generalmente se hacen bases de datos cuando estas superan los 20 valores ¿por qué?

Si es cierto que para el tema de consultas el tiempo de respuesta es muy corto incluso con un número muy grande de datos, pero como ya se verá en el siguiente apartado el tiempo de respuesta de una u otra manera no es tan diferente.

Como colofón diremos que para aplicaciones como la facturación de empresas como Telefónica , movimientos bancarios, contabilidad de medianas y grandes empresas, Hacienda, etc, que manejan grandes bloques de datos (nunca archivos) una base de datos bien estructurada es inevitable pero para la mayoría de las aplicaciones de acceso a Internet la ventaja no es tal.

Por otra parte la experiencia te dicta que aunque se tome la determinación del uso de bases de datos se termina buscando con el buscador de archivos.

A database is useful when the number of data is high. In our case above 20,000 is not a large number. Databases are usually made when these values exceed 20 why?

If it is true that the subject of consultation response time is very short even with a very large number of data, but as we shall see in the next section the response time of one form or another is not so different.

The culmination say that for applications such as billing companies like Telefonica, bank statements, accounting medium and large companies, Finance, etc, that handle large data blocks (never files) base well structured data is inevitable but for most applications Internet access is no such advantage.

Moreover you experience dictates that while the determination of the use of databases is taken looking ends with file browser.

El manejo de los datos / The data management

El diagrama de flujo, figura 3.6.1.c, con una base de datos es de la siguiente forma:

The flowchart, Figure 3.6.1.c with a database is as follows:



Figura 3.6.1.c: Esquema de bases de datos tradicionales
Figure 3.6.1.c: Schematic of traditional databases

Sin embargo el diagrama de flujo, figura 3.6.1.d, con una pseudos-base de datos es de la forma: However the flowchart, Figure 3.6.1.d with a pseudo-database is of the form:


Figura 3.6.1.d: Esquema de una pseudos-base de datos
Figure 3.6.1.d: Outline of a pseudo-database
Al comparar  tiempos: When comparing times:

t1 >> t1’: Siempre será mas rápido mandar la información en bloque que uno por uno.
t2 = t2’ : si se transmiten los mismos kB.
t2 >> t2’: si por cada fichero hay que realizar una verificación de la transmisión.
t3 = t3’ : se guardan los mismos kB.

t4 = t4’ : se emite la misma consulta.
t5 = t5’ : se transmite la misma consulta.
t6 < t6’ : Realizar una consulta a una BD debe tardar menos que comprobar uno a uno una matriz de datos que tengamos que rehacer en cada momento y comparar. Lo que ocurre es que si realizáramos un consulta del tipo “Todas las fotos de la estructura PI 3+695” una base de datos tardaría 0’01s en definir una lista de estas fotos de entre 2.000. si leyéramos el directorio, y fuéramos una a una creando una matriz con las fotos que incluyeran “PI 3+695” en su nombre se tarda unos 0,1s (si el número de fotos es de unas 2.000). Aquí se comprueba que es grande en bases de datos. Si el número de fotos fuera de 20.000 la base de datos seleccionaría en 0,1s y nuestro sistema tardaría unos 1s. (Ambos sistemas son lineales en las búsquedas).
t7 = t7’ : se devuelven los mismos datos.

 t1 >> t1 ': Always be faster send the information in block one by one.
t2 = t2 ': whether they are transmitted kB.
t2 = t2 ': if for each file there is a verification of the transmission.
t3 = t3 ': same kB saved.

t4 = t4 ': the same query is issued.
t5 = t5 ': transmitting the same query.
t6 < t6 ': Ask a question to a BD should take less than one to one check a data matrix we have to redo every moment and compare. What happens is that if we were making one query such as "All Photos of IP 3 + 695 structure" a database would take 0'01s to define a list of these photos from 2000. if we read the book, and we were one to one creating a matrix with the photos included "PI 3 + 695" in its name takes about 0.1s (if the number of photos is 2,000). Here is found that is large databases. If the number of photos out of 20,000 would select the database in 0.1s and our system will take about 1s. (Both systems are linear in searches).
t7 = t7 ': the same data is returned.

Soluciones aportadas /solutions provided

Una primera solución es utilizar el nombre como definición: en lugar de denominarse 12345678.xyz pasaría a tener un nombre más completo e identificativo, por ejemplo: 

080808 Detalle del hormigonado de la cimentación del estribo 2 de la estructura PI pk 3 220.jpg
O si se prefiere visualmente (figura 3.6.1.e).

A first solution is to use the name as a definition: for 12345678.xyz called happen to have a complet and identifying name, for example:

080808 Detail concreting of the foundation of the stirrup 2 pk PI structure 3 220.jpg

Or if you prefer visually (Figure 3.6.1.e).


Figura 3.6.1.e: texto identificativo
Figure 3.6.1.e: identifying text
En Windows se podrá utilizar el buscador normal y en Linux el comando Find/Grep.
080808 Detalle del hormigonado de la cimentación del estribo 2 de la estructura PI pk 3 220.jpg

En este momento el archivo maestro concebido inicialmente se convierte en un gestor documental de la obra.

Otra solución es el uso del buscador interno, en Windows sería a través del explorador buscando un palabra dentro del conjunto de archivos y en Linux (donde estaría alojada la aplicación web) a través del comando Grep. La aplicación web tendría el aspecto de la figura 3.6.1.f.

Can be used normal and Linux searching the Find / Grep command in Windows.
080808 Detail concreting of the foundation of the stirrup 2 pk PI structure 3 220.jpg

At this time the master file initially conceived becomes a document manager of the work.


Another solution is to use the internal search engine on Windows would be through the browser looking for a word within the set of files and Linux (which would be hosted web application) through the Grep command. The web application would look like the figure 3.6.1.f.



Figura 3.6.1.f: presentación de las búsquedas del gestor documental
Figure 3.6.1.f: presentation of search Document Management
Y el código: / And the code:


<?php
import_request_variables("pg","f_");
$paz="/media/datos/datos/general/OC/archivo/".$f_accion;
$loca="grep -ir -e '$f_buscador' '$paz' > /tmp/BuscaArchivos.txt";

//Esta es la base, busca los archivos y los coloca en un archivo temporal denominado BuscaArchivos.txt
$loco=system($loca);

//Después sólo queda leer cada uno de los apuntes
$fich='/tmp/BuscaArchivos.txt'; $gestor=fopen($fich,'r');
while(!feof($gestor)){
$fichero=str_replace("$f_accion/","",str_replace(" matches","",str_replace("Binary file
","",str_replace("/media/datos/datos/general/OC/archivo/","",trim(fgets($gestor,1024))))));
$archi=basename($fichero);
if (strpos($fichero,':')>1 or strpos($fichero,'.png')>1) {$nada=0;}
else {$n_archivo[]=$archi;$d_archivo[]=str_replace("/$archi","",$fichero);}}
fclose($gestor);
function traduce($esto){$otro=$esto;
if (ereg("=",$esto)){
$busca=array("=?ISO-8859-1?Q?","=?iso-8859-1?
Q?","_","=C1","=C9","=CD","=D3","=DA","=BA","=AA","=D1","=E1","=E9","=ED","=F3","=FA","=F1","?
=","=B4","=2C","=20");
$reemp=array("",""," ","Á","É","Í","Ó","Ú","º","ª","Ñ","á","é","í","ó","ú","ñ","","'",","," ");
$otro=str_replace($busca,$reemp,$esto); }
return htmlentities(utf8_decode($otro));}
function parte ($texto2,$dodo){$empiezo=substr($texto2,0,$dodo);$n=strrpos($empiezo, " ");return $n;}
function aprieta($texto1){$texto=" ".$texto1;
do{$dod=parte($texto,45); $u[]=substr($texto,0,$dod); $texto=trim(substr($texto,$dod+1));}while(strlen
($texto)>45);
$text2=$u[0];
for ($i=1;$i<count($u);$i++){$text2=$text2.chr(13).chr(10).$u[$i];}
$text2=$text2.chr(13).chr(10).$texto;return $text2;}
?>
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />
<html>
<title>Gestor documental de obras civiles</title>
<style>td{font-size:14px;}</style>
<body style="background-color:#dddddd">
<table>
<tr><td colspan="2"><h1 align="center">Gestor documental de obras civiles</h1></td></tr>
<tr><td colspan="2"><h2 align="center"><? echo "Grupo: ".$mande ?></h2></td></tr>
<tr><td colspan="2"><h3 align="center">Buscar: <input type="text" id="idbusca"><input type="button"
value="Buscar" onclick="buscaarchivo()"</h2></td></tr>
<tr>
<td align="center" style="background-color:#bbbbff;">Grupos</td>
<td align="center" style="background-color:#ffccbb;">Elementos</td>
</tr>
<?php
for ($i=0;$i<count($n_archivo);$i++){$elementa=str_replace($f_accion,"",$d_archivo[$i]);$elemento=
$n_archivo[$i];
echo '<tr><td style="background-color:#cdcdff; border:1px solid #ffff88; text-align:left;"
onclick="llama('."'".utf8_encode(rawurlencode('/'.$elementa))."'".')" onmouseover="enfoca(this)"
onmouseout="desenfoca(this)">'.trim(aprieta($elementa)).'
</td><td colspan="4" onmouseover="enfoca(this)" onmouseout="desenfoca2(this)" onclick="llama2
('."'".utf8_encode(rawurlencode($elementa."/".$elemento))."'".')">'.traduce(str_replace('.eml','',
$elemento)).'</b></td></tr>';
}
?>

</table></body></html>

El archivo temporal denominado BuscaArchivos.txt tiene esta forma:
The temporary file named BuscaArchivos.txt looks like this:

Binary file /media/datos/datos/general/OC/archivo/Remoto/17711-illa/Informes/Seguimiento cuantitativo
(mediciones)/Valorada/arosa.xls matches
Binary file /media/datos/datos/general/OC/archivo/Remoto/17711-illa/Informes/Seguimiento cuantitativo
(mediciones)/Mediciones/0906 Mediciones.xls matches
Binary file /media/datos/datos/general/OC/archivo/Remoto/17711-illa/Informes/Seguimiento cuantitativo
(mediciones)/Mediciones/1008 Ray/medición agosto a origen.xls matches
Binary file /media/datos/datos/general/OC/archivo/Remoto/17711-illa/Informes/Seguimiento cuantitativo
(mediciones)/Mediciones/1001 Mediciones.xls matches
Binary file /media/datos/datos/general/OC/archivo/Remoto/17711-illa/Informes/Seguimiento cuantitativo
(mediciones)/Mediciones/0908 Mediciones y valorada.xls matches
[..]

Este apartado enlaza con el 3.5.1. La unión pasiva
This paragraph refers to the 3.5.1. Passive union


3.6.2.- REDES DE TAYLOR MULTI-DIMENSIONALESNETWORK MULTI-DIMENSIONAL TAYLOR

Véase / See: http://carreteras-laser-escaner.blogspot.com/2014/09/taylor-n-dimensional-nets-redes-de.html


3.6.3.- SINTEGRALES / SINTEGRALS

Véase / See: http://carreteras-laser-escaner.blogspot.com/2014/09/special-math-used-to-our-programming.html



********** SALIDA DE INFORMACIÓN / OUT INFORMATION**********



3.7.- CONSULTAS A LA INFORMACIÓN A TRAVES DE FORMULARIOS / QUERIES TO INFORMATION THROUGH FORMS


Es muy habitual que aparte de la visualización y el accesos a datos directamente desde el trazado sea necesario la realización de consultas e informes varios relativos desde estas bases de datos para ello se crean los siguientes entornos visuales de diálogo

It is very common for consultations and reports from several on these databases to do besides visualization and data access directly from the layout needed the following dialog visual environments are created


Continuará ...
To be continued ...

No hay comentarios:

Publicar un comentario