создание своего OSM-сервера, как прокси

всё время наступаю на грабли WMS по такой схеме:

Сгенерил свой слой, прописал в rails-сервере ссылку вида:

http://gpw.rs.int/tilecache/tilecache.cgi/1.0.0/drsk/${z}/${x}/${y}.png

Слой показывается. Всё работает. Ссылки вида:

http://gpw.rs.int/tilecache/tilecache.cgi/1.0.0/drsk/13/7098/3006.png

Открываются.

Если же пытаюсь обратиться как к WMS:

http://gpw.rs.int/tilecache/tilecache.cgi?LAYERS=drsk&TRANSPARENT=true&FORMAT=png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=131.923828125,43.06640625,132.01171875,43.154296875&WIDTH=256&HEIGHT=256

То ответ такой:


An error occurred: can't find resolution index for 0.000343. Available resolutions are: 
[156543.03390000001, 78271.516950000005, 39135.758475000002, 19567.879237500001, 9783.9396187500006, 4891.9698093750003, 2445.9849046875001, 1222.9924523437501, 611.49622617187504, 305.74811308593752, 152.87405654296876, 76.43702827148438, 38.21851413574219, 19.109257067871095, 9.5546285339355475, 4.7773142669677737, 2.3886571334838869, 1.1943285667419434, 0.59716428337097172, 0.29858214168548586]

Кусок карты примерно один и тот же. Обращался к wms из тестового примера на OpenLayers.js, при подстановке туда другого слоя (base, который в конфиге tilecache-а ссылается на http://labs.metacarta.com/wms/vmap0 ) - карта отображается.

В гугле (http://osgeo-org.1803224.n2.nabble.com/Configuration-of-TileCache-and-OpenLayers-td1837117.html) нашёл решение:
Нужно вычесть от одной координаты слоя другую (брать из bbox в generate_tiles.py), поделить это на 512 и получим maxResolution. Прописываем bbox и maxResolution в html-ку из которой обращаемся к tilecache-у, а так же прописываем bbox слоя в конфиг tilecache-а для этого слоя.
Попробовал - не получилось.

Вопрос - правильное ли это решение, если да - где я ошибся, если нет - то какое правильное?
Пробовал сгенерить “базовую карту”:


bbox = (-180.0,-85.0, 180.0,85.0)
render_tiles(bbox, mapfile, tile_dir, 0, 5, "World")

Думаю, уж эта-то должна отображаться правильно по-умолчанию - ан нет - та же проблема.

WMS нужен, чтобы отображать эти слои в виде подложки в josm.

Код js в html-ке, для отобраджения базового и моего слоя:



var base_map = new OpenLayers.Layer.WMS( "tilecache", 
"http://gpw.rs.int/tilecache/tilecache.cgi?", 
{ layers: 'basic', 
format: 'png'} );
map.addLayer(base_map);


var tc = new OpenLayers.Layer.WMS( "tilecache", 
"http://gpw.rs.int/tilecache/tilecache.cgi?", 
{ layers: 'drsk', 
transparent: 'true',
format: 'png'} );
map.addLayer(tc);

Конфиг tilecache-а по поводу этих слоёв:


[basic]
type=WMS
url=http://labs.metacarta.com/wms/vmap0
extension=png

[drsk]
type=MapnikLayer
mapfile=/opt/osm/mapnik/mapnik_drsk/mapnik/osm2.xml
spherical_mercator=true
tms_type=google
metatile=yes

Это должно отображаться снаружи?


No query information to decode. QUERY_STRING is set, but empty.

Да, вот, например так:
http://vmap0.tiles.osgeo.org/wms/vmap0?LAYERS=basic&FORMAT=png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=90,0,180,90&WIDTH=256&HEIGHT=256

Вроде с этим разобрался, нужно было карту создавать в проекции меркаартора:
http://wiki.osgeo.org/wiki/WMS_Tiling_Client_Recommendation


options = OpenLayers.Util.extend({
maxExtent: new OpenLayers.Bounds(-20037508.34,
-20037508.34,20037508.34,20037508.34),
maxResolution: 156543.0339,
units: "m",
projection: "EPSG:900913",
transitionEffect: "resize"
}, options);

 var map = new OpenLayers.Map('map', options);

И уж после этого к нему подключать слои wms:


var drsk = new OpenLayers.Layer.WMS( "drsk", 
"http://gpw.rs.int/tilecache/tilecache.cgi?", 
{ layers: 'drsk', 
transparent: 'true', 
format: 'png'} );
map.addLayer(drsk);

Или прямое отображение картинок:


var osm = new OpenLayers.Layer.XYZ(
"osm",
"http://gpw.rs.int/tilecache/tilecache.cgi/1.0.0/osm/${z}/${x}/${y}.png",
{
numZoomLevels: 16, 
sphericalMercator: true
}
);
map.addLayers([osm]);

Вот только опять возникло пара вопросов:

  1. Когда обращаюсь к своим данным как к WMS - tilecache нагружает postgres. Причём не слабо. Зачем? Если же через XYZ - то напрямую и postgres не трогает.
  2. Только для WMS, если поставить параметр (transparent: ‘true’), то он будет подключаться “галочкой” (в интерфейсе) в довесок к слою, который “основной”. Но при этом он полностью закрывает основной слой. Т.е.е если на моём слое всего пара элементов на карте, то при тыканье “галки” - вся карта исчезает и рисуется только мой слой. А надо бы, чтобы он был полупрозрачен и оба слоя отображались одновременно. Это возможно? В примерах на openlayers.org что-то не могу найти…
    Есть вот этот пример:
    http://openlayers.org/dev/examples/all-overlays-google.html
    Но тут как раз с наложением и перекрытием. Т.е. два слоя одновременно не видны, даже если включить оба.

Ага, по части прозрачности нашёл уже:
http://openlayers.org/dev/examples/layer-opacity.html

Теперь всё это дело прикрутить бы к rails-серверу.

Как говорили выше, все изменения нужно добавлять в файл rails/public/openlayers/OpenStreetMap.js
Хорошо, заходим туда, смотрим. Там записи для слоёв. Если поменять источник данных (ссылки на тайлы для какого-либо слоя), то rails-сервер отображает мои тайлы для этого слоя (где меняли). Всё работает, всё нормально.

Но задача как раз создать свои слои, задать их имя, прозрачность и т.д. именно в rails-сервере. Всё то, что может OpenLayers. На тестовом примере (отдельная html-ка с js) я это обкатал - там работает.

Делаю копию класса из исходного (в том же файле: rails/public/openlayers/OpenStreetMap.js)


OpenLayers.Layer.OSM.drsk = OpenLayers.Class(OpenLayers.Layer.OSM, {
    initialize: function(name, options) {
        var url = [
            "http://gpw.rs.int/tilecache/tilecache.cgi/1.0.0/drsk/${z}/${x}/${y}.png"
        ];
        options = OpenLayers.Util.extend({
            numZoomLevels: 18,
            buffer: 0,
            transitionEffect: "resize"
        }, options);
        var newArguments = [name, url, options];
        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
    },
    
    CLASS_NAME: "OpenLayers.Layer.OSM.drsk"
});

Дописываю в конец файла, обновляю страничку rails-сервера - ноль эмоций. Никаких новых вкладочек слоёв не появилось… Судя по всему ещё нужно куда-то прописывать. По всей ветке мне сказали только про этот файл. grep-ом погрепал весь rails-сервер - куча упоминаний про тот же osmarender. Попереправлял и там - не помогло…

Как правильно это делать? Должно же быть просто как-то (без переписывания кода rails-сервера).

Думаю, что без ковыряния кода rails-сервера и добавления в него своего класса ничего не получится. Видимо rails-сервер не предназначен для использования в нем произвольных , собственных слоев.
Для отображения своих слоев-классов нужно использовать обычный tile-сервер c OpenLayers, а rails-сервер только для ввода данных. Ну или подменять один из классов rails-сервера.
Все имхо.

Более тщательно почитал документацию по TileCache и выяснил, что:

This TileCache client supports multiple different rendering backends. Each rendering backend also supports the ability to draw ‘metatiles’, where a large tile is rendered, and then chopped into smaller tiles using the Python Imaging library.

MapServer -- render a tile using Python mapscript.
Mapnik -- render a tile using the mapnik Python bindings.
Cascading WMS -- fetch a tile from a remote WMS service. (Uses urllib to fetch tiles.)

Оказывается, что он не просто отдаёт тайлы, которые до этого нагенерировал мапник, а рендерит тайлы “на лету”, может быть даже через вызов мапника, складывает их себе в кэш и потом раздаёт по сети тем, кто спрашивает. Но в результате получается это несколько медленно. При масштабировании странички на сервере ворох процессов postgres, всё тормозит и в конечном счёте карта не отрисовывается. А тем временем тайлы у меня уже сгенерированы скриптом лежат в директории и никому (tilecache) они не нужны.

Как правильно отдавать статически сгенерированные тайлы? Mod_tile вроде так же работает как TileCache… Или нет?

Начал писать документацию:
http://wiki.openstreetmap.org/wiki/Создание_локального_OSM-сервера

По части работы сервера ещё возник вопрос по заливке треков. В логи сыпется следующиее:


[2011-12-27 13:23:25.471812 #4304] Rendered layouts/_inbox (11.2ms)
[2011-12-27 13:23:25.484420 #4304] Completed in 1276ms (View: 47, DB: 7) | 200 OK [osm.rs.int/user/semenov/traces]
[2011-12-27 13:25:05.134008 #13432]   Message: getpresets
[2011-12-27 13:25:05.492383 #13432] GPX Import daemon wake @ Tue Dec 27 13:25:05 +1100 2011.
[2011-12-27 13:25:05.502572 #13432]   ^[[4;36;1mSQL (0.2ms)^[[0m   ^[[0;1mSET client_min_messages TO 'panic'^[[0m
[2011-12-27 13:25:05.502914 #13432]   ^[[4;35;1mSQL (0.2ms)^[[0m   ^[[0mSET standard_conforming_strings = on^[[0m
[2011-12-27 13:25:05.503245 #13432]   ^[[4;36;1mSQL (0.2ms)^[[0m   ^[[0;1mSET client_min_messages TO 'notice'^[[0m
[2011-12-27 13:25:05.506491 #13432]   ^[[4;35;1mTrace Load (2.6ms)^[[0m   ^[[0mSELECT * FROM "gpx_files" WHERE ("gpx_files"."inserted" = 'f' AND "gpx_files"."visible" = 't') ORDER BY id^[[0m
[2011-12-27 13:25:05.516928 #13432]   ^[[4;36;1mUser Load (1.2ms)^[[0m   ^[[0;1mSELECT * FROM "users" WHERE ("users"."id" = 1) ^[[0m
[2011-12-27 13:25:05.521183 #13432] GPX Import importing 05.gpx (4) from semenov@rsprim.ru
[2011-12-27 13:25:05.650165 #13432]   ^[[4;35;1mTracepoint Load (0.8ms)^[[0m   ^[[0mSELECT * FROM "gps_points" WHERE (gpx_id = 4) LIMIT 1^[[0m
[2011-12-27 13:25:05.671793 #13432]   ^[[4;36;1mSQL (0.3ms)^[[0m   ^[[0;1mBEGIN^[[0m
[2011-12-27 13:25:05.673946 #13432]   ^[[4;35;1mTrace Load (0.6ms)^[[0m   ^[[0mSELECT * FROM "gpx_files" WHERE ("gpx_files"."id" = 4) ^[[0m
[2011-12-27 13:25:05.693795 #13432]   ^[[4;36;1mSQL (0.0ms)^[[0m   ^[[0;1mPGError: ERROR: column "id" does not exist
LINE 1: ....000000', -39.941, 3891507807, 1319433050, 0) RETURNING "id"
 ^
: INSERT INTO "gps_points" ("latitude", "gpx_id", "timestamp", "altitude", "tile", "longitude", "trackid") VALUES(431105060, 4, '2011-10-28 22:28:03.000000', -39.941, 3891507807, 1319433050, 0) RETURNING "id"^[[0m
[2011-12-27 13:25:05.694364 #13432]   ^[[4;35;1mSQL (0.2ms)^[[0m   ^[[0mROLLBACK^[[0m
[2011-12-27 13:25:05.694599 #13432] PGError: ERROR:  column "id" does not exist
LINE 1: ....000000', -39.941, 3891507807, 1319433050, 0) RETURNING "id"
                                                                   ^
: INSERT INTO "gps_points" ("latitude", "gpx_id", "timestamp", "altitude", "tile", "longitude", "trackid") VALUES(431105060, 4, '2011-10-28 22:28:03.000000', -39.941, 3891507807, 1319433050, 0) RETURNING "id"

Ну и шлётся письмо вида:


Subject: [OpenStreetMap] GPX Import failure^M
Mime-Version: 1.0^M
Content-Type: text/plain; charset=utf-8^M
Auto-Submitted: auto-generated^M
^M
Привет,

Это выглядит как ваш файл GPX

  05.gpx

с описанием

  комета

и без меток.

сбой импорта. Произошла ошибка:

  PGError: ERROR:  column "id" does not exist
LINE 1: ....000000', -39.941, 3891507807, 1319433050, 0) RETURNING "id"
                                                                   ^
: INSERT INTO "gps_points" ("latitude", "gpx_id", "timestamp", "altitude", "tile", "longitude", "trackid") VALUES(431105060, 4, '2011-10-28 22:28:03.000000', -39.941, 3891507807, 1319433050, 0) RETURNING "id"

В результате gpx не импортируется rails-сервером.

И ещё вопрос. Potlach2 не сохраняет правку - тупит на Autorization Requered. Я так понимаю он хочет авторизоваться по OAuth. То ли сам Potlach2 надо зарегистрировать, сказав по какому он адресу работает, то ли пользователи должны иметь учётку OAuth вне локальной сети - непонятно.

В Rails Port для третьей версии rails поменялся формат базы данных - в частности, названия полей id. Если у тебя rails2, нужно использоваться осмозис 0.39, иначе - 0.40.

Потлатч нужно зарегистрировать, зайдя на сайте в свои настройки OAuth и тыкнув в “Зарегистрировать ваше приложение”.

Спасибо, будет интересно почитать, если чего, добавлю что смогу.
Обзавелся намедни 8-ми гигами памяти, поэтому буду перестраивать сервер на amd64 в следующем году :slight_smile:

Также как написал Zverik, можно зарегистрировать локальный JOSM :wink:

Подскажите, кто нибудь пробовал настраивать обновление тайлов мапника (т.е. не с полной перерисовкой всех тайлов).
Вот я пробовал взять список от osm2pgsql ключ -o (при загрузке .osc в базу) и тот список скормить мапнику. Но список тайлов не полный и какой-то кривой.
Может я что то не так делаю или есть другой способ?

Доброго времени суток, уважаемые господа! Наткнулся на форум в поисках решения задачи создания локального осм-сервера и организации маршрутизации. Поднял 2 сервиса - OSM и YOURS - на локальном линуховом серваке. В принципе работает нормально. Но карту ещё нужно заполнить большим количеством данных.
2 сервиса поднял потому, что редактировать карту можно через опенстритмап, а маршрутизацию организовать через YOURS. НО! ВОзникает вопрос: каким образом я смогу экспортировать заполненную карту с локального сервера ОСМ? Т.е. можно ли будет создать (экспортировать) что-то типа своего planet.osm.bz2?
В этой теме ранее обсуждалось редактирование мап с созданием дополнительных слоёв. Вот как можно будет объединить новые данные с уже имеющимися и экспортировать их?
Может кто подскажет что …

Да.
osmosis --read-apidb host=“localhost” database=“имя_базы_данных_osm” user=“openstreetmap” password=“XXXXX” validateSchemaVersion=no --write-xml file=имя_базы_данных_osm_dump.osm

Что вы хотите? Слои или экспорт ваших данных в ОСМ?
Слои - это покрутить tilecache или mod_tile, чтобы создавались два и более слоя (соответственно тайлы в соответствующие директории будут складываться). Потом чем-нибудь эти слои показывать (страничка с openlayers).
Если же объединять свои данные, то выгрузка данных в osm (см. выше про osmosis), потом загрузить в josm и выгрузить в openstreetmap, если исходная лицензия позволяет…

Участники темы, подскажите пожалуйста насчет редактора iD для osm, задача стоит та же (что в теме), только вот
редактор бы желательно iD,
когда захожу на локальный сервер osm,там есть: правка ->Править с помощью iD, ругается конечно говорит не настроен iD.
вопрос, как настроить iD редактор к локальному серверу?

P.S. с osm только четвертый день знакомлюсь…установка проводилась по инструкции вот этой:
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
что после установки mapnik и kothic сделать необходимо? и как проверить изменения по установке?

https://github.com/openstreetmap/openstreetmap-website/blob/master/CONFIGURE.md

OAuth Consumer Keys

Three of the built-in applications communicate via the API, and therefore need OAuth consumer keys configured. These are:

Potlatch 2
iD
The website itself (for the Notes functionality)

For example, to use the Potlatch 2 editor you need to register it as an OAuth application.

Do the following:

Log into your Rails Port instance - e.g. http://localhost:3000
Click on your user name to go to your user page
Click on "my settings" on the user page
Click on "oauth settings" on the My settings page
Click on 'Register your application'.
Unless you have set up alternatives, use Name: "Local Potlatch" and URL: "http://localhost:3000"
Check the 'modify the map' box.
Everything else can be left with the default blank values.
Click the "Register" button
On the next page, copy the "consumer key"
Edit config/application.yml in your rails tree
Uncomment and change the "potlatch2_key" configuration value
Restart your rails server

An example excerpt from application.yml:

Default editor

default_editor: “potlatch2”

OAuth consumer key for Potlatch 2

potlatch2_key: “8lFmZPsagHV4l3rkAHq0hWY5vV3Ctl3oEFY1aXth”

Для ID, нужно, в моём случае в настройках Rails-сервера:
/opt/osm/openstreetmap-website/config/application.yml

      
      # Default editor
      default_editor: "id"
      # OAuth consumer key for Potlatch 2
      potlatch2_key: "iGeAIqSSqcWQHD7cvQmXjWe2Fl2iYU2b3iIvjMQ4"
      # OAuth consumer key for the web site
      oauth_key: "iGeAIqSSqcWQHD7cvQmXjWe2Fl2iYU2b3iIvjMQ4"
      # OAuth consumer key for iD
      id_key: "iGeAIqSSqcWQHD7cvQmXjWe2Fl2iYU2b3iIvjMQ4"

По просьбам радиослушателей, чуток обновил инструкцию, добавив инструкцию для debian (правда не полную, т.к. полной и у самого нет):
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
Добавил инструкцию по установке локального сайта-копии OpenstreetMap.ru:
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.A1.D1.82.D0.B0.D0.B2.D0.B8.D0.BC_.D0.BA.D0.BE.D0.BF.D0.B8.D1.8E_openstreetmap.ru
Выложил стили для отрисовки энерго-объектов (линии, подстанции, ТП и т.п.):
https://github.com/progserega/osm_power_mapcss_styles
так же там есть стили для отрисовки районного деления разными цветами, пример (картинка):
https://github.com/progserega/osm_power_mapcss_styles/blob/master/osm_mapcss_styles/example.png

Необходимо настроить mod_tile/tilecache, чтобы они с помощью mapnik создавали png-картинки из гео-данных в postgis и отдавали их через apache.

Соответственно нужен сайтик, который будет эти картинки запрашивать и отдавать:
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.9E.D1.82.D0.BE.D0.B1.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85

Товарищи!
Что-то ставлю по своей же инструкции и никак не идёт.

bundle exec rake test

Валится с ошибками:


bundle exec rake test
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's 'rails' settings.
Run options: --seed 18417

# Running:

EEEEEEEEEEEEEEEEEEEEEE...........................................................................................................................EEEEEEEEEEEEEEEEEEEEEEEEEE..............EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE........................................................................EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE..EEEE.........................EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE..............EEEEEEEEEEEEEEEEE.........EE.....EEE...EEEEEEEEEEEEE..............................EEEEEEEEEEEEEEEEE......................................................EEEEE....................................EEEEEEE....EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE..EEEEE............EEEEEEEEEEEEEE.EEEEEEEE.....EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE..................Entity: line 1: parser error : Start tag expected, '<' not found
nonsense
^
......EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE..EEEEEEEEEEEEEEEE.........EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE....EEEEEE......................EEEE

Finished in 369.937322s, 2.8329 runs/s, 718.7028 assertions/s.

  1) Error:
OldRelationControllerTest#test_history:
ActiveRecord::InvalidForeignKey: PG::ForeignKeyViolation: ERROR:  insert or update on table "nodes" violates foreign key constraint "nodes_redaction_id_fkey"
DETAIL:  Key (redaction_id)=(1) is not present in table "redactions".
: INSERT INTO "nodes" ("node_id", "latitude", "longitude", "changeset_id", "visible", "version", "tile", "timestamp", "redaction_id") VALUES (17, 10000000, 10000000, 2, 't', 1, 3221331576, '2007-01-01 00:00:00.000000', 1)


Error:
OldRelationControllerTest#test_history:
NoMethodError: undefined method `each' for nil:NilClass



  2) Error:
OldRelationControllerTest#test_redact_relation_current_version:
ActiveRecord::InvalidForeignKey: PG::ForeignKeyViolation: ERROR:  insert or update on table "nodes" violates foreign key constraint "nodes_redaction_id_fkey"
DETAIL:  Key (redaction_id)=(1) is not present in table "redactions".
: INSERT INTO "nodes" ("node_id", "latitude", "longitude", "changeset_id", "visible", "version", "tile", "timestamp", "redaction_id") VALUES (17, 10000000, 10000000, 2, 't', 1, 3221331576, '2007-01-01 00:00:00.000000', 1)


И т.е. под 400 ошибок… Подскажите, пожалуйста, куда копать.

Обновление:
Уже разобрался - проблема была в том, что пользователю-владельцу базы не выставил права на создание таблиц и права суперпользователя:


ALTER USER openstreetmap with CREATEDB;
alter role openstreetmap superuser;

Правда теперь другая проблема вылезла:


 Showing /opt/osm/openstreetmap-website/app/views/layouts/_head.html.erb where line #5 raised:

uninitialized constant OVERPASS_URL
  (in /opt/osm/openstreetmap-website/app/assets/javascripts/osm.js.erb)

Extracted source (around line #11):

9  STATUS:                <%= STATUS.to_json %>,
10  MAX_NOTE_REQUEST_AREA: <%= MAX_NOTE_REQUEST_AREA.to_json %>,
11  OVERPASS_URL:          <%= OVERPASS_URL.to_json %>,
12  NOMINATIM_URL:         <%= NOMINATIM_URL.to_json %>,
13
14  MARKER_GREEN:          <%= image_path("marker-green.png").to_json %>,

Trace of template inclusion: app/views/layouts/site.html.erb, app/views/layouts/map.html.erb

Rails.root: /opt/osm/openstreetmap-website
Application Trace | Framework Trace | Full Trace

app/assets/javascripts/osm.js.erb:11:in `block in singletonclass'
app/assets/javascripts/osm.js.erb:65531:in `instance_eval'
app/assets/javascripts/osm.js.erb:65531:in `singletonclass'
app/assets/javascripts/osm.js.erb:65529:in `__tilt_59686820'
app/views/layouts/_head.html.erb:5:in `_app_views_layouts__head_html_erb__2491354807098557887_49570780'
app/views/layouts/site.html.erb:3:in `_app_views_layouts_site_html_erb__3032881350140682278_55232360'
app/views/layouts/map.html.erb:83:in `_app_views_layouts_map_html_erb___2959491290098033344_67334920'
config/initializers/cors.rb:9:in `call'

В новой версии OSM-сервера добавили overpass-api-ruby? Я его поставил:


gem install overpass-api-ruby

Но всё равно при подключении к серверу браузером - вываливается вышеозначенная ошибка…

Здравствуйте!

Тоже заинтересовался задачей создания локального ОСМ сервера, но чисто академически. Может быть у Вас случайно остался образ работающего сервера? Или есть подробная инструкция по настройке?