[Gfoss] openlayer+postgis...la resa dei conti
beppe
beppenapo a gmail.com
Ven 27 Nov 2009 00:22:37 CET
Noto con vero piacere che, dopo il mio accorato appello, molta gente si
è mossa a compassione ... scherzi a parte ringrazio tutti!
Grazie al vostro aiuto, openlayer continua a non volere stampare 'sto
dannato layer, ma almeno ho fatto grossi passi in avanti:
1.OpenLayer visualizza la porzione giusta di territorio (basta Africa,
Corsica o Nuova Zelanda!)
2. il mapfile è stato configurato in maniera (spero) corretta usando
EPSG:4326, ed ora riesco "addirittura" a visualizzarlo in qgis (usando
il plugin "MapFile tool").
3. le chiamate getcapabilities e getfeature restituiscono valori "quasi"
corretti
Problemi:
1. il "quasi" è riferito alla sezione "featuretype" della chiamata
getcapabilities, che mi da strani valori sul bounding box (credo!)
<FeatureType>
<Name>confini_com</Name>
<Title>confini_com</Title>
<SRS>EPSG:4326</SRS>
<LatLongBoundingBox minx="-2.5e+07" miny="-2.5e+07" maxx="2.5e+07"
maxy="2.5e+07"/>
</FeatureType>
se nel map file cambio il valore dell'epsg del layer postgis da 4326
(quello impostato da me) a 3003 (quello "originale" del layer), la bb mi
stampa:
<LatLongBoundingBox minx="-163.828" miny="-1.1161e+13" maxx="155.081"
maxy="1.1161e+13"/>
ma la chiamata getfeature genera:
<gml:boundedBy>
<gml:null>missing</gml:null>
</gml:boundedBy>
</wfs:FeatureCollection>
2. Se imposto epsg:4326 come proiezione generale del mapfile e richiamo
mapserver con "mode=map" mi da pagina bianca, se invece uso epsg:3003
stampa correttamente il layer ma addio getcapabilities e getfeature.
3. In ogni caso, qualsiasi magheggio io provi, openlayer non funge
Ho la sensazione che ci sia un problema di riproiezione che, tanto per
cambiare, mi sfugge!!!
Vi posto il map file e il pezzo di codice di openlayer...sentitevi
liberi di mandarmi in @§£& ... io mi sono già offeso abbastanza!
-beppe-
------------mapfile---------------
MAP
NAME "Progetto prova"
EXTENT #-205201.65625 5738005 -189123.625 5763243.5
653890.824038 5121367.412500 673982.300962 5139410.087500
PROJECTION
"init=epsg:4326"
END
SIZE 800 600
SHAPEPATH "."
IMAGETYPE aggpng24
WEB
METADATA
wfs_title "Progetto prova"
wfs_onlineresource "http://localhost/vervo_data/ol_prove/map.map&"
#wfs_srs "EPSG:4326 EPSG:900913 EPSG:3003"
wfs_srs "EPSG:4326"
END
END
OUTPUTFORMAT
NAME "aggpng24"
DRIVER "AGG/PNG"
IMAGEMODE RGB
END
LAYER
NAME 'confini_com'
TYPE POLYGON
CONNECTIONTYPE postgis
CONNECTION "dbname='vervo' host=localhost port=5432 user='beppe'
password='xxxxxxx'"
DATA 'confini_com FROM public.dati_amm_terr using unique
"id_dati_amm" using SRID=3003'
PROJECTION
"init=epsg:3003"
END
DUMP TRUE
METADATA
"wfs_title" "confini_com"
"wfs_featureid" "id_dati_amm"
END
CLASS
NAME 'confini_com'
STYLE
SYMBOL 0
SIZE 2
OUTLINECOLOR 0 0 0
COLOR 11 54 104
END
END
END
END
---------------openlayer-------------------
var lat=46.231
var lon=11.232
var zoom=10
var map;
function init() {
map = new OpenLayers.Map ("map", {
controls:[
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.LayerSwitcher(),
new OpenLayers.Control.Permalink(),
new OpenLayers.Control.MousePosition(),
new OpenLayers.Control.Attribution()],
maxExtent: new
OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34),
maxResolution: 156543.0399,
numZoomLevels: 19,
units: 'm',
projection: new OpenLayers.Projection("EPSG:4326"),
//displayProjection: new OpenLayers.Projection("EPSG:4326")
} );
layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
map.addLayer(layerMapnik);
var wfs = new OpenLayers.Layer.WFS("Comuni",
"http://localhost/cgi-bin/mapserv?map=/var/www/vervo_data/ol_prove/map.map&",
{ typename: 'confini_com'});
map.addLayer(wfs);
var lonLat = new OpenLayers.LonLat(lon, lat).transform(new
OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
map.setCenter (lonLat, zoom);
}
Maggiori informazioni sulla lista
Gfoss