Курсовой проект "БД, поиск в ней и отображение объекта на карте"

Всем доброго времени суток!
Являюсь студентом университета, и на последнем этапе обучения поступило задание разработать, нет, даже скорее “поднять” интересный проект.
Суть, как я понял, в следующем:

  1. На собственном сервере как основа должна быть карта OSM, сверху “мой слой”, на котором буду рисовать границы старых зданий. Этот слой должен хранится только на нашем сервере (запросов в OSM отправлять не нужно!);
  2. Другие люди заполняют определенную базу данных с описанием этих зданий или мест;
  3. На нашем сайте вместе с картой и слоем имеется поисковая строка, где любой пользователь может ввести желаемый объект, и если есть совпадение, то маркером показывает на моем слое.

Примеры давным-давно попадались в интернете, но для начала подойдет и http://bikecamp.ru/map/ или же http://test1.osm4u.ru/
Я понял, что рисовать карту можно в JOSM. Создание базы данных влечет подводные камни? И Самый для меня неясный вопрос: как поверх готовой карты OSM (ее уже размещал на сайте, получилось, понравилось :slight_smile: ) разместить мой слой, дорисованный в JOSM ?

Прошу помощи, поддержки и теплой беседы :slight_smile:

Если вы свой слой собрались отображать геометрией, а не картинкой, смотрит онлайн редактор iD.

П.С. А вообще этим научрукам стоило бы поинтересоваться, а что действительно полезного не хватает, а не городить очередной велосипед. А то только на словах это взаимодействие ВУЗов и ИТ-бизнеса.

http://leafletjs.com/examples.html

Вот интересный пример:
http://leafletjs.com/examples/choropleth.html

Можно ещё посмотреть плагины
например TileLayer.GeoJSON, хотя плагины я особо не разбирал

JOSM - редактор для работы с OSM API. Его можно, конечно, использовать для редактирования собственного слоя, но для этого придется поднять копию серверной инфраструктуры OSM. Вы этого точно не хотите, судя по уровню вопросов.
Вам нужен какой-либо картографичейский web-фреймворк вроде MapIgniter, пространственная БД и любой клиент для ее редактирования, например - QGIS.

freeExec
Не для IT-бизнеса) Преподаватель решил помочь одному музею, и часть студентов занимается каждой своей деятельностью: кто копии данных делает, кто сервер развивает, кто что-то еще…

crazylost
Немного удалось поработать и с OpenLayers, и с Leaflet. Как раз с Leaflet перспектив побольше, нет? Развивается неплохо) Как раз с помощью Leaflet хотелось бы страничку и держать на сервере.

BushmanK
Можно, пожалуйста, по порядку: MapIgniter позволит мне отображать карту в браузере, пространственная БД - MySQL думаю подойдет, QGIS - поможет рисовать карту? Я вас правильно понимаю? :slight_smile:

Это как?

Если обводить уже имеющиеся в ОСМ домики и проставлять им свои теги, то это громадная ошибка, из-за которой работу хорошие принимающие просто не примут. Уже имеющиеся векторные данные обводить повторно недопустимо (здравый смысл этого не допускает).

Связывать свои теги с домиками в ОСМ по идентификатору линии не выйдет, так как на практике эти идентификаторы иногда меняются (при удалении и повторном создании домика; это, конечно, ошибка, но её нельзя не учитывать).

Единственный легко (относительно) реализуемый вариант - утащить целиком БД ОСМ (либо только её часть внутри желаемого полигона) и делать свой специализированный клон ОСМ. Как частный случай - утащить только домики в векторном виде с имеющимися тегами и уже с ними работать, беря остальные слои из актуальной базы ОСМ.

fndoder База данных OSM много весит, даже если часть брать думаю не лучшая идея.

Про старые здания: возьмем космический снимок, пусть BING, ведь можно сверху сделать наложение своего слоя? На этом слое будут часть границ домов иди территорий не совпадать: за сто лет много чего произошло. Данные будут на нашем сервере, для OSM они буду ошибочны. На эти домики свои теги вешать со своими данными, которые будут хранится в другой БД, пусть по БД старинных домов. Это ведь реально?

godbq:

Какой город предполагается так отрисовать? И на какой примерно год?

Мне кажется, точечные маркеры (по координатам) будут здесь намного более к месту.

В общих чертах так, да.

Посмотрите http://shtosm.ru/2012/03/30/3/

vvoovv
Не уверен, но в масштабах куда больше города) Про год не могу сказать, не знаю. Может даже разделение по годам сделаем)

kisaa
В принципе да, маркеры, но если границы территории показать придется?)

Вот сам запутался :frowning: Космические снимки - это я глупость сморозил, чепуха получится. Только слои как в OSM. Ведь можно скачать кусок карты через JOSM, подправить точки и линии под меня и выложить на своем сервере с таким же отображением как на www.openstreetmap.org/ ? Только границы поменяем необходимых зданий и все! И подпишем, что это карта, к примеру, 1900 года. А события и маркером отобразить можно. Верно рассуждаю?) Не стесняемся, присоединяемся к дискуссии :wink:

Можешь попробовать alacarte он возволяет рендерить тайлы прямо из файла формата osm который сохраняет josm. Была недавно статья на хабре по нему.

Добавить два поля в таблицу - дата постройки дома и дата сноса дома (для существующего на текущий момент указывается значение 0). И можно рендерить карту на любую желаемую дату или диапазон дат.

База ОСМ, если в ней оставить только домики и вырезать всё вне желаемого полигона будет совсем крохотной по нынешним меркам, поместится даже на дешёвый хостинг.

Ещё автору рекомендуется не зацикливаться на инструментах, используемых в ОСМ; всякого ГИС софта, решающего данную задачу (после небольшой настройки/доработки) в мире множество - как бесплатного, так и стоящего адекватные деньги проприетарного. За весну можно собрать (так как в условии задачи не требуется создание нового, а лишь “поднять”) вполне хороший проект.

А что выбрать - это уж автору решать.