This is an old revision of the document!
Table of Contents
OpenLayers, ricette e trucchi
Layer supportati da OpenLayers
OSM | OpenStreetMap, l'uso di questo layer richiede il caricamento di OpenLayers.js . Gestisce le tile, il caricamento asincrono e la proiezione EPSG:900913. |
---|---|
Markers | Visualizza delle icone, è possibile attivare un pop-up al click sull'icona. Ogni feature può avere un'icona diversa. I marker vengono aggiunti o rimossi da programma. |
Text | Del tutto simile al Marker , ma carica le feature, i nomi delle icone e il contenuto del pop-up da un file di testo. Carica il layer una sola volta, per aggiornarne il contenuto bisogna svuotarlo e forzare la funzione loadText() . |
GeoRSS | Carica un elenco di features da un file XML, ogni feature viene mostrata con un simbolo eventualmente personalizzto con un uno stile. Lo stile può dipendere dagli attributi della singola feature, non può essere un'icona bitmap. Carica il file .xml una sola volta, per aggiornarne il contenuto bisogna svuotarlo e forzare la funzione loadRSSt() . |
Vector | Carica una gemoetria con un dato protocollo (es. HTTP) in un dato formato (es. GPX, GML, KML, ecc). La vestizione può essere fatta con uno stile, non si possono usare icone bitmap. Il file viene caricato con un protocollo specificato (es. HTTP) e con delle strategie specificate (ad esempio al variare della bounding box). La strategia BBOX fa uso di richieste XMLHttpRequest per caricare nuovi dati in modo asincrono, al cambiare della bounding box. Per forzare l'aggiornamento da programma si modifica l'URL di origine con setUrl() aggiungendo un parametro univoco (ad esempio un t=timestamp ), in tal modo si invalida la cache. |
KML | Layer vettoriale. Supporta diverse strategie di caricamento, in generale si richiede via HTTP e può essere circoscritto alla BBOX inquadrata in quel momento. I vari attributi inclusi nello standandard KML possono essere utilizzati da OpenLayers per definire lo stile, ecc. |
WFS | |
TMS |
Esempi:
var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik (updated weekly)");
var markers = new OpenLayers.Layer.Markers("Markers");
var pois = new OpenLayers.Layer.Text("My Points", { location:"./textfile.txt", projection: map.displayProjection });
var track_style = new OpenLayers.Style(); track_style.strokeColor = "#6636e1"; track_style.strokeWidth = 7; track_style.strokeOpacity = 0.7; var object_trk = new OpenLayers.Layer.GML("GPX Track", "track.gpx", { format: OpenLayers.Format.GPX, style: track_style, projection: map.displayProjection}); map.addLayer(object_trk);
var gsat = new OpenLayers.Layer.Google( "Google Satellite", {type: G_SATELLITE_MAP, numZoomLevels: 20});
Using Blue Marble imagery with OpenLayers
Raster datasets from NASA
Several imagery sets exists from NASA, among them:
- Blue Marble next generation (1 pixel = 500×500 m)
- Land Sat 7 (1 pixel = 15×15 m)
The original Blue Marble images came from MODIS, the spectroradiometer aboard of Terra and Aqua satellites. Blue Marble Next Generation added more spatial resolution.
Blue Marble WMS Server
OnEarth WMS server by NASA offers a standard WMS service plus a “Tiled WMS” (prerendered tiles).
World Wind
World Wind is a software (open source but MS-Windows only) developed by NASA which allows to pan and zoom into several raster datasets offered by NASA servers. World Wind uses (among others) Blue Marble imagery.
The same imagery server can be used by other software, e.g. OpenLayers via the OpenLayers.Layer.WorldWind()
function.
Blue Marble WMS Tiled Server
This is an extension to the standard WMS protocol, the capabilities of such services are exposed at:
Some of the tags announced by the service are:
OnlineResource | Server prefix (http://...) |
---|---|
LatLonBoundingBox | Covered area |
width, height | Tile size |
format | Tile format () |
bbox | Tile coverage |
Name | |
Title | |
Abstract |
Overview mappa
Il rapporto di scala tra la mappa principale e l'overview fornita dall'oggetto OpenLayers.Control.OverviewMap()
è controllato dalle proprietà minRatio
e maxRatio
.
Per entrambi i valori si intende il rapporto overview_map_resolution / main_map_resolution
. Se la mappa è in metri la risoluzione si misura in metri/pixel.
Il valore di minRatio
deve essere minore di maxRatio
.
Se ad esempio si impostano i seguenti valori:
minRatio: 2.0 maxRatio: 10.0
il rettangolo che evidenzia l'estensione nella overview potrà variare dalla metà dell'estensione dell'overview fino a un decimo. Oltre questi limiti l'overview viene zoommata opportunamente.