Космоснимки API, Openlayers, Mapserver
Добавлено: 18 дек 2013, 13:45
Добрый день, у меня вопрос, состоящий из нескольких вопросов.
Я для реализации в web-геосервисе основного слоя карты я использую OpenstreetMap и карту космоснимков, поверх нужно наложить данные со спутникового прибора, но не получается объединить в один работающий пример всё это. Вот js-код:
Т.е. есть слои OSM, Космоснимки и слой Mapserver-a.
Вот содержимое map-файла:
Какие сейчас проблемы: между слоями OSM и Космоснимков заметна раздница в виде смещения объектов относительно друг-друга.
Mapserver-й слой не отображается, хотя если отключить два других слоя то отображается.
Подскажите, пожалуйста, где у меня ошибки.
Заранее большое спасибо!
Я для реализации в web-геосервисе основного слоя карты я использую OpenstreetMap и карту космоснимков, поверх нужно наложить данные со спутникового прибора, но не получается объединить в один работающий пример всё это. Вот js-код:
Код: Выделить всё
var map, layer;
function init(){
var mod07temperature = "http://localhost/cgi-bin/mapserv?map=/home/diver/geolocal/maps/altai.map&layer=prod&mode=map";
map = new OpenLayers.Map({
div: "map",
allOverlays: true
});
layer = new OpenLayers.Layer.OSM( "Simple OSM Map");
var oam = new OpenLayers.Layer.XYZ(
"Express Base",
"http://maps.kosmosnimki.ru/TileService.ashx?Request=gettile&layerName=04C9E7CE82C34172910ACDBF8F1DF49A&apikey=L5VW1QBBHJ&z=${z}&x=${x}&y=${y}",
{
sphericalMercator: true,
isBaseLayer: true,
visibility: false,
}
);
var mod07temperature = new OpenLayers.Layer.MapServer("Temperature",
temperature,
{ layers: 'image',
format: 'png24',
sphericalMercator: true,
visibility: false
});
map.addLayer(layer);
map.addLayer(oam);
map.addLayer(temperature);
map.setCenter(
new OpenLayers.LonLat(82.6167, 52.7667).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
), 11
);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.Permalink());
map.addControl(new OpenLayers.Control.MousePosition());
}
Т.е. есть слои OSM, Космоснимки и слой Mapserver-a.
Вот содержимое map-файла:
Код: Выделить всё
FONTSET "./fonts/fonts.list"
SYMBOLSET './symbols/symbols35.sym'
OUTPUTFORMAT
NAME pnggd
DRIVER "GD/PNG"
MIMETYPE "image/png"
#IMAGEMODE PC256
EXTENSION "png24"
END
WEB
TEMPLATE '/home/geolocal/example/templates/template1.html'
IMAGEPATH '/home/geolocal/maps/images/'
IMAGEURL '/maps/images/'
# WMS server settings
METADATA
'ows_title' 'QGIS-MAP'
'ows_onlineresource' 'http://localhost/cgi-bin/mapserv?map=/home/diver/geolocal/map/data/temp.map'
'ows_srs' 'WGS84'
END
END
LAYER
NAME 'prod'
TYPE RASTER
DUMP true
#TEMPLATE fooOnlyForWMSGetFeatureInfo
#EXTENT 62.2289530630876442 49.9969740071353286 120.0024212413648002 59.9999999949999889
#DATA "/home/diver/geolocal/mod072.tif"
DATA "/home/diver/geolocal/data/tiff/234.tif"
STATUS ON
TYPE RASTER
PROJECTION
'proj=sphericalMercator'
'datum=WGS84'
'no_defs'
END
PROCESSING "RESAMPLE=AVERAGE"
PROCESSING "RESAMPLE=BILINEAR"
PROCESSING "NODATA=0"
PROCESSING "SCALE=AUTO"
PROCESSING "SCALE_BUCKETS=256"
PROCESSING "DITHER=YES"
OFFSITE 71 74 65
TRANSPARENCY 100
OPACITY 100
END
END
Mapserver-й слой не отображается, хотя если отключить два других слоя то отображается.
Подскажите, пожалуйста, где у меня ошибки.
Заранее большое спасибо!