Страница 1 из 1

Вопрос: база данных/MapServer/OpenLayers

Добавлено: 11 сен 2013, 13:12
psyhosis
Не знаю, как к этому отнесется модератор, извиняюсь заранее.
Использую GME для рисования карт, удобный, привык, нравится.
Так вот, карта потом пробразуется в ERSI Shape с помощью globalmapper-а и выкладывается на сервер, там ее подхватывает mapserver и с помощью openlayers реализован некий интерфейс.

Теперь ситуация сложнее: правим в ГМЕ, Globalmapper-ом конвертим в shape, DBF-навигатором правим поля, QGIS-ом перекодируем и кладем на сервер.

Хочу вот что: хранить данные в БД (mysql например, уже стоит и с ним я на ты), но хочу использовать и GME. Так вот, как это сделать? Есть ж вроде GME++ и он открытый, в нем преобразование в shape какое то кастрированное, но мобыть имеет смысл модуль БД туда вкорячить или он там есть и просто я не в курсе?

Или однозначно перелазить на какой нибудь qgis и там вести дальнейшую работу?

Короче смысл вопроса таков: хочу рисовать карту, данные должны храниться в базе, из базы их должен читать мапсервер и отображать на сайте с функционалом openlayers-а.
такое вообще возможно?

Re: OpenLayers: начало работы

Добавлено: 11 сен 2013, 14:45
bim2010
В GPSMapEdit сохраняем в MIF/MID, затем с помощью ogr2ogr
экспортируем в Mysql.
Или однозначно перелазить на какой нибудь qgis и там вести дальнейшую работу?
Перелазить надо в OpenStreetMap и работать в JOSM.

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 12 сен 2013, 19:08
psyhosis
Ну, это придется информацию хранить у них, так получатся? А если какой никакой конфиденциал планируется? да и вообще, как то OSM я недолюбливаю, не знаю почему. Интересно, куда смотрят наши безопасники, думаю, скоро займутся, там столько секретной информации в открытом доступе - жесть, одни линии ЛЭП чего стоят.
Хочется чего то не слишком крутонаворочнного (GME мне вполне хватает) только с некоторыми "доработками". Эх закодить что ли модуль для GME++...

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 12 сен 2013, 21:26
bim2010
Перенеся большую часть слоев в OSM, вы бы получили выигрыш в скорости отображения. А конфиденциальные слои оставили бы у себя на сервере. Еще вариант - создать тайловый кэш у себя на сервере по условно постоянным слоям.
Эх закодить что ли модуль для GME++
Польский формат - обычный тестовый файл. Распарсить его и напрямую залить в СУБД.

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 13 сен 2013, 06:45
psyhosis
Дык не выйдет, Mapserver не поймет формат. Надо си равно преобразовывать в удобоваримый для него.
Хотя мож я чего не понимаю в этой жизни.... поля в БД вроде для мня понятны, их распарсить без проблем можно, даже с помощью proj4 координаты пересчитать да проекцию, если надо (хотя mapserver сам все это делает на лету). Само поле SHAPE для меня загадка еще пока, не знаю что там, не знаю как там и зачем. Но это, видимо, пока.
Не хотел так глубоко копать, видимо придется. Эх, жизнь моя жестянка ...
Нашел тут uDig - вроде может с MySQL работать. Никто не слышал за него?

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 13 сен 2013, 07:27
trir
поле SHAPE
- это што такое?

почитай это

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 13 сен 2013, 22:14
psyhosis
trir писал(а):
поле SHAPE
- это што такое?
почитай это
'шо-шо, ogr2ogr данные из ERSI Shape перегоняем в Mysql базу и там видим собственно (я так понимаю вместо файла .shp) поле SHAPE а за ним прицепом все поля из dbf-а напрямую дернутые.
а ну конечно по отдельности для каждого типа, полигон, линия, точка.
мапсервер данные отображает правильно, qgis тоже.
как раз то самое поле, тип не помню, BLOB поди...
так вот, почитал я пдфку - ничего я там не увидел, куда вы меня пытались ткнуть то в итоге, мож очень быстро читал :)

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 14 сен 2013, 01:07
trir
очень быстро читал
оОчень
"Поле SHAPE" - имеет тип Geometry или потомка
Что это такое и как кушать - подробно расписано в OGC 06-103r3 или здесь
Правда в OGC 06-103r3 как то всё обще... лучше читать OGC 99-049 "OpenGIS Simple Features Implementation Specification for SQL" - хоть и устаревший, зато понятный

Пример использования

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 18 сен 2013, 18:36
psyhosis
Короче, как всегда, все в общем :) потом ужа с ежом крестить приходится, в sqlite автоинкремент определен как autoincrement а в муслул auto_increment, жутко интересно, кто же недочитал стандарт :)
пасиба, будем долго думать и пробовать.
PS: uDig не оправдал доверия, кривовато (в традициях разработки открытого кода) работает, из базы мускула данные так и не смог вытащить, то сбоит постоянно, то просто не хочет без объяснения причин.
по функционалу почти qgis, может что конечно и поинтереснее в интерфейсе, но столько много лишнего намудрено, что лучше пока будем сидеть и радоваться функционалу GME и изучать структуру GME++ для написания базоданного модуля :)

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 18 сен 2013, 19:09
Александр Мурый
psyhosis писал(а): PS: uDig не оправдал доверия, кривовато (в традициях разработки открытого кода) работает
Извините, конечно, но прежде чем огульно обвинять чей-то (пусть и открытый) код, предоставьте свой на всеобщее обсуждение :)
Либо комментарии к коду с пояснениями, где именно и почему именно он "кривоват". А ещё лучше послать баг-репорт разработчикам, если проблема реально с ПО.

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 18 сен 2013, 19:23
psyhosis
Да я не обвиняю, с qgis же точно так же было, прямо в копейку, так что надо просто подождать. Либо выживет либо так и останется.
Жмем коннект к базе, все в норме, выбираем базу - и на тебе, кнопка Финиш не активна. выбираем почему то пустую в меню базу (самая верхняя строка контекстного меню) и потом обратно нашу базу - активируется. нажимаем таки добытый правдами и неправдами финиш, и на тебе, ошибка вылетает (и быстро куда то исчезает, логов нет, разработчикам нечего отправлять) что была ошибка соединения с локалхостом, хотя коннектились к определенному айпишнику в домашней сети. короче там везде помногу еще выгребать, карту создаешь и удаляешь, после рестарта (а я его делал раз 20 в час) она опять есть. я просто расстроился и забил сразу на него вместе с его быстрой деинсталяцией. Я много кому предлагал услуги по тестированию абсолютно безвозмездно, как то мало кто откликался, а тут сразу такой продукт выпускать, который ни один тестер не видел, не хочу связываться даже. Мой энтузиазм пока занят другими делами, в виде рисования карты и поддержки сайта и форума. С меня хватит :)

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 18 сен 2013, 19:36
psyhosis
И вообще, я тут спросил вроде как, что же мне попробовать для моих задач, см нашел продукт, сам попробовал и могу смело говорить, что он не оправдал доверия, так что не надо разводить тут перебранку по этому поводу, ее можно вынести в отдельную тему и там славно пофлудить. Лучше бы предложили чего.

Re: Вопрос: база данных/MapServer/OpenLayers

Добавлено: 19 сен 2013, 20:51
psyhosis
psyhosis писал(а):Теперь ситуация сложнее: правим в ГМЕ, Globalmapper-ом конвертим в shape, DBF-навигатором правим поля, QGIS-ом перекодируем и кладем на сервер.
версия 2 же вышла GME. Стало на порядок проще! У карты ставим кодировку UTF-8, конвертим в Ersi_Shape и потом либо с ним работаем, либо перегоняем в базу с помощью ogr2ogr. Mapserver что Ersi_Shape, что Mysql базу понимат на ура. С базой половчее, можно кучу своих причиндалов наделать еще.