[Gfoss] grid poligonale su raster

marcello marcellone nasoblu5 a yahoo.it
Dom 28 Feb 2010 12:46:42 CET


--- Dom 28/2/10, Zucchini Antonio <zucchiniantonio a yahoo.it> ha scritto:
IOvviamente parlo sempre di dato vettoriale per il postgis, per il qgis
non ho capito come rendere trasparente il fill perchè se metto tutto
trasparente sopra il raster sotto non appare in ogni caso,

avevo già capito che dovevo rendere trasparente solo il fill e non il
contorno ma non trovo in qgis l'opzione adatta.



Per la tabella di parametri di grid la utilizzo per generare
dinamicamente delle grid vettoriale partendo da parametri che possono
essere anche definiti dall'utente finale (i ricercatori) che nula sanno e nulla vogliono sapere dei dettagli implementativi del
modello logico e di archittetura del GIS.



Riporto un esempio di script di generazione:



INSERT 
INTO   delphis.grids
      (parameter
      ,lon_index
      ,lat_index
      ,quota_index
      ,lon_south_west
      ,lat_south_west
      ,quota_south_west
      ,lon_south_east
      ,lat_south_east
      ,quota_south_east
      ,lon_north_east
      ,lat_north_east
      ,quota_north_east
      ,lon_north_west
      ,lat_north_west
      ,quota_north_west
      ,polygon_utm_wgs84
      )
SELECT polygrid.parameter
      ,lon_index
      ,lat_index
      ,0                                                 as quota_index
      ,lon_south_west      + (lon_index-1) * cell_length as lon_sw
      ,lat_south_west      + (lat_index-1) * cell_length as lat_sw 
      ,quota_south_west    + 0                           as quota_sw
      ,lon_south_east      + (lon_index-1) * cell_length as lon_se
      ,lat_south_east      + (lat_index-1) * cell_length as lat_se
      ,quota_south_east    + 0                           as quota_se
      ,lon_north_east      + (lon_index-1) * cell_length as lon_ne
      ,lat_north_east      + (lat_index-1) * cell_length as lon_ne
      ,quota_north_east    + 0                           as quota_ne 
      ,lon_north_west      + (lon_index-1) * cell_length as lon_nw 
      ,lat_north_west      + (lat_index-1) * cell_length as lat_nw
      ,quota_north_west    + 0                           as quota_nw   
      ,ST_TRANSLATE(cell,(lon_index-1) * cell_length , (lat_index-1) * cell_length, 0)            as grid_element
FROM
(
SELECT parameter
      ,GENERATE_SERIES(1,cells_side+1) as lon_index
FROM   delphis.parameters_grid
WHERE  COALESCE(status_grid,'NOBUILT') = 'NOBUILT' 
)      lon_series,
(
SELECT parameter
      ,GENERATE_SERIES(1,cells_side+1) as lat_index
FROM   delphis.parameters_grid
WHERE  COALESCE(status_grid,'NOBUILT') = 'NOBUILT' 
)      lat_series,
(
SELECT parameter
      ,cell_length
      ,cells_side
      ,low_corner_lon             as lon_south_west
      ,low_corner_lat             as lat_south_west
      ,low_corner_quota           as quota_south_west
      ,low_corner_lon             as lon_south_east
      ,low_corner_lat+cell_length as lat_south_east
      ,low_corner_quota           as quota_south_east
      ,low_corner_lon+cell_length as lon_north_east
      ,low_corner_lat+cell_length as lat_north_east
      ,low_corner_quota           as quota_north_east
      ,low_corner_lon+cell_length as lon_north_west
      ,low_corner_lat             as lat_north_west
      ,low_corner_quota           as quota_north_west
      ,srid
      ,ST_MAKEPOLYGON(
                      ST_MAKELINE(
                                  ARRAY[ST_SETSRID(ST_MAKEPOINT(low_corner_lon            ,low_corner_lat            ,low_corner_quota),srid)::geometry
                                       ,ST_SETSRID(ST_MAKEPOINT(low_corner_lon            ,low_corner_lat+cell_length,low_corner_quota),srid)::geometry
                                       ,ST_SETSRID(ST_MAKEPOINT(low_corner_lon+cell_length,low_corner_lat+cell_length,low_corner_quota),srid)::geometry
                                       ,ST_SETSRID(ST_MAKEPOINT(low_corner_lon+cell_length,low_corner_lat            ,low_corner_quota),srid)::geometry
                                       ,ST_SETSRID(ST_MAKEPOINT(low_corner_lon            ,low_corner_lat            ,low_corner_quota),srid)::geometry
                                       ]
                                 )
                     ) as cell
FROM   delphis.parameters_grid pg
WHERE  COALESCE(status_grid,'NOBUILT') = 'NOBUILT' 
ORDER
BY     cell_length
      ,parameter
)      polygrid 
WHERE  lat_series.parameter = polygrid.parameter
AND    lon_series.parameter = polygrid.parameter
ORDER
BY     cell_length
      ,polygrid.parameter
      ,lon_index
      ,lat_index;
update delphis.grids set polygon_wgs84    = st_transform(polygon_utm_wgs84,4326);      
update delphis.grids set polygon_utm_ed50 = st_transform(polygon_utm_wgs84,23033);
update delphis.parameters_grid 
set    status_grid                        = 'BUILT' 
where  coalesce(status_grid,'NOBUILT')    = 'NOBUILT';
commit;


 



      
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.faunalia.it/pipermail/gfoss/attachments/20100228/a3d3c779/attachment.htm>


Maggiori informazioni sulla lista Gfoss