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

Responder a