You are not logged in.

#76 2011-11-30 06:13:37

s-s-s
Member
From: Russia, Moscow
Registered: 2009-09-10
Posts: 373
Website

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

progserega wrote:

...После надо будет наваять полную инструкцию по поднятию своего rails-сервера... Со всеми возможными подводными камнями.
...

Было бы не плохо...


С уважением, Сергей.

Offline

#77 2011-12-06 04:54:11

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

Re: создание своего 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/ … 37117.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

Last edited by progserega (2011-12-06 05:03:35)


matrix.org: @progserega:rsprim.ru

Offline

#78 2011-12-06 06:21:36

s-s-s
Member
From: Russia, Moscow
Registered: 2009-09-10
Posts: 373
Website

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

progserega wrote:

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

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

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

С уважением, Сергей.

Offline

#79 2011-12-06 22:11:12

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

Да, вот, например так:
http://vmap0.tiles.osgeo.org/wms/vmap0? … HEIGHT=256


matrix.org: @progserega:rsprim.ru

Offline

#80 2011-12-07 06:35:42

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

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

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- … oogle.html
Но тут как раз с наложением и перекрытием. Т.е. два слоя одновременно не видны, даже если включить оба.

Last edited by progserega (2011-12-07 06:54:07)


matrix.org: @progserega:rsprim.ru

Offline

#81 2011-12-08 00:31:54

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

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


matrix.org: @progserega:rsprim.ru

Offline

#82 2011-12-08 03:14:32

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

Теперь всё это дело прикрутить бы к 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-сервера).

Last edited by progserega (2011-12-08 03:16:51)


matrix.org: @progserega:rsprim.ru

Offline

#83 2011-12-08 08:19:34

s-s-s
Member
From: Russia, Moscow
Registered: 2009-09-10
Posts: 373
Website

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

progserega wrote:

Теперь всё это дело прикрутить бы к 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-сервера.
Все имхо.


С уважением, Сергей.

Offline

#84 2011-12-13 01:50:53

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

Более тщательно почитал документацию по 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... Или нет?


matrix.org: @progserega:rsprim.ru

Offline

#85 2011-12-29 02:09:34

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

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

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

[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 [http://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 вне локальной сети - непонятно.


matrix.org: @progserega:rsprim.ru

Offline

#86 2011-12-29 07:34:24

Zverik
Moderator
From: Минск
Registered: 2010-10-14
Posts: 5,693
Website

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

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

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

Last edited by Zverik (2011-12-29 07:35:32)


ШТОСМ | josm.ru | обо мне | удалёнка зло

Offline

#87 2011-12-29 10:19:32

s-s-s
Member
From: Russia, Moscow
Registered: 2009-09-10
Posts: 373
Website

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

progserega wrote:

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

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

progserega wrote:

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

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

Last edited by s-s-s (2011-12-29 10:20:06)


С уважением, Сергей.

Offline

#88 2012-02-09 17:49:34

ErshKUS
Member
From: Калиниград
Registered: 2010-12-27
Posts: 803

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

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


Ты никогда не спутаешь пути: ты стоишь...
И, может, так и нужно, но как тогда узнать, что там выше крыш?   (Lumen, Лабиринт)

Offline

#89 2012-03-21 09:57:37

SunnyStas
Member
Registered: 2012-03-21
Posts: 1

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

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

Offline

#90 2012-11-30 04:48:44

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

SunnyStas wrote:

Доброго времени суток, уважаемые господа! Наткнулся на форум в поисках решения задачи создания локального осм-сервера и организации маршрутизации. Поднял 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

SunnyStas wrote:

В этой теме ранее обсуждалось редактирование мап с созданием дополнительных слоёв. Вот как можно будет объединить новые данные с уже имеющимися и экспортировать их?
Может кто подскажет что ...

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


matrix.org: @progserega:rsprim.ru

Offline

#91 2014-11-10 18:58:06

openSUSEuser
Member
Registered: 2014-11-09
Posts: 2

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

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

P.S. с osm только четвертый день знакомлюсь..установка проводилась по инструкции вот этой:
http://wiki.openstreetmap.org/wiki/RU:% … 1%80%D0%B0
что после установки mapnik и kothic сделать необходимо? и как проверить изменения по установке?

Offline

#92 2015-04-03 06:37:44

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

openSUSEuser wrote:

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

P.S. с osm только четвертый день знакомлюсь..установка проводилась по инструкции вот этой:
http://wiki.openstreetmap.org/wiki/RU:% … 1%80%D0%B0
что после установки mapnik и kothic сделать необходимо? и как проверить изменения по установке?

https://github.com/openstreetmap/openst … NFIGURE.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"

matrix.org: @progserega:rsprim.ru

Offline

#93 2015-04-03 06:43:35

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

По просьбам радиослушателей, чуток обновил инструкцию, добавив инструкцию для debian (правда не полную, т.к. полной и у самого нет):
http://wiki.openstreetmap.org/wiki/RU:% … 1%80%D0%B0
Добавил инструкцию по установке локального сайта-копии OpenstreetMap.ru:
http://wiki.openstreetmap.org/wiki/RU:% … reetmap.ru
Выложил стили для отрисовки энерго-объектов (линии, подстанции, ТП и т.п.):
https://github.com/progserega/osm_power_mapcss_styles
так же там есть стили для отрисовки районного деления разными цветами, пример (картинка):
https://github.com/progserega/osm_power … xample.png

Last edited by progserega (2015-04-03 06:52:44)


matrix.org: @progserega:rsprim.ru

Offline

#94 2015-04-03 06:48:15

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

openSUSEuser wrote:

что после установки mapnik и kothic сделать необходимо? и как проверить изменения по установке?

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

Соответственно нужен сайтик, который будет эти картинки запрашивать и отдавать:
http://wiki.openstreetmap.org/wiki/RU:% … 1.8B.D1.85


matrix.org: @progserega:rsprim.ru

Offline

#95 2015-08-31 08:01:12

progserega
Member
From: Владивосток
Registered: 2009-12-31
Posts: 456

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

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

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

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

Last edited by progserega (2015-09-01 00:49:07)


matrix.org: @progserega:rsprim.ru

Offline

#96 2016-10-30 15:29:41

iagsav
Member
Registered: 2015-03-15
Posts: 125

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

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

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

Offline

Board footer

Powered by FluxBB