GeoServer настройка
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Почему перестал работать макс зум? ) и Почему смотря эту группу слоев она отображаеться нормально плоско, а та же самая группа слове на карте не так лол...
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
trir хелп) 5 часов проблему не смогу решить что только не побывал уже. Сейчас пересоберу все быстро, может где ошибка
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Проблема, не решилась.
Смотри trir я подключаю wms локальный к qgis и там проблемы с приближением нет.
Смотри trir я подключаю wms локальный к qgis и там проблемы с приближением нет.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: GeoServer настройка
Если на карте отображаются объекты не так как вы ожидаете, значит клиент запрашивает данные не в той проекции. Вы подключаете слой в OpenLayers как WMS? Покажите пример запроса GetMap, который клиент отправляет серверу и все станет понятно.
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Спасибо за ответ Денис, буду рад если поможетеDenis Rykov писал(а):Если на карте отображаются объекты не так как вы ожидаете, значит клиент запрашивает данные не в той проекции. Вы подключаете слой в OpenLayers как WMS? Покажите пример запроса GetMap, который клиент отправляет серверу и все станет понятно.
Да я подключаю вот так, без параметров
Код: Выделить всё
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Vitiaz Example</title>
<script
src="http://openlayers.org/api/OpenLayers.js"></script>
</head>
<body>
<div style="width:100%; height:100%" id="map"></div>
<script defer="defer" type="text/javascript">
var map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://127.0.0.1:8080/geoserver/wms",
{layers: 'opmaps:vlad_styles'});
map.addLayers([wms]);
map.zoomToMaxExtent();
</script>
</body>
</html>
Код: Выделить всё
http://127.0.0.1:8080/geoserver/wms?LAYERS=opmaps%3Avlad_styles&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&FORMAT=image%2Fjpeg&SRS=EPSG%3A4326&BBOX=131.923828125,43.13232421875,131.93481445313,43.143310546875&WIDTH=256&HEIGHT=256" style="visibility: inherit; opacity: 1; position: absolute; left: 655px; top: 78px; width: 256px; height: 256px;
Я не совсем знаю где взять параметры гет.мап которые передает клиент серверу.
Скорее всего в логах сервера, вот этот кусок
2014-07-11 23:19:39,885 INFO [geoserver.wms] -
Request: getMap
Filters = null
Palette = null
BgColor = java.awt.Color[r=255,g=255,b=255]
Layers = [org.geoserver.wms.MapLayerInfo@f04bf9be]
Tiled = false
FeatureVersion = null
RemoteOwsType = null
FormatOptions = {}
RemoteOwsURL = null
SRS = EPSG:3857
Styles = [StyleImpl[ name=building-polygon]]
Bbox = SRSEnvelope[131.92215633732 : 131.92594070364, 43.116981496856 : 43.118574914252]
CQLFilter = null
ViewParams = null
Elevation = []
Angle = 0.0
Env = {}
StartIndex = null
Crs = PROJCS["WGS 84 / Pseudo-Mercator",
GEOGCS["WGS 84",
DATUM["World Geodetic System 1984",
SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH],
AUTHORITY["EPSG","4326"]],
PROJECTION["Popular Visualisation Pseudo Mercator", AUTHORITY["EPSG","1024"]],
PARAMETER["semi_minor", 6378137.0],
PARAMETER["latitude_of_origin", 0.0],
PARAMETER["central_meridian", 0.0],
PARAMETER["scale_factor", 1.0],
PARAMETER["false_easting", 0.0],
PARAMETER["false_northing", 0.0],
UNIT["m", 1.0],
AXIS["Easting", EAST],
AXIS["Northing", NORTH],
AUTHORITY["EPSG","3857"]]
FeatureId = null
ValidateSchema = false
TilesOrigin = null
MaxFeatures = null
Transparent = false
SldVersion = null
SldBody = null
Sld = null
Exceptions = SE_XML
Height = 800
Width = 1900
Filter = null
Time = []
Format = image/png
Buffer = 0
Request = GetMap
RawKvp = {BBOX=131.92215633732,43.116981496856,131.92594070364,43.118574914252, VERSION=1.1.1, FORMAT=image/png, SERVICE=WMS, HEIGHT=800, LAYERS=opmaps:building-polygon, REQUEST=GetMap, STYLES=, SRS=EPSG:3857, WIDTH=1900}
BaseUrl = http://127.0.0.1:8080/geoserver/
Get = true
RequestCharset = UTF-8
Version = 1.1.1
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Вот я обновил страницу и выловил лог
Из него я как понимаю видно что:
SRS=EPSG:4326 - Тоесть клиент заправшивает 4326 и его и получает?
Как заставить клиента запросить нужную мне?
И как можно отловить проблему с зумом?
Спасибо за помощь.
Код: Выделить всё
DATUM["World Geodetic System 1984",
SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH],
AUTHORITY["EPSG","4326"]]
FeatureId = null
ValidateSchema = false
TilesOrigin = null
MaxFeatures = null
Transparent = false
SldVersion = null
SldBody = null
Sld = null
Exceptions = SE_XML
Height = 256
Width = 256
Filter = null
Time = []
Format = image/jpeg
Buffer = 0
Request = GetMap
RawKvp = {BBOX=-90,0,0,90, VERSION=1.1.1, FORMAT=image/jpeg, SERVICE=WMS, HEIGHT=256, LAYERS=opmaps:vlad_styles, REQUEST=GetMap, STYLES=, SRS=EPSG:4326, WIDTH=256}
BaseUrl = http://127.0.0.1:8080/geoserver/
Get = true
RequestCharset = UTF-8
Version = 1.1.1
SRS=EPSG:4326 - Тоесть клиент заправшивает 4326 и его и получает?
Как заставить клиента запросить нужную мне?
И как можно отловить проблему с зумом?
Спасибо за помощь.
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Пробую вот так
"http://127.0.0.1:8080/geoserver/wms",
{layers: 'opmaps:vlad_styles', srs: 'EPSG:3857'});
Но пока все так-же, параметр не берется в строке SRS=EPSG:4326,
"http://127.0.0.1:8080/geoserver/wms",
{layers: 'opmaps:vlad_styles', srs: 'EPSG:3857'});
Но пока все так-же, параметр не берется в строке SRS=EPSG:4326,
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Сделал вот так:
В логах получаю запрос от клиента
Тоесть SRS=EPSG:3857 , тоесть параметр передался, но открывая карту я получаю
http://joxi.ru/O-O_UxjKTJAOVH-Nk-s
Тоесть так-же как и до этого, подскажите где я ошибаюсь, куда копать? )
Код: Выделить всё
<script defer="defer" type="text/javascript">
var map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://127.0.0.1:8080/geoserver/wms",
{layers: 'opmaps:vlad_styles'});
map.projection = "EPSG:3857";
map.addLayers([wms]);
map.zoomToMaxExtent();
</script>
Код: Выделить всё
AUTHORITY["EPSG","3857"]]
FeatureId = null
ValidateSchema = false
TilesOrigin = null
MaxFeatures = null
Transparent = false
SldVersion = null
SldBody = null
Sld = null
Exceptions = SE_XML
Height = 256
Width = 256
Filter = null
Time = []
Format = image/jpeg
Buffer = 0
Request = GetMap
RawKvp = {BBOX=123.75,45,135,56.25, VERSION=1.1.1, FORMAT=image/jpeg, SERVICE=WMS, HEIGHT=256, LAYERS=opmaps:vlad_styles, REQUEST=GetMap, STYLES=, SRS=EPSG:3857, WIDTH=256}
http://joxi.ru/O-O_UxjKTJAOVH-Nk-s
Тоесть так-же как и до этого, подскажите где я ошибаюсь, куда копать? )
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Спасибо за подсказки. проблема решена так
var mapoptions = {
projection: "EPSG:3857",
sphericalMercator: true,
numZoomLevels:45,
};
var map = new OpenLayers.Map('map', mapoptions);
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://127.0.0.1:8080/geoserver/wms",
{layers: 'opmaps:vlad_styles'});
map.addLayers([wms]);
map.zoomToMaxExtent();
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Подскажите пожалуйста, как можно в скрипте выше, указать что бы он начинал с зума 15
пробовал так
var mapoptions = {
projection: "EPSG:3857",
sphericalMercator: true,
zoom: 35,
numZoomLevels:45,
};
но не работает
пробовал так
var mapoptions = {
projection: "EPSG:3857",
sphericalMercator: true,
zoom: 35,
numZoomLevels:45,
};
но не работает
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Почему то так тоже map.zoomTo(14);
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Ап хелп ми =_=
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Решение
var mapoptions = {
projection: "EPSG:3857", // 3857
numZoomLevels:35, // МАКС ЗУМ
};
var map = new OpenLayers.Map('map', mapoptions); // ПОДКЛЮЧАЕМ mapoptions
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
"http://127.0.0.1:8080/geoserver/wms",
{layers: 'opmaps:vlad_styles'});
map.addLayers([wms]);
map.moveTo(
//пересчитать координаты точки
new OpenLayers.LonLat(131.91, 43.13).transform(
//из системы координат EPSG:4326
new OpenLayers.Projection('EPSG:4326'),
//в систему координат карты (EPSG:900913)
map.getProjectionObject()
),
15 // ЗУМ
);
-
- Участник
- Сообщения: 57
- Зарегистрирован: 09 июл 2014, 10:25
- Репутация: 0
Re: GeoServer настройка
Еще вопрос, если я беру данные отсюда http://beryllium.gis-lab.info/project/osmshp/
То мне надо указывать копирайт на http://www.openstreetmap.org/copyright ?
То мне надо указывать копирайт на http://www.openstreetmap.org/copyright ?
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: GeoServer настройка
Да
Spatial is now, more than ever, just another column- The Geometry Column.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей