OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2011-09-27 06:32:38

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

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

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

Товарищи, подскажите пожалуйста, в какую сторону копать (какие инструменты есть и как их примерно соединить), чтобы реализовать следующую задачу:

Внутри компании должен быть установлен сервер со своей базой данных и со своим рендером OSM. На этот сервер с помощью, допустим Potlach или josm добавляются секретные данные.

Сервер отрисовывает эти данные как OSM-слой и накладывает его поверх подгружаемого из интернета Mapnik-а. В результате на локальном внутреннем сервере сотрудникам доступна базовая OSM-карта + отрисованные поверх неё секретные объекты, добавленные сотрудниками на локальный сервер.

Данные секретные (служба безопасности запретила их в общий доступ выдавать, к сожалению).

Заранее спасибо! :-)


matrix.org: @progserega:rsprim.ru

Offline

#2 2011-09-27 06:39:59

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,446
Website

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

Хм... А зачем делать секретные данные именно как осм-слой?

Offline

#3 2011-09-27 08:13:08

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,635
Website

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

progserega wrote:

Внутри компании должен быть установлен сервер со своей базой данных и со своим рендером OSM. На этот сервер с помощью, допустим Potlach или josm добавляются секретные данные.

Сервер отрисовывает эти данные как OSM-слой и накладывает его поверх подгружаемого из интернета Mapnik-а. В результате на локальном внутреннем сервере сотрудникам доступна базовая OSM-карта + отрисованные поверх неё секретные объекты, добавленные сотрудниками на локальный сервер.

Для начала нужно поставить:
http://wiki.openstreetmap.org/wiki/Rails_port
http://wiki.openstreetmap.org/wiki/Mapnik
http://wiki.openstreetmap.org/wiki/Minutely_Mapnik


ШТОСМ | josm.ru | обо мне | two hands in the air if you don't really care

Offline

#4 2011-09-27 10:50:28

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

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

liosha wrote:

Хм... А зачем делать секретные данные именно как осм-слой?

А как иначе?
Может конечно есть более простой вариант, который я не знаю...


matrix.org: @progserega:rsprim.ru

Offline

#5 2011-09-27 11:00:22

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

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

Zverik wrote:
progserega wrote:

Внутри компании должен быть установлен сервер со своей базой данных и со своим рендером OSM. На этот сервер с помощью, допустим Potlach или josm добавляются секретные данные.

Сервер отрисовывает эти данные как OSM-слой и накладывает его поверх подгружаемого из интернета Mapnik-а. В результате на локальном внутреннем сервере сотрудникам доступна базовая OSM-карта + отрисованные поверх неё секретные объекты, добавленные сотрудниками на локальный сервер.

Для начала нужно поставить:
http://wiki.openstreetmap.org/wiki/Rails_port
http://wiki.openstreetmap.org/wiki/Mapnik
http://wiki.openstreetmap.org/wiki/Minutely_Mapnik

Ага...
Правильно ли я понимаю, что будет стоять сервер (Rails_Port), отрисовкой занимается Mapnik, а Minutely_Mapnik ежечастно приводит базу в соответствие с мировой?

Не будут ли тогда "секретные данные" (для внутреннего использования), заливаемые пользователями компании в эту базу конфликтовать с данными, импортируемыми с мировой базы?

Ведь по хорошему, эти "секретные данные" должны быть как отдельная база, с которой генерируется слой. Хотя с другой стороны, ридактируя, пользователи не будут видеть OSM данных из общей базы...

Как правильно реализовать этот подход?


matrix.org: @progserega:rsprim.ru

Offline

#6 2011-09-27 11:04:05

Zverik
Moderator
From: Москва
Registered: 2010-10-14
Posts: 5,635
Website

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

progserega wrote:

Правильно ли я понимаю, что будет стоять сервер (Rails_Port), отрисовкой занимается Mapnik, а Minutely_Mapnik ежечастно приводит базу в соответствие с мировой?

Да, именно так. При этом можно настроить потлатч и жосм на внутренню базу.

progserega wrote:

Не будут ли тогда "секретные данные" (для внутреннего использования), заливаемые пользователями компании в эту базу конфликтовать с данными, импортируемыми с мировой базы?

Нет, вы будете рисовать отдельный слой, который можно сделать отключаемым и/или полупрозрачным для накладывания на данные OSM (то есть, рисовать только добавленные «секретные» объекты). Разумеется, для лицензионной чистоты никакие данные из основной базы OSM не должны включаться в ваш набор.

При редактировании можно включить подложку OSM как тайлы, и привязываться к ней (не трассируя элементы явно). Ну или использовать любую другую подложку.

Last edited by Zverik (2011-09-27 11:05:03)


ШТОСМ | josm.ru | обо мне | two hands in the air if you don't really care

Offline

#7 2011-09-27 11:16:50

fndoder
Member
Registered: 2011-07-17
Posts: 251

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

Более простой метод решения данной  проблемы — взять любую подходящую ГИС, импортировать в неё данные OSM (взяв готовые SHP с Gis-Lab или сконвертировав самостоятельно).
Меня этот способ при решении такой же задачи вполне устроил.

Offline

#8 2011-09-27 19:13:00

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

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

fndoder wrote:

...метод решения данной  проблемы — взять любую подходящую ГИС...

,

в которой осм-рендер (глобальный или локальный) может выступать в качестве подложки.


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

Offline

#9 2011-09-27 20:19:29

fndoder
Member
Registered: 2011-07-17
Posts: 251

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

s-s-s wrote:

в которой осм-рендер (глобальный или локальный) может выступать в качестве подложки.

Практика показала, что так лучше не делать.
Преимуществ растровая подложка над векторной особо не имеет, а вот недостатков полно:
— Плохое качество картинки на масштабах, неравных тем, что рендерит Мапник (это проявляется и в JOSM при включении подложки OSM)
— Меньшая скорость работы (тормоза), особенно если рендер глобальный и сеть небыстрая
— Невозможность просматривать свойства объектов, которые не рендерятся  (addr:street, например)
— Меньшая гибкость: нужно поменять цвет дорог, в интуитивно понятном GUI хорошей ГИС взял и поменял; у глобального Мапника это никак не сделаешь
— Для локального Мапника нужен сервер, желательно с Линуксом. Если на остальных компьютерах Windows, то это лишние затраты на железо и на администрирование этого единственного сервера.

Offline

#10 2011-09-28 06:57:00

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

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

Ну, линукс у нас есть, он, как говориться, не может не есть :-)

Вариант с ГИС, как я понимаю - не подойдёт, т.к. рисовать эти секретные объекты будут пользователи, не сильно искушённые в картографии - это раз и второе - нужна централизация и отрисовка тайлов через браузер - как сервис.

> Нет, вы будете рисовать отдельный слой, который можно сделать отключаемым и/или полупрозрачным для накладывания на данные OSM (то есть, рисовать только добавленные «секретные» объекты). Разумеется, для лицензионной чистоты никакие данные из основной базы OSM не должны включаться в ваш набор.

Т.е. будет две базы - одна - регулярно обновляемая с OSM, вторая - содержащая только секретные данные. Соответственно сервер будет рендерить первую как основной слой и вторую, как полупрозрачный слой и совмещать эти слои на выходе, который будет отображаться пользователям в их браузерах.
Если я правильно понял, то тогда пошёл разбираться :-)


matrix.org: @progserega:rsprim.ru

Offline

#11 2011-09-28 08:11:27

Sergey Astakhov
Member
From: St.Petersburg, Russia
Registered: 2009-11-13
Posts: 5,594

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

Мы подобную вещь сделали просто - карта отдельно (в постгис, рендерится mapserver-ом), свои данные отдельно (интерфейс редактирования сделан свой, на базе OpenLayers). Объединяется при показе, в OpenLayers.

Offline

#12 2011-10-18 23:02:32

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

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

Гм, попробовал залить Приморский край, Россию - вываливается с ошибкой, что какой-то точки (идентификатора) нет в таблице. Почитал - видать действительно нужно заливать весь мир.
Скачал, начал заливать - вывалилось с ошибкой о том, что места не хватает. Оставшиеся 100 Гб из доступных 134Гб скушало и вывалилось...

Хм, а сколько же на загрузку мира в БД нужно места на сервере?


matrix.org: @progserega:rsprim.ru

Offline

#13 2011-10-18 23:11:06

Aleksandr Dezhin
Member
From: Msk
Registered: 2008-05-25
Posts: 2,109
Website

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

progserega wrote:

Гм, попробовал залить Приморский край, Россию - вываливается с ошибкой, что какой-то точки (идентификатора) нет в таблице.

Возможно стоит clipIncompleteEntities сделать перед заливкой.


[ Проверка границ и НП | Дампы | Валидатор рек | Кое-что ещё ]
- Нет! Не надо пытаться. Делай. Или не делай. Не надо пытаться. (c) Йода

Offline

#14 2011-10-19 07:43:06

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

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

progserega wrote:

Гм, попробовал залить Приморский край, Россию - вываливается с ошибкой, что какой-то точки (идентификатора) нет в таблице. Почитал - видать действительно нужно заливать весь мир.
Скачал, начал заливать - вывалилось с ошибкой о том, что места не хватает. Оставшиеся 100 Гб из доступных 134Гб скушало и вывалилось...

Хм, а сколько же на загрузку мира в БД нужно места на сервере?

Хочется понять состояние вашей системы.
Правильно ли я понимаю, что:
1. на вашем "локальной осм-сервер" (Rails Port, Mapnik ...) можно зарегистрировать  "локальный осм-аккаунт"
2. создать под ним с помощью встроенного редактора Potlatch  и\или локального Josm-а новый объект и сохранить его в локальной базе.
3. увидеть его в мапниковской подложке локальной осм-карты
4. отредактировать и увидеть изменения в подложке.


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

Offline

#15 2011-10-20 05:45:56

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

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

s-s-s wrote:
progserega wrote:

Гм, попробовал залить Приморский край, Россию - вываливается с ошибкой, что какой-то точки (идентификатора) нет в таблице. Почитал - видать действительно нужно заливать весь мир.
Скачал, начал заливать - вывалилось с ошибкой о том, что места не хватает. Оставшиеся 100 Гб из доступных 134Гб скушало и вывалилось...

Хм, а сколько же на загрузку мира в БД нужно места на сервере?

Хочется понять состояние вашей системы.
Правильно ли я понимаю, что:
1. на вашем "локальной осм-сервер" (Rails Port, Mapnik ...) можно зарегистрировать  "локальный осм-аккаунт"
2. создать под ним с помощью встроенного редактора Potlatch  и\или локального Josm-а новый объект и сохранить его в локальной базе.
3. увидеть его в мапниковской подложке локальной осм-карты
4. отредактировать и увидеть изменения в подложке.

Ну примерно так. С той лишь разницей, что база мира и база вносимых изменений локальными пользователями будет разниться. И из изменений локальных пользователей будет генериться дополнительный слой, который будет накладываться на "отрендеренный" локальным сервером мир.


matrix.org: @progserega:rsprim.ru

Offline

#16 2011-10-20 05:49:27

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

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

Aleksandr Dezhin wrote:
progserega wrote:

Гм, попробовал залить Приморский край, Россию - вываливается с ошибкой, что какой-то точки (идентификатора) нет в таблице.

Возможно стоит clipIncompleteEntities сделать перед заливкой.

Спасибо!
Ну а пока мир лью :-) Увеличили место до 500 Гб на сервере и пытаюсь мир залить...


matrix.org: @progserega:rsprim.ru

Offline

#17 2011-10-20 07:07:11

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

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

progserega,
секретные объекты будут отдельны от объектов в основной базе, или будут уточняться секретными данными объекты существующие в основной?


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

Offline

#18 2011-10-20 08:53:36

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

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

progserega wrote:
s-s-s wrote:
progserega wrote:

Гм, попробовал залить Приморский край, Россию - вываливается с ошибкой, что какой-то точки (идентификатора) нет в таблице. Почитал - видать действительно нужно заливать весь мир.
Скачал, начал заливать - вывалилось с ошибкой о том, что места не хватает. Оставшиеся 100 Гб из доступных 134Гб скушало и вывалилось...

Хм, а сколько же на загрузку мира в БД нужно места на сервере?

Хочется понять состояние вашей системы.
...

Ну примерно так. С той лишь разницей, что база мира и база вносимых изменений локальными пользователями будет разниться. И из изменений локальных пользователей будет генериться дополнительный слой, который будет накладываться на "отрендеренный" локальным сервером мир.

Тогда получается, что возникшая ошибка не связана со схемой "локального осм-сервера", и если она не связана с количеством свободного место, то её нужно искать в схеме локального рендеринга мира из общих осм-данных.

И еще не понятно,  что значит "из изменений локальных пользователей будет генериться дополнительный слой" ? В базовый слой OpenLayers на карте с результатими рендернга изменений в  "локальной осм-сервере" также как переключение между мапник-ом и осмарендер-ом на карте openstreetmap.org?


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

Offline

#19 2011-10-20 22:37:37

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

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

s-s-s wrote:

Тогда получается, что возникшая ошибка не связана со схемой "локального осм-сервера", и если она не связана с количеством свободного место, то её нужно искать в схеме локального рендеринга мира из общих осм-данных.

И еще не понятно,  что значит "из изменений локальных пользователей будет генериться дополнительный слой" ? В базовый слой OpenLayers на карте с результатими рендернга изменений в  "локальной осм-сервере" также как переключение между мапник-ом и осмарендер-ом на карте openstreetmap.org?

Ну, сейчас заливается мир из xml в postgres, чтобы его локально "рендерить". На этапе заливки в прошлый раз и вывалилось из-за отсутствия места на диске.

Я думаю локальный слой "секретных данных" будет прозрачным. И будет "довключаться".  Как оверлей космоснимков вот тут:
http://latlon.org/maxi?zoom=17&lat=56.3 … 0FF0000FBT

Но пока я до этого ещё не дошёл в процессе установки и настройки :-) Пока только мир заливается в postgres.

Last edited by progserega (2011-10-20 22:38:23)


matrix.org: @progserega:rsprim.ru

Offline

#20 2011-10-21 06:29:51

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

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

progserega, не понимаю зачем тебе "заливается мир из xml в postgres", бери тайлы с osm.org, а свои рендери как прозрачный слой. Зачем это лишнее действие?


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

Offline

#21 2011-10-21 08:27:15

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

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

ErshKUS wrote:

progserega, не понимаю зачем тебе "заливается мир из xml в postgres", бери тайлы с osm.org, а свои рендери как прозрачный слой. Зачем это лишнее действие?

Обычно, настоящие "секретные данные" подразумевают наличие 15-ти метровой зоны безопасности, а также сдачу жестких дисков в конце рабочего дня в 1-й отдел. smile
О каком интернете может идти речь smile


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

Offline

#22 2011-10-25 07:36:18

chehov85
Member
Registered: 2011-08-25
Posts: 20

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

По мануалу предлогаемая схема:

Transfer the Data to Postgres Database
Now we can transfer the OSM data from the file gis.osm into the Postgres database. The program osm2pgsql will do this job:
cd /usr/share/ptgen
osm2pgsql -s -C 700 -d ptgis -U ptuser -S ../osm2pgsql/default.style gis.osm
The more we filtered out in the previous step, the less time this transfer will take. An OSM extract of Germany, filtered as in the above example, should take only a few minutes.

Тоже ругается, но сообщение другого вида:

sysadmin@gis-server:/usr/share/geogen$ osm2pgsql -s -C 700 -d geodb -U pguser -S ../osm2pgsql/default.style gis1.osm
osm2pgsql SVN version 0.66-

Using projection SRS 900913 (Spherical Mercator)
Setting up table: planet_osm_point
SELECT AddGeometryColumn('planet_osm_point', 'way', 900913, 'POINT', 2 );
failed: ERROR:  AddGeometryColumns() - invalid SRID
CONTEXT:  SQL statement "SELECT AddGeometryColumn('','', $1 , $2 , $3 , $4 , $5 )"
PL/pgSQL function "addgeometrycolumn" line 5 at SQL statement

Error occurred, cleaning up

Как я понял по тойже причине... Как быть?

Offline

#23 2011-10-25 07:38:19

chehov85
Member
Registered: 2011-08-25
Posts: 20

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

Как ей planet_osm_point в принципе там появиться если я данные еще не конвертировал?

Offline

#24 2011-10-25 07:40:55

Komяpa
Member
From: Minsk
Registered: 2009-04-14
Posts: 1,320
Website

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

chehov85, вы забыли поставить для базы PostGIS и/или импортировать файл с описаниями систем координат.


world processing is what we do.
[OSMF BY Team] [http://komzpa.net/] [jabber: komzpa@gmail.com] [mobile/SMS: +375257407159]

Offline

#25 2011-10-25 07:46:13

chehov85
Member
Registered: 2011-08-25
Posts: 20

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

Где изменить SQL-запрос на мою таблицу?

Offline

Board footer

Powered by FluxBB