Отображение карт в GeoServer

Кроме QGIS
tlav
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 янв 2015, 10:49
Репутация: 0

Отображение карт в GeoServer

Сообщение tlav » 28 янв 2015, 14:27

День добрый.

Есть PostGIS пока для тестирования с таблицей-слоем точечных объектов в формате geometry(POINT(x,y)),
где значения точек - в проекции ПКО Нефедовой.
Есть GeoServer, в котором я пытаюсь не первый день отобразить данные из PostGIS.
Думая, что проблема в отстутствии нужной проекции в геосервере,
я добавила в файл espg.properties следующее (для srid=33000)
33000=PROJCS["kavr",
GEOGCS["pulk_42",
DATUM["D_Pulkovo_1942",
SPHEROID["Krasovsky_1940",6378245.0,298.3]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]],
PROJECTION["Equidistant_Conic"],
PARAMETER["False_Easting",0.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",100.0],
PARAMETER["Standard_Parallel_1",46.548696],
PARAMETER["Standard_Parallel_2",71.568357],
PARAMETER["Latitude_Of_Origin",54.0],
UNIT["Meter",1.0]]

Но слой карты с помощью openlayers в Geoserver так и не отображается. В чем моя ошибка?
Проблема не в PostGIS. Данные из нее прекрасно вытягиваются.
Может до загрузки в PostGIS нужно пересчитать координаты в широту и долготу?
Какие формулы могут оптимально это сделать? (Я уже в математической картографии порылась,
но с места не сдвинулась)
Спасибо заранее.

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Отображение карт в GeoServer

Сообщение Andrey Zhukov » 28 янв 2015, 14:33

Что в настройках публикации сервиса стоит?

tlav
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 янв 2015, 10:49
Репутация: 0

Re: Отображение карт в GeoServer

Сообщение tlav » 29 янв 2015, 12:26

В геосервере, в настройках слоя нет родной SRS (не добавляется и не доступно)
В Объявленной SRS указана моя.
В охватах - родной охват X от -33000 до 33000
по Y от -33000 до 33000 (рамка моей карты)
Если посчитать широту/долготу ограничивающего поля,
то получается бред: X от 99,48 град до 100,5, а по Y от 53,7 до 54,3.
Впечатление такое что из формул взяты параметры - 100 градусов и 54 градуса.
Какими формулами можно координаты моей проекции
корректно преобразовать в широту/долготу ?

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: Отображение карт в GeoServer

Сообщение SergeyRyzhkov » 29 янв 2015, 13:01

Вам надо определится именно с системой координат!

Посмотрите примерный алгоритм (очень упрощенно) работы:
1. На клиенте (например openlayers) определена СК для отображения данных
2. При перемещении карты клиент посылает запрос на сервер для получения данных для отображения. Например, WMS,WFS,WMTS, да какой угодно (зависит от планина на клиенте). Клиент помимо прочего в запросе указывает bbox текущего вида карты и СК
3. Сервер приняв запрос должен получить данные из источника и сформировать ответ (рендеринг и т.д.).
Так вот сервер принимая запрос "смотрит" на СК указанную, смотрит на СК в котрой хранятся данные, получает данные на bbox и пытается выполнить перепроицирование, чтобы вернуть клиенту данные в той СК, в которой он (клиент) просит.

Так вот Вы подумайте какие СК на каждом шаге у Вас, скажите, приведите код OL, мы если что поможем
Последний раз редактировалось SergeyRyzhkov 30 янв 2015, 11:17, всего редактировалось 1 раз.

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Отображение карт в GeoServer

Сообщение Andrey Zhukov » 29 янв 2015, 22:09

1. Версия GeoServer?
2. В настройках стоит "Оставить Объявленную"?
3. Реальное положение точек не в указанных диапазонах широт-долгот?

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: Отображение карт в GeoServer

Сообщение Филиппов Владислав » 02 фев 2015, 08:56

Может до загрузки в PostGIS нужно пересчитать координаты в широту и долготу?
я бы так сделал

tlav
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 янв 2015, 10:49
Репутация: 0

Re: Отображение карт в GeoServer

Сообщение tlav » 10 фев 2015, 11:04

Добрый день.
Мое положение так и не сдвинулось с мертвой точки.
В этот раз я загрузила объекты из примеров, сначала сконвертировав
из шейпа в PostGIS, а затем попыталась опубликовать в GeoServer
Результат тот же. Пустой экран. Все рамки правильно посчитаны...
Моя версия GeoServer 2.6-snapshot, при установке yum'ом был автоматически выбран.
Уважаемые форумчане, у кого-нибудь данные из PostGIS вызывали ли
проблему при публикации в GeoServer?
В слоях, которые идут в качестве примеров с GeoServer нет слоев из PostGIS!!!

Аватара пользователя
Филиппов Владислав
Гуру
Сообщения: 1035
Зарегистрирован: 17 фев 2006, 06:28
Репутация: 144
Ваше звание: Геннадич
Откуда: Новосибирск
Контактная информация:

Re: Отображение карт в GeoServer

Сообщение Филиппов Владислав » 10 фев 2015, 11:20

1. а что написано в geoserver.log ?
2. видно ли ваши данные в desktop-ных ГИС: QGIS, OpenJUMP, KOSMO, etc?

tlav
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 янв 2015, 10:49
Репутация: 0

Re: Отображение карт в GeoServer

Сообщение tlav » 11 фев 2015, 10:30

Обратила внимание на следующее при настройке слоя.
В разделе "Обновить тип объекта" стоит желтый треугольник, предупреждающий об ошибке и
при нажатии на "..." возникает следующее

Rendering process failed java.io.IOExceptionorg.postgresql.util.PSQLException:
ОШИБКА: нет доступа к отношению population ( population - название таблицы в PostGIS)

tlav
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 янв 2015, 10:49
Репутация: 0

Re: Отображение карт в GeoServer

Сообщение tlav » 11 фев 2015, 10:48

С предыдущим сообщением разобралась, недостаточно было прав пользователя.
Теперь следующее сообщение видимо классическое для GeoServer'a
Reloading a feature type will cause any existing connections to its data store to be severed: in flight requests might fail as a result

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Отображение карт в GeoServer

Сообщение Andrey Zhukov » 11 фев 2015, 10:59

Это просто предупреждение. В принципе, показу данных могли мешать как раз урезанные права.
Попробуйте еще раз посмотреть данные в GeoServer и в каком-нибудь настольном ПО.

tlav
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 янв 2015, 10:49
Репутация: 0

Re: Отображение карт в GeoServer

Сообщение tlav » 12 фев 2015, 09:59

Вы были правы, это были предупреждения. Карта появилась, но похоже в цилиндрической проекции,
хотя я указала родную проекцию Нефедовой (8159). Что можно добавить для отображения карты в моей проекции?

tlav
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 янв 2015, 10:49
Репутация: 0

Re: Отображение карт в GeoServer

Сообщение tlav » 19 фев 2015, 11:13

Спасибо большое, проблема с отображением решена.

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

Re: Отображение карт в GeoServer

Сообщение Andrey Zhukov » 20 фев 2015, 09:10

А расскажите, пожалуйста, как в итоге все решили?

tlav
Новоприбывший
Сообщения: 13
Зарегистрирован: 22 янв 2015, 10:49
Репутация: 0

Re: Отображение карт в GeoServer

Сообщение tlav » 16 мар 2015, 13:57

Проблему к сожалению решила частично, но могу поделиться с этапами успешного появления на экране Geoserver'a карты России. Сначала исправила координаты X и Y, которые были неверно симпортированы в PostGIS. После решения проблемы в охватах вместо -33000 и 33000 получились нормальные значения: Мин(-5 900; -1 875) до Макс(3 765; 3 415). Затем оказалось, что отсутствовали права пользователя Geoserver'а на доступ к этой таблице (гранты нужно выставить в PostGIS).

А часть нерешенного вопроса следующая. Почему-то Широта/долгота ограничивающего поля - в пределах Мин (104,8;59,98) и Макс (104,98;60,03). Как сделать нормальные пределы?

Из-за этого у меня нет возможности на карте отображать широту и долготу. Впечатление такое, что расчет формулы, который делает Geoserver неверен. Я изменила файл espg.properties для X и Y (исходные данные требовали это): PARAMETER["False_Easting",4583.0], PARAMETER["Central_Meridian",105.0], PARAMETER["Latitude_Of_Origin",60.0]

Ответить

Вернуться в «Свободные, бесплатные, открытые ГИС»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 25 гостей