Устанавливаем локальный Rails on Ruby для OpenStreetMap

Ее еще рано в вики помещать.
Хотелось бы пообсуждать, чтобы еще кто то попробовал.
Есть проблемы при установке, возможно что кто то предложит пути решения.

Задавать вопросы и отвечать на них, на форуме немного проще.

Achechet, я думаю человек, которые разворачивали рэйлз порт локально, можно пересчитать по пальцам одной руки, причем во всем мире. Это все-таки не ГИС.

Благодаря проекту OpenStreetMaps я познакомился с Ruby on Rails.
Это довольно интересный фреймворк сам по себе.
Как утверждает инет его используют многие разработчики для сложных корпоративных приложений.
На установленном bundle я уже начал процесс освоения фреймворка.
Может быть кто то еще захочет сделать подобное.

Achechet в конце лучше будет сделать скриншоты то что увидется на localhost, возможно даже если есть желание снять видео по использованию (в1080р желательно) : ) . Дабы тем кто будет пользоваться или просто кому любопытно, не пришлось ставить. Так же отдельно желательно указать что инструкция для Unix like , для Windows не подходит или может в будущем.

На localhost все идентично картинке на openstreetmap.org в том числе и настройки и встроенный редактор.
Установка начинается с инсталляции системы, как Вы заметили.
Причем конкретной системы с конкретной версией дистрибутива.

Из под винды можно использовать виртуальную машину и в ней инсталлировать.

Интересно, на шаред хостинге с рельсами и пгскл 8.4 поднять можно (консоли нет, постгис отутсвует)?

Если в шелл хостинг пускает и позволит права супер пользователя, то наверное да.
Там если посмотреть то сплошные sudo.
И какой линух на хостинге? Можно конкретный заказать?
В конце концов у хостера можно попросить что развернул.
Ruby on Rails это же фреймворк для разработки именно веб приложений.

Я пробовал на Gentoo так весь исплевался.

Step1 просто убил, на взлёте, но это к слову.

Ничего сложного я не помню в установке и разворачивании API сервера под R/R, делал это несколько раз для разных нужд. Одна из инсталяций до сих работает на нужды гидрологов, топологов и прочих -ологов, которые в два отдела совместно работают над одной базой, данные из которой никогда не попадут в ОСМ. Сам формат хранения данных и совместной работы пришёлся им по вкусу и JOSM+RR-API заменили им дорогой проприеритарный инструмент создания геоданных. Вот только там полная заморозка версий всех инструментов, компонентов и форматов данных, навсегда.

Основная проблема у меня была в поддержании апи-сервера в рабочем и актуальном состоянии одновременно. Либо одно, либо другое. Проблема заключается больше в самой идеологии ОСМ в целом: могут вноситься любые изменения в сам API, без какой либо поддержки со стороны инструментов. Как минимум я помню три версии API v 0.6, которые на практике имеют кардинальные отличия, ломающие всю работу API сервера. Вначале в угоду redaction-геноциду изменили поведение версий объектов и стали появляться объекты с дырами в истории и нулевыми версиями и т.д., от которых API сервер стало просто тошнить. При попытке обновить его, возникла проблема с тем, что не всё в текущей версии фреймворка RR его устраивает и нужны новые рельсы, после обновления рельс, оказалось что не все компонеты фреймворка вообще работают на новых рельсах. Вторая проблема вылезла, когда в новом апи появились ченжсеты с действиями удаления, но без самих данных, на них стал падать уже осмосис, а новый осмосис, который не падал на новых osc, не работал со старым API сервером и опять вся цепочка зависимостей.

Мне вообще не понятно, как существует и как реализуется обновление всей текущей инфраструктуры OSM, учитывая, что большая часть базовых инструментов получает нужный функционал, при критически важных изменениях в API, без смены версии самого API, только спустя очень продолжительное время, исчисляемое иногда месяцами.

Max Vasilev, предположительно - вот так берут и пилят, подгоняют одно под другое на тестовом сервере. В одной дружественной конторе такую ситуацию называли “техническая олигархия”, когда некая внутренняя система была написана и собрана из частей настолько странно, что работать с ней отказывались все, кроме ее непосредственных авторов, а руководство боялось их как-то прижать или уволить, чтобы не остаться без работающей системы.
Именно потому я и советовал в параллельной теме благополучно забить на OSM API и прочее, а собрать ровно то же самое, но из средств, которые не завязаны между собой намертво, взаимозаменяемы и протестированы многими тысячами пользователей, а не десятками энтузиастов. (В огород QGIS я тоже могу камень кинуть - там тоже периодически что-то ломается, но QGIS - один из десятков продуктов с нужным функционалом, а не один из трех.)

Значит, мимо. Договорится с хостером значит поменять пакет услуг, и чую, это уже будет VPS.

дубль

Чтобы не заморачиваться с sudo и bundle, здесь лучше сразу ставить rbenv, rbenv-build (либо rvm), и с ним ruby со всем бандлом к себе в хоум.
Не кажый хостинг позволит подгрузить btree_gist в postgresql.

По идее, можно сделать образ для vagrant, с провижном на puppet/chef. Или есть уже у кого?

Achechet, большое спасибо за статью! Только начинаю разбираться с темой ГИС. Поставили сервер по этой статье http://switch2osm.org/serving-tiles/manually-building-a-tile-server-12-04/, залили данные в базу, но не понятно как создавать и редактировать свои слои. Выясняется, что нужен еще rails сервер, а Apache тогда получается не нужен? Сейчас же он выводит карту в браузер.

Одна только проблема, так таковых слоёв в ОСМ нет.
Рельсы отдают тайлы, а Апач старницу разметки, чтобы пользователь видел эти тайлы.

Нам нужно чтоб можно было слои скрывать/показывать при нажатии на галочки. В openlayers можно настроить разные источники для разных слоев. Если каждый слой хранить отдельно, получится ведь?

wonderful-fungi, получится, только использовать осм для создания своих слоев - это пожалуй слишком сложно и муторно.
Вам слой векторный или растровый нужен?

чуть по проще, для прочтения интересно

Создание простейшего HTTP-сервиса для публикации векторных данных
http://gis-lab.info/qa/http-publish-vector.html

Основы работы динамических TMS-сервисов
http://gis-lab.info/qa/dynamic-tms.html

Просто если нужны векторные данные, то ОСМ для этого прохо приспособлен. Даже наверное фильтры в JOSM не помогут.
А вот растровые данные это легко, нужны только правильно составленные стили для рендеринга.

К вопросу о локальном сервере OSM, подскажите пожалуйста
ставлю его на openSUSE, может кто сталкивался с такими ошибками (вне зависимости на какую ОС):

  1. сервер уже поставлен и был один раз запущен, но после того как выключили и включили компьютер он что то говорит что не может подключиться к серверу, пишет:
  1. где можно найти файлы конфигурации , чтобы изменить адрес по которому сервер создан…почему то получился адрес такой: 0.0.0.0:3000, хотелось бы сменить на localhost (да и вообще должно быть изначально localhost…) ?
  2. сервер нужно запускать вроде как командой rails server, у меня только если с указанием пути скрипта rails:
~> /opt/osm/rails/script/rails server

почему так?
туториал использовался следующий http://wiki.openstreetmap.org/wiki/RU:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_OSM-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0 и https://github.com/openstreetmap/openstreetmap-website/blob/master/INSTALL.md

  1. Судя по всему он пытается подключиться к postgres через локальный файловый сокет. Попробуйте настроить подключение не через localhost, а через внешний интерфейс (в конфиге баз данных osm-сервера).
  2. это нормально. Нужно настроить apache-прокси, чтобы он перенаправлял запросы с 80-го порта на 3000-й - приложению руби.
    http://wiki.openstreetmap.org/wiki/RU:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_OSM-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0#.D0.92.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_apache2_.D0.BF.D1.80.D0.BE.D0.BA.D1.81.D0.B8_.D0.B4.D0.BB.D1.8F_OSM-Rails
  3. http://wiki.openstreetmap.org/wiki/RU:%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_OSM-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0#.D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D1.8F.D0.B5.D0.BC_.D1.81.D0.B5.D1.80.D0.B2.D0.B8.D1.81_OSM_.D0.B2_.D0.B0.D0.B2.D1.82.D0.BE.D0.B7.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D0.BA.D1.83