NextGIS WMS & Openlayers
-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
NextGIS WMS & Openlayers
Здравствуйте.
Проблема такая: Сделали NextGIS WMS-сервис на внутреннем сервере. Дали все права без паролей. Хотим открыть с помощью Openlayers – розовые тайлы.
Забили пару других адресов (ОСГЕО, ВСЕГЕИ) – от них всё читается. Меняем адрес на наш – не пашет. Проверили АркГИС-ом – сервис работает. Запрос на Capabilities тоже говорит, что всё шевелится.
В чём может быть проблема?
Проблема такая: Сделали NextGIS WMS-сервис на внутреннем сервере. Дали все права без паролей. Хотим открыть с помощью Openlayers – розовые тайлы.
Забили пару других адресов (ОСГЕО, ВСЕГЕИ) – от них всё читается. Меняем адрес на наш – не пашет. Проверили АркГИС-ом – сервис работает. Запрос на Capabilities тоже говорит, что всё шевелится.
В чём может быть проблема?
Жизнь - это эксперимент, поставленный на себе.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: NextGIS WMS & Openlayers
Если не сложно - сделайте пример, например, на jsfiddle или codepen. Ну или хотя бы просто код приложите.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
Re: NextGIS WMS & Openlayers
Если имеется ввиду код html-страницы, то вот он:
Код: Выделить всё
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>PSV OpenLayers + WMS Example</title>
<link href="theme/default/style.css" rel="stylesheet" type="text/css" />
<link href="css/Main.css" rel="stylesheet" type="text/css" />
<script src="js/OpenLayers.js"></script>
<script type="text/javascript">
var lon = 76.5; // center
var lat = 54; // center
var zoom = 5; //scale
var map, layer;
var esv_wms_url = "http://192.168.1.63:6543/api/resource/35/wms?";
function init(){
var options = {
minResolution: "auto",
maxResolution: "auto",
maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
// maxExtent: new OpenLayers.Bounds(60,48,80,132),
// projection:"EPSG: 3857", // 4326",
units: 'm',
numZoomLevels: 20
};
var raster_ovrl_opt = {
opacity: 0.7,
visibility: false,
isBaseLayer: false,
metadata: 'RASTER_OVERLAY'
};
map = new OpenLayers.Map("map", options );
layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic', isBaseLayer: true} );
map.addLayer(layer);
layer = new OpenLayers.Layer.WMS( "VSEGEI OneGeology WMS",
"http://wms.vsegei.ru/VSEGEI_Bedrock_geology/wms?",
{layers: 'RU_1M_BLS_N4344'} ,raster_ovrl_opt, {wrapDateLine: true} );
map.addLayer(layer);
layer = new OpenLayers.Layer.WMS( "setka_1000_WMS",
esv_wms_url, {layers: 'setka_1000_000'},{visibility: false,isBaseLayer: false} );
map.addLayer(layer);
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.addControl(new OpenLayers.Control.PanZoomBar());
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.addControl(new OpenLayers.Control.MousePosition());
} // end init
</script>
</head>
<body onload="init()">
<h1 id="title">OpenLayers + WMS Example</h1>
<p id="shortdesc">
OpenLayers + WMS Example.
</p>
<div id="map" ></div>
<!-- <div id="layerswitcher" class="olControlLayerSwitcher"></div> -->
</body>
</html>
Жизнь - это эксперимент, поставленный на себе.
-
- Гуру
- Сообщения: 1195
- Зарегистрирован: 23 апр 2011, 10:32
- Репутация: 205
- Откуда: Ульяновск
Re: NextGIS WMS & Openlayers
Вряд ли это причина проблемы, но всё же у вас Земля в пару соток 360м х 180м
Код: Выделить всё
new OpenLayers.Bounds(-180, -90, 180, 90),
units: 'm',
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: NextGIS WMS & Openlayers
Это принципиально - использовать устаревшую и неподдерживаемую более версию OpenLayers?
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
Re: NextGIS WMS & Openlayers
Нет, конечно. Еще один человек с этим разбирается, у него последняя, но с таким же результатом.
Но, если нужно, обновлю.
Но, если нужно, обновлю.
Жизнь - это эксперимент, поставленный на себе.
-
- Участник
- Сообщения: 94
- Зарегистрирован: 05 июл 2010, 07:58
- Репутация: 0
Re: NextGIS WMS & Openlayers
В общем, обновился. Сделал аналогичный пример. Результат такой же: другие WMS открываются, а наш - нет. Html c OpenLayers дает ошибку:"Failed to load resource: the server responded with a status of 500 (Internal Server Error)". При этом АркГИС (10,5) все-таки грузит с нашего сервиса все слои, кроме тех, у которых нет разрешений.
Неудобно, что в новом OL нет розовых тайлов - сразу непонятно - долго грузится или не грузит вообще.
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://openlayers.org/en/v4.6.5/css/ol.css" type="text/css">
<style>
.map {
height: 400px;
width: 100%;
}
</style>
<script src="https://openlayers.org/en/v4.6.5/build/ol.js" type="text/javascript"></script>
</head>
<body>
<h2>Single Image WMS example</h2>
<div id="map" class="map"></div>
<script type="text/javascript">
var layers = [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
new ol.layer.Image({
source: new ol.source.ImageWMS({
url: 'http://wms.vsegei.ru/VSEGEI_Bedrock_geology/wms',
params: {'LAYERS': 'RU_1M_BLS_N4344'},
})
}),
new ol.layer.Image({
source: new ol.source.ImageWMS({
url: 'http://192.168.1.63:6543/api/resource/35/wms',
params: {'LAYERS': 'setka_1000_000'},
serverType: 'qgis'
})
})
];
var map = new ol.Map({
layers: layers,
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([93.5, 54.5]),
zoom: 4
})
});
</script>
</body>
</html>
Неудобно, что в новом OL нет розовых тайлов - сразу непонятно - долго грузится или не грузит вообще.
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://openlayers.org/en/v4.6.5/css/ol.css" type="text/css">
<style>
.map {
height: 400px;
width: 100%;
}
</style>
<script src="https://openlayers.org/en/v4.6.5/build/ol.js" type="text/javascript"></script>
</head>
<body>
<h2>Single Image WMS example</h2>
<div id="map" class="map"></div>
<script type="text/javascript">
var layers = [
new ol.layer.Tile({
source: new ol.source.OSM()
}),
new ol.layer.Image({
source: new ol.source.ImageWMS({
url: 'http://wms.vsegei.ru/VSEGEI_Bedrock_geology/wms',
params: {'LAYERS': 'RU_1M_BLS_N4344'},
})
}),
new ol.layer.Image({
source: new ol.source.ImageWMS({
url: 'http://192.168.1.63:6543/api/resource/35/wms',
params: {'LAYERS': 'setka_1000_000'},
serverType: 'qgis'
})
})
];
var map = new ol.Map({
layers: layers,
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([93.5, 54.5]),
zoom: 4
})
});
</script>
</body>
</html>
Жизнь - это эксперимент, поставленный на себе.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя