Re: numerar con correlativo desde 1 a n a resultado de consulta

From: "jvenegasperu (dot)" <jvenegasperu(at)gmail(dot)com>
To: "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: numerar con correlativo desde 1 a n a resultado de consulta
Date: 2014-04-15 13:47:29
Message-ID: CA+KjtGc=mr0nBbt5oe_tjFcb6qmRDO-f+0htWpj7nd+06t9imw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Guillermo buenos dias

tienes razon el ultimo registro deberia decir 3 por el cambio de sector
estoy revisando la funcion window solo estoy logrando numerar
correlativamente y lo que necesito es colocar el numero por cada cambio de
sector

sector mz numero
0901 mz1 1
0901 mz2 1
0901 mz3 1

0902 mz1 2
0902 mz2 2
0903 mz3 3

El 15 de abril de 2014, 7:27, Guillermo E. Villanueva <
guillermovil(at)gmail(dot)com> escribió:

> José buen día, no manejo nada de gis pero solo comento: tu ejemplo creo
> que tiene un error no? el último registro tiene cambio de sector y el
> número sigue siendo 2.
> En caso de que así sea, esto es lo que estás necesitando:
> http://www.postgresql.org/docs/9.1/static/tutorial-window.html
> Saludos
>
> Guillermo Villanueva
>
>
>
> El 13 de abril de 2014, 1:01, jvenegasperu . <jvenegasperu(at)gmail(dot)com>escribió:
>
> Estimado Victor
>>
>> gracias por tu interes si entiendo tu consulta localizas un area
>> geografica por el perimetro lo cual esta muy bueno sin embargo respecto a
>> lo siguiente:
>>
>>
>> >pero veo que estas usando un conjuntos de campos alfanuméricos
>> (nomenclatura catastral) para determinar un lugar geográfico, y ademas
>> >tenes un campo verdaderamente geográfico. El problema con esto es que
>> dependes de que quien manipule los datos, lo hiciera siempre >estrictamente
>> bien. Si por ejemplo alguien se equivoca y pone 0901 en lugar de poner 0902
>> cuando imprimas el pdf del numero 1 tendrias >agregado algo que esta solo y
>> lejos como si fuera una isla, un polígono posiblemente asilado del resto, y
>> cuando imprimas el 2 tendrias un >hueco.
>>
>> tienes toda la razon podria tener una isla o un hueco en la cartografia
>> mi caso funciona asi el usuario por ejemplo dibuja un area geografica con
>> quantum gis. yo simplemente he puesto un trigger dentro de la base de datos
>> para que automaticamente por ejemplo un conjunto de manzanas se codifiquen
>> para pertenecer al sector que dibujo el usuario de esa forma se evita la
>> isla o el hueco en la cartografia porque la codificacion se hace en funcion
>> a las geometrias afectadas.
>>
>> Con lo cual se logra como dices que esten estrictamente bien
>> codificadas,de hecho se puede realizar la mayoria de operaciones desde el
>> lado espacial sin embargo la información de mi sistema debo migrarla
>> tambien a un sistema oracle que necesita alguna forma de identificación
>> para corresponder con la parte espacial por eso agrego la codificacion de
>> esa forma.
>>
>> Ahora Quantum Gis es capaz de generar los planos a manera de atlas de
>> manera automatica por esa razon si se puede lograr la numeración que
>> mencione los planos se obtendrian con un par de clics sin preocuparse por
>> el encuadre o centrado porque eso se hace automatico ya lo he probado
>> varias veces de hecho cuando necesito planos de diferentes lugares yo lleno
>> la numeración manualmente y listo.
>>
>> Comentarte por ejemplo que tener el plano de los 800 grupos poblacionales
>> que tiene la ciudad para un tematico x se puede tener listos en unos 3 a 5
>> minutos y yo creo que un computador mas potente podria ser hasta menos
>> tiempo.
>>
>> claro sin contar que previamente yo hago la numeración que explique
>> inicialmente la cual me toma aproximadamente unos 30 minutos de trabajo
>> realizando los scripts para numerar manualmente directamente en el pgadmin.
>>
>> por esa razon estoy interesado en poder armar esta función que numere
>> cada cambio de un campo de una consulta dada.
>>
>> ya que tengo un sistema en web para consultar tambien.
>>
>> pensaba armar una especie almacen de consultas que el usuario realiza.en
>> la parte web y poner una opcion que diga preparar planos, cuando le de clic
>> a esa opcion el sistema realizaria la numeracion interna para esa consulta
>> que armo el usuario y luego desde quantum gis tendria sus planos listos en
>> una pasada.
>>
>> esa es mi idea Victor espero podamos seguir comentando estos temas ya que
>> no he tenido mucho contacto con desarrolladores en postgis
>>
>> saludos a todos y espero no los estemos aburriendo con tanta verborragia
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> El 12 de abril de 2014, 11:25, Victor Hugo Roumieu <vhr273(at)gmail(dot)com>escribió:
>>
>> Hola gentes del foro. Estimado Jose, no se si te comprendo y si te puedo
>>> ayudar, pero veo que estas usando un conjuntos de campos alfanuméricos
>>> (nomenclatura catastral) para determinar un lugar geográfico, y ademas
>>> tenes un campo verdaderamente geográfico. El problema con esto es que
>>> dependes de que quien manipule los datos, lo hiciera siempre estrictamente
>>> bien. Si por ejemplo alguien se equivoca y pone 0901 en lugar de poner 0902
>>> cuando imprimas el pdf del numero 1 tendrias agregado algo que esta solo y
>>> lejos como si fuera una isla, un polígono posiblemente asilado del resto, y
>>> cuando imprimas el 2 tendrias un hueco.
>>>
>>> Siendo asi en tu caso bien podrias hacer vistas basandote unicamente en
>>> el dato espacial, para ello debieras primer hacerte una tabla con los
>>> sectores que quieres graficar, deberian tener los poligonos que marcan el
>>> perímetro de la zonas, por ejemplo localidades, barrios, sectores, chacras,
>>> quintas, etc. Luego en la vista haces un join entre las dos tablas con las
>>> generosas funciones que postgis te da para sql.
>>>
>>> Un caso de mi base real que es similar creo q lo tuyo es el siguiente:
>>>
>>> create view aux.mapa1_de_calles as
>>> select trim(cllagr.nombre) as nombre, max(cllagr.gid) as gid, st_union(
>>> cllagr.cll )::geometry as cll_geom
>>> from (select ncl.*,st_intersection( ncl.the_geom,ctstro.mapa_tematico_perimetro(
>>> 7 )) as cll
>>> from gis.nomencladorcalles ncl
>>> where ncl.the_geom&&ST_buffer(ctstro.mapa_tematico_perimetro( 7
>>> ),1) and (ncl.nombre is not null)
>>> order by ST_PointN(the_geom,1) desc) as cllagr
>>> group by 1;
>>>
>>> Donde ctstro.mapa_tematico_perimetro( 7 ) es un pl-sql que me retorna
>>> un perímetro.
>>> Obvio podrias hacer que el sector 7 fuera un parametro, o hacer un
>>> procedimiento o materializar la vista, etc. infinitas posibilidades
>>>
>>> Finalmente como informático viejo que piensa en modo relacional,
>>> (deformación profesional) arranco a arreglar las cosas con sql.
>>> Es posible por ello esto no te sirva, pero prefiero usar las muchas
>>> funciones que te dan los cartuchos espaciales de los motores grandes
>>> (postgres-orcale-db2) para resolver lo mas posible, antes de que entre en
>>> las herramientas finales com qgis, geoserver, gv-gis etc, ya que sino, no
>>> hay diferencia entre usar un terrible motor como postgres-postgis, con un
>>> simple sahpe (dbf)
>>>
>>> Saludos
>>> vhr
>>>
>>> -
>>> Enviado a la lista de correo pgsql-es-ayuda (
>>> pgsql-es-ayuda(at)postgresql(dot)org)
>>> Para cambiar tu suscripción:
>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>>
>>
>>
>>
>> --
>> José Mercedes Venegas Acevedo
>> cel: Mov. 949808846
>>
>> mails: jvenegasperu(at)php(dot)net
>> jvenegasperu(at)gmail(dot)com
>>
>> PHP Spanish Docs translator member.
>> http://www.php.net/manual/es/index.php
>>
>
>

--
José Mercedes Venegas Acevedo
cel: Mov. 949808846

mails: jvenegasperu(at)php(dot)net
jvenegasperu(at)gmail(dot)com

PHP Spanish Docs translator member.
http://www.php.net/manual/es/index.php

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Gaona 2014-04-15 14:21:44 Numero de filas estimadas mayor al número de filas de la tabla.
Previous Message Guillermo E. Villanueva 2014-04-15 12:27:12 Re: numerar con correlativo desde 1 a n a resultado de consulta