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 <[email protected]>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 ([email protected] > ) > Para cambiar tu suscripción: > http://www.postgresql.org/mailpref/pgsql-es-ayuda > -- José Mercedes Venegas Acevedo cel: Mov. 949808846 mails: [email protected] [email protected] PHP Spanish Docs translator member. http://www.php.net/manual/es/index.php
