[Gfoss] openlayers + postgis

beppe beppenapo a gmail.com
Mer 25 Nov 2009 18:20:57 CET


Provo e riprovo...inutilmente!
Ho letto millemila post/thread/pdf/blog e altre diavolerie; Sulla
mailing list di openlayers c'è chi dice addirittura che la gestione
dell'epsg 3003 non è supportata dal nostro OL!!!
Ho provato ad aggirare l'ostacolo passando da geoserver, ma anche lì è
stato un fallimento!
Una considerazione: ma se openlayer è il futuro del webmapping (lo penso
davvero) e postgis è "leader nel settore", perché è così difficile
pubblicare anche solo un livello?
Ricapitolo per chi si fosse messo in ascolto solo ora e abbia a cuore la
mia salute mentale:
ho una tabella postgis MULTIPOINT, 2d, srid 3003. Mi piacerebbe
pubblicarla con openlayer...dove potrebbe essere l'inghippo? Io non sono
in grado, evidentemente, di vederlo...ogni consiglio è ben accetto,
anche di smettere con l'informatica ;)

Grazie mille 

-beppe-

Il giorno ven, 20/11/2009 alle 20.04 +0100, beppe ha scritto:
> Faccio un passo indietro:
> > Se il tuo layer non si vede potrebbero esserci dei problemi non 
> > di proiezione, ma proprio di layer. Prova a caricare il WFS in 
> > Qgis, oppure con il brower fai delle richieste GetCapabilities e 
> > GetFeature (vedi sempre gli esempi su 
> > http://www.rigacci.org/openlayers/).
> > 
> Credo proprio che il problema sia "a monte".
> Ho seguito le tue indicazioni ed effettivamente mi sono reso conto che,
> forse, il problema non è di open layers.
> 
> 1. Qgis carica tranquillamente la tabella postgis
> 
> 2. Facendo la seguente richiesta al browser, l'immagine viene stampata
> correttamente:
> http://localhost/cgi-bin/mapserv?map=/var/www/mtsc-2.1/config/default/map.map&layer=confini_com&mode=map
> 
> 3. GetCapabilities mi da un file xml "vuoto" ovvero senza nessun dato su
> bbox, latlon o srs ecc.
> 
> 4. GetFeature mi da il seguente errore: "msWFSGetFeature(): WFS server
> error. TYPENAME 'confini_com' doesn't exist in this server.  Please
> check the capabilities and reformulate your request."
> 
> 5. Ho guardato il tuo mapfile, ho notato che come proiezione generale
> hai usato l'epsg 900913. Ho provato a cambiare il mio mapfile sulla
> falsariga del tuo mettendo come proiezione generale epsg:900913, come
> proiezione del layer (originariamente in epsg:3003) la 4326, ma ho un
> errore: "msProcessProjection(): Projection library error. no options
> found in 'init' file". In calce vi posto il mapfile.
> 
> 6. Giustamente mi fai notare che se la proiezione nativa di OL e la
> 900913, l'extent deve essere nelle coordinate giuste...domanda stupida:
> come recupero l'extent in epsg:900913? Da OpenStreetMap recupero
> longitudine e latitudine e qgis (uso la versione 1.3) non supporta la
> 900913 (ho provato a vedere sul sito di spatial reference, dove danno
> "gli estremi" della proiezione[1]...ammetto di non aver controllato se
> la proiezione è supportata da postgis, eventualmente devo inserirla?).
> 
> 7. Devo agire in qualche modo sulla tabella di Postgis?
> 
> Grazie mille per l'aiuto, è abbastanza importante per me riuscire
> risolvere questo problema!
> 
> -beppe-
> 
> [1] http://spatialreference.org/ref/sr-org/6627/
> 
> ------------mapfile-------------------
> MAP
> NAME "Vervò"
> EXTENT  653890.824038 5121367.412500 673982.300962 5139410.087500 
> UNITS meters
> SIZE 600 500
> SHAPEPATH "../../../mtsc_data"
> SYMBOLSET "../common/symbols/symbols-pmapper.sym"   
> FONTSET "../common/fonts/msfontset.txt" 
> RESOLUTION 96
> IMAGETYPE png
> INTERLACE OFF
> "init=epsg:900913"
> END  
> 
> WEB
>   TEMPLATE "map.html"
>   IMAGEPATH "/var/www/tmp/"
>   IMAGEURL "/tmp/"
>   METADATA
>     wfs_title          "Confini comunali"
>     wfs_onlineresource
> "http://localhost/cgi-bin/mapserv?map=/home/www/mtsc-2.1/config/default/map.map&"
>     wfs_srs            "EPSG:900913"
> 
>   END  # Metadata
> END  # Web 
> 
>   LAYER
>     NAME 'confini_com'
>     TYPE POLYGON
>     CONNECTIONTYPE postgis
>     CONNECTION "dbname='vervo' host=localhost port=5432 user='xxxxx'
> password='xxxxxx'"
>     DATA 'confini_com FROM public.dati_amm_terr using unique
> "id_dati_amm" using SRID=3003'
>     METADATA
>       'wms_title' 'dati_amm_terr'
>     END
>     STATUS DEFAULT
>     TRANSPARENCY 100
>     PROJECTION
>       "init=epsg:4326"
>     END
>     CLASS
>        NAME 'confini_com' 
>        STYLE
>          SYMBOL 0 
>          SIZE 2 
>          OUTLINECOLOR 0 0 0
>          COLOR 11 54 104
>        END
>     END
>   END #layer
> END #map



Maggiori informazioni sulla lista Gfoss