Ciao a tutti,
sapete dove posso trovare qualche esempio della sintassi necessaria per aggiungere un layer wfs ad una mappa creata con OpenLayers (direi OpenLayers.Layer.WFS)? dalla sezione "esempi" del sito di OpenLayers non sono riuscito ad accedere agli scripts sorgenti... grazie mille, Damiano Natali -- Damiano Natali mail [hidden email] skype damiano.natali _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
> dalla sezione "esempi" del sito di OpenLayers non sono riuscito ad accedere
> agli scripts sorgenti... http://openlayers.org/dev/examples/wfs-protocol-transactions.html in generale scegli gli esempi della versione di sviluppo, nella searchbox a sinistra scrivi wfs per filtrare gli esempi che ti interessano, scegline uno e con il tasto destro "view frame source". questo con chrome, con firefox dovrebbe essere simile, con ie.... chissenefrega di ie :) _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
Ciao a tutti!
Innanzitutto grazie a Stefano e Guido per le rapide risposte. Sono riuscito a visualizzare il codice sorgente degli esempi di OpenLayers, tuttavia il mio livello vettoriale non si vede ancora (sebbene nel layertree compaia, che è già qualcosa!). In particolare faccio riferimento all'esempio di Stefano, che mi è sembrato il più calzante: questo è il mio codice var stazioni_rdn = new OpenLayers.Layer.Vector("stazioni_rdn", { strategies: [new OpenLayers.Strategy.BBOX()], protocol: new OpenLayers.Protocol.WFS({ url: "http://localhost:8080/geoserver/wfs/", featureType: "stazioni_rdn", featureNS: "http://www.openplans.org/topp/" }) }); map.addLayer(stazioni_rdn); la cui mappa è definita come var map = new OpenLayers.Map('map', {controls:[ new OpenLayers.Control.Navigation(), new OpenLayers.Control.PanZoomBar(), new OpenLayers.Control.LayerSwitcher({'ascending':false}), new OpenLayers.Control.ScaleLine({bottomOutUnits:'',bottomInUnits:'',maxWidth:300}), new OpenLayers.Control.OverviewMap({ autoPan:true, size: new OpenLayers.Size(250, 120), maxRatio:40, minRatio:15, minRectSize:17}), new OpenLayers.Control.KeyboardDefaults()], projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:4326"), maxExtent:bounds, maxResolution:10, minResolution:1, numZoomLevels:6 }); ma nonostante ciò non si vede nulla...sapete mica darmi qualche indicazione? in particolare sapete dirmi dove trovare indicazioni su cosa definiscano i parametri del constructor OpenLayers.Layer.Vector - strategies - protocol (compreso featureNS)? perchè sulla documentazioe di OpenLayers non sono riuscito a trovare molto! grazie ancora, Damiano -- Damiano Natali mail [hidden email]
skype damiano.natali _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
> Sono riuscito a visualizzare il codice sorgente degli esempi di OpenLayers,
> tuttavia il mio livello vettoriale non si vede ancora (sebbene nel layertree > compaia, che è già qualcosa!). a naso direi che è un problema di proxy: http://trac.osgeo.org/openlayers/wiki/FrequentlyAskedQuestions#ProxyHost le richieste WFS, come tutte le richieste dati, non possono essere crossdomain, ovvero per farla breve se chiedi i dati a geoserver all'indirizzo "localhost:8080", necessariamene la tua pagina deve essere pubblicata da quel dominio e porta. prova a far pubblicare la pagina da geoserver (magari piazzala dentro webapps\geoserver\sample) e vedi se funziona. in ogni caso se l'errore è questo, la console di firebug ti mostrerebbe l'errore... _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
> le richieste WFS, come tutte le richieste dati, non possono essere
> crossdomain, ovvero per farla breve se chiedi i dati a geoserver > all'indirizzo "localhost:8080", necessariamene la tua pagina deve > essere pubblicata da quel dominio e porta. > prova a far pubblicare la pagina da geoserver (magari piazzala dentro > webapps\geoserver\sample) e vedi se funziona. > in ogni caso se l'errore è questo, la console di firebug ti > mostrerebbe l'errore... questo purtroppo non è vero, quasi tutti i browser si limitano ad ignorare la richiesta (o comunque firebug a me non mostrava niente). Comunque copio e incollo dalle FAQ di OL: Q: Why isn't WFS working on my local checkout of OpenLayers? A: This is probably because you do not have a proxy host set up. See FrequentlyAskedQuestions#ProxyHost Q: I'm trying to use WFS, why won't my vector data show up? A: Try not setting the featureClass property when declaring your WFS layer. Q: Why do I need a ProxyHost? A: Due to security restrictions in Javascript, it is not possible to retrieve information from remote domains via an XMLHttpRequest. Classes like WFS and GeoRSS use XMLHTTPRequest to get their data. If they are querying a remote server (anything other than the machine hosting your page), you must install a proxy script somewhere web accessible on that machine. See below for how to set up your own ProxyHost. If the OpenLayers.ProxyHost variable is not set to a valid proxy host, requests are sent directly to the remote servers. In most cases, the result will be a security exception, although this exception often occurs silently. Q: How do I set up a ProxyHost? An example proxy host script is available here: trunk/openlayers/examples/proxy.cgi For the standard Apache configuration, you would place proxy.cgi into your /usr/lib/cgi-bin/ directory. Once a proxy host script has been installed, you must then edit the OpenLayers.ProxyHost variable to match that URL. Given the above standard Apache configuration: OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url="; If you have done something like this, you should be able to visit: http://YourDomain.example.com/cgi-bin/proxy.cgi The resulting content at that page should be the openlayers.org website. If you get a 404 error instead, either the proxy script is not in the right location, or your webserver is not configured correctly. _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
In reply to this post by D_Guidi
Ciao a tutti,
grazie nuovamente a Guido per l'aiuto, purtroppo ancora niente:(... Dunque quello che ho fatto è stato: - installare lo script "proxy.cgi" nella cartella dei cgi-bin: se poi mi collego a http://localhost/cgi-bin/proxy.cgi vedo la home page di OpenLayers, anche se sformattata e non vedo alcune cose come la mappa del mondo (potrebbe essere un problema?) - copiare la mia pagina all'interno di geoserver (/home/damiano/sito/geoserver/webapps/geoserver/samples/rdn) ma ancora niente, quando vado alla pagina http://localhost:8080/geoserver/samples/rdn/mappa.php ottengo tutti gli altri layer meno il vettoriale che mi interessa, definito così: var stazioni_rdn = new OpenLayers.Layer.Vector("stazioni_rdn", { strategies: [new OpenLayers.Strategy.BBOX()], protocol: new OpenLayers.Protocol.WFS({ url: "http://localhost:8080/geoserver/wfs/", featureType: "stazioni_rdn", featureNS: "http://www.openplans.org/topp/" }) }); Se può aiutare, per prova sono andato alla pagina http://localhost:8080/geoserver/wfs/ e quello che ho ottenuto è stato il seguente messaggio: <ows:ExceptionReport version="1.0.0" xsi:schemaLocation="http://www.opengis.net/ows http://localhost:8080/geoserver/schemas/ows/1.0.0/owsExceptionReport.xsd"> − <ows:Exception exceptionCode="MissingParameterValue" locator="request"> − <ows:ExceptionText> Could not determine geoserver request from http request GET /geoserver/wfs/ HTTP/1.1 Host: localhost:8080 User-Agent: Mozilla/5.0 (X11; U; Linux i686; it; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.04 (lucid) Firefox/3.6.13 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: it-it,it;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Cookie: JSESSIONID=um4sfkhm4swh </ows:ExceptionText> </ows:Exception> </ows:ExceptionReport> Mentre collegandomi alla pagina http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=cite:stazioni_rdn&styles=&bbox=770394.328,4234504.102,2604289.431,6300983.125&width=454&height=512&srs=EPSG:900913&format=application/openlayers posso vedere ed interrogare correttamente la mappa. Qualcuno saprebbe mica darmi un consiglio sul da farsi? grazie ancora, Damiano Il giorno 18 febbraio 2011 18:27, Diego Guidi <[hidden email]> ha scritto:
-- Damiano Natali mail [hidden email] skype damiano.natali _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
> Se può aiutare, per prova sono andato alla pagina
> http://localhost:8080/geoserver/wfs/ e quello che ho ottenuto è stato il > seguente messaggio: prova ad andare nella home del tuo openlayers, nella sezione layers/preview dovresti vedere i tuoi layers, compreso quello che vuoi pubblicare come WFS. Di fianco c'è una label che ti permette di fare richieste sia di tipo WMS che WFS, in modo da poter essere sicuro che il layer in WFS funzioni (e che magari non ci sia un errore di dati o di altri tipo). _______________________________________________ Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione [hidden email] http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss Questa e' una lista di discussione pubblica aperta a tutti. Non inviate messaggi commerciali. I messaggi di questa lista non rispecchiano necessariamente le posizioni dell'Associazione GFOSS.it. 502 iscritti all'11.2.2011 |
Free forum by Nabble | Edit this page |