Giter Club home page Giter Club logo

openstreetmap.ru's Introduction

Это проект создания OpenStreetMap с русским лицом

Обсуждение:

Обратная связь без регистрации http://osmru.reformal.ru/

Каталог объектов (сейчас только POI) https://github.com/ErshKUS/osmCatalog

Про добавление пои и/или корректировку списка пишите, или сюда https://github.com/ErshKUS/osmCatalog/issues , или сюда http://forum.openstreetmap.org/viewtopic.php?pid=294559

Протокол валидаторов: http://wiki.openstreetmap.org/wiki/RU:Validator_protocol

Development

Этот раздел описывает способ настроить локальный вариант сайта.

Ставим зависимости:

sudo apt-get install apache2 php5 libapache2-mod-php5 php5-curl

Дальше необходимо поднять локальный веб-сервер. Один из способов это сделать --- использовать утилиту phpup. Скачиваем phpup:

wget https://raw.github.com/lox/phpup/master/phpup
chmod +x phpup

Чтобы не поднимать локальную базу данных и поиск, можно настроить перенаправление запросов на главный сервер openstreetmap.ru:

mkdir www/api
echo "Redirect /api/ http://openstreetmap.ru/api/" > www/api/.htaccess

Запускаем веб-сервер:

./phpup -p 8000 www

Теперь сайт доступен по адресу

localhost:8000

Deployment

Этот раздел описывает способ развертывания сайта на удаленном сервере.

www

Ставим следующие зависимости

apache2 php5 libapache2-mod-php5 php5-curl

Создаем конфиг апача примерно следующего содержания, где /path/to/repo/osmru --- это путь до скачанного репозитория.

#Listen 8011
<VirtualHost *:80>
	ServerAdmin webmaster@localhost
	ServerName osmru

	DocumentRoot /path/to/repo/osmru/www
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory /path/to/repo/osmru/www>
		Options Indexes FollowSymLinks -MultiViews
		AllowOverride All
		Order allow,deny
		allow from all
	</Directory>

	ScriptAlias /api/ /path/to/repo/osmru/api/
	<Directory "/path/to/repo/osmru/api">
		AllowOverride All
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

	ErrorLog /var/log/apache2/osm.ru-error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/osm.ru-access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes -MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

Кладем этот конфиг по адресу /etc/apache2/sites-available/osmru

Включаем сайт osmru

sudo a2ensite osmru

Включаем mod_rewrite

sudo a2enmod rewrite

Добавляем в /etc/hosts строчку

127.0.0.1 	osmru

Перезагружаем apache

sudo /etc/init.d/apache2 restart

Вэлкам

http://osmru/

Меню страниц

Специально чтобы можно было тестировать не поднимая БД сделан fallback на отсутствие pg_connect: https://github.com/ErshKUS/OpenStreetMap.ru/blob/master/www/include/config.php#L20 Однако можно и поднять БД. Для этого следует выполнить 3 первых шага из п. db & search + установить пакет php5-pgsql. Перезагрузить apache. В файл /www/include/passwd.php прописать нужные параметры подключения: пользователя, пароль и БД. Чтобы этот файл не коммитился в репозитарий (мы разработчики или кто!?) выполняем

git update-index --assume-unchanged www/include/passwd.php

нет, .gitignore лучше пользовать

git commit -a

db & search

Ставим следующие пакеты

postgresql-8.4 postgresql-client-8.4 postgresql-contrib-8.4 postgresql-doc-8.4 postgresql-8.4-postgis postgis

Создаем пользователя postgres в OS (вернее с установкой пакета он уже должен появиться. Проверяем это

groups postgres

)..., а затем и базы данных. Эта и последующие команды должны исполняться от имени postgres

createuser

Создаем базу данных с именем, например, postgistemplate. Прикручиваем PostGIS к PostgreSQL

createdb postgistemplate
createlang plpgsql postgistemplate

psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis-2.0/postgis.sql	
psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis-2.0/spatial_ref_sys.sql
psql -d postgistemplate -f /usr/share/postgresql/8.4/contrib/postgis_comments.sql

Заливаем данные в базу (Готового скрипта пока нет: обращаться к ErshKUS)

Ставим сфинкса отсюда http://sphinxsearch.com/downloads/release/.

Берем конфиг сфинкса отсюда и кладем по адресу /etc/sphinxsearch/sphinx.conf.

Создаем папку /var/cache/sphinx.

Запускаем индексацию

indexer --all

Запускаем демона сфинкса

searchd

C помощью easy_install ставим питоновский пакет psycopg2 // TODO: добавить ссылку на описание easy_install

openstreetmap.ru's People

Contributors

alno avatar amdmi3 avatar az09 avatar bushmank avatar culebron avatar cupivan avatar ershkus avatar foxhind avatar gentoid avatar kiselev-dv avatar larry0ua avatar lischenko avatar nataraj-hates-ms-for-stealing-github avatar orofarne avatar pankdm avatar progserega avatar putnik avatar rungee avatar shramov avatar shurshur avatar simgislab avatar skozyr avatar stud avatar zahay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openstreetmap.ru's Issues

Не прорисовываются квадраты карты

как воспроизвести:

  1. перезагружаем страницу с картой по ctrl+f5 (без кеша)
  2. нажимаем стрелочку вверху справа, чтоб раскрыть карту на всю страницу
  3. баг - внизу серая полоса

js функции для персональных маркеров и линий

js функции для персональных маркеров и линий.
рисовать на отдельном слое. Для маркеров позволить делать попапы со своей текстовкой.
Функции: добавить, изменить, удалить. Для линий можно пока просто добавить и удалить
Поставить ограничения: 30 маркеров и 20 линий не более 30 точек в каждой

Хранить положение на карте, привязанное к пользователю

Сейчас положение сохраняется в cookies. Предлагается дать возможность залогиненному пользователю хранить home location в базе. Должна быть галочка "всегда открывать указанное положение" или "запоминать последнее положение на этом компьютере". Для заданного положения сделать возможность получить эту позицию из OSM через OAuth.

Валидаторы

Наверно стоит добавить после плюшек еще один таб - разработчикам (в смысле разработчикам карт) и туда дать ссылки на валидаторы. Желательно, чтоб валидаторы открывались сразу на нужной позиции (координаты из карты брать)
Список желаемых валидаторов - дополняем:
http://keepright.ipax.at/report_map.php
http://www.itoworld.com/product/data/ito_map/main

Котярины валидаторы

ссылка на это место в других картах

"Может сделать ссылки на всякие гуглы, бинги и яндексы с бубльгисами?" (Ilis http://forum.openstreetmap.org/viewtopic.php?pid=224535#p224535)

предлагаю сделать ссылку в панели инструментов типа гугл/яндекс/2gis
новую панель можно сделать, но она будет пустой, да и лепить еще одну панель ради ссылок...

ссылки на google, яндекс, 2gis. бинг думаю не стоит

таблица БД для персональных маркеров и линий

таблица БД для персональных маркеров и линий.
Предлагаю хранить в отдельной таблице, доступ на чтение по последовательному ID (т.к. нет большого смысла скрывать), а доступ к редактирование + доп хеш чего либо

Расформировать "плюшки"

Давно пора избавиться от невнятной страницы "плюшки", но для этого надо всё ценное из неё куда-то деть.

Часть "общайся" уже перенесена в about.

Часть "участвуй" отчасти в about, отчасти устарела. Считаю нужным создать такой раздел с нуля.

Часть "используй" - фактически ссылки на карты для навигаторов. Можно создать на сайте раздел "скачать", где дать эти и возможно другие ссылки.

Параметры permalink'а могут дублироваться в query и anchor

http://www.openstreetmap.ru/?layer=M&zoom=12&lat=55.9295&lon=37.7776
-> жмем permalink ->
http://www.openstreetmap.ru/?layer=M&zoom=12&lat=55.9295&lon=37.7776#layer=M&lat=55.9295&lon=37.7776&zoom=12

Видимо нужно делать как-то так:

  1. координаты умолчального положения на карте парсить из #, при его отсутствии из ?, при его отсутствии из кук
    2.1) как минимум, url с ?... редиректить на url с #... (редирект - для совместимости с браузерами, не умеющими history api)
    2.2) как максимум, в дополнение к 2.1 всегда (при любом перемещении карты и переключении слоёв) менять url на #-пермалинк (тут же видимо надо обновлять положение/слои в куке)

Не работает сохранение текущей карты в cookie

В LeafLet больше нет методов L.Control.Layers.currentBaseLayer() и L.Control.Layers.chooseBaseLayer(). Из-за этого текущая карта не сохраняется. Необходимо заменить их вызовы и сделать примерно так же, как сделано Control.Permalink.js, заодно реализовать сохранение оверлеев.

Джойстик работает не во всех браузерах

при нажатии на стрелку, которая вылазит при наведении на кружочек, карта не двигается, и потом уже не двигается и при перетягиванием

FF 5.0.1 :OK
Midori 0.4.0:OK
Opera 11.50: FAIL, блокирует карту
Opera 12.00.1033:FAIL, блокирует карту
IE9:FAIL

Убрать слой "Tranport map"

У нас есть слой маршрутов с latlon.org. В будущем ожидается слой с кликабельными остановками, который будет делаться тем же скриптом, что делает маршруты на latlon.org. Два непохожих и идейно несогласованных слоя мне кажется чересчур.

Создание XMLHttpRequest следует сделать более браузерно-переносимым

Сейчас для AJAX запросов создаётся объект XMLHttpRequest. Не во всех браузерах это будет работать, надо в зависимости от условий делать по-разному (в Internet полно примеров). Желательно оформить создание объекта отдельной функцией, чтобы можно было применять везде.

всплывающие панельки справа

предложение - всплывающие панельки справа не должны при всплывании закрывать правые кнопки. предлагаю подвинуть место всплывания панелек на ширину кнопок влево

commons: Ошибка разбора шаблона

Если после имени шаблона наблюдается двойной перенос строки, возникает ошибка, так как переносы строк обрабатываются раньше шаблонов.

Например:

{{Information

|Description = test
}}

превращается в

{{Information
</p>
<p>|Description = test
}}

и затем зацикливается.

При переключении слоёв накапливается attribution

Начало (мапник):

Powered by Leaflet — Map data © OpenStreetMap contributors

Переключаем: -> космоснимки -> MapQuest -> обратно mapnik

Powered by Leaflet — Map data © OpenStreetMap contributors, Map data © OpenStreetMap contributors, CC-BY-SA; rendering by kosmosnimki.ru, Map data © OpenStreetMap contributors, tiles © MapQuest

После того как посмотрели все слои:

Powered by Leaflet — Map data © OpenStreetMap contributors, Map data © OpenStreetMap contributors, CC-BY-SA; rendering by kosmosnimki.ru, Map data © OpenStreetMap contributors, tiles © MapQuest , Map data © OpenStreetMap contributors (Cycle), Map data © OpenStreetMap contributors, rendering GIScience Research Group @ University of Heidelberg, Bing, © Harris Corp, Earthstar Geographics LLC, © 2012 Microsoft Corporation

Информация о здании и POI

Хочется иметь кнопку (как например есть на яндексе) по которой можно получать информацию о зданиях и содержащихся в них магазинах.
В качестве первого приближения можно сделать как на openstreetmap.by

Слой bing закрывает гибридные слои

Включен любой гибридный слой, космоснимки или mapsurfer. При переключении на любой слой кроме bing всё нормально, но при переключении на bing его тайлы рисуются поверх гибрида. При выключении и включении гибрида его снова видно.

Многоступенчатый поиск

Допустим я ищу Пхукет. Я помню был проект чтобы проставить name:ru для городов заграничья по данным википедии. И по идее что-то должно находится. А если у тебя не нашлось, то пусть проверяет по Nominatim и потом по GeoNames.

На osm.org поиск Пхукет только у GeoNames есть результат но он ведь есть.

Хорошобы искать многоступенчато....

  1. Свой поиск
  2. Nominatim
  3. GeoNames
  4. Наверно в википедии можно как-то извлекать координаты из шаблона про населенный пункт...
    может ещё что-то есть...

Сделать, чтобы список слоев не скрывался

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

Реализация видится следующая : оставляем поведение как раньше + по нажатию на кнопку со слоям -- список прилепляется/отлепляется (в общем, аналогично кнкопе "+" на OpenLayers).

Быстрый zoom out

Всё-таки кнопок + и - недостаточно. Хотя для zoom in бесконечно удобно использовать выделение с шифтом, уменьшение масштаба по одной ступеньке -- насилие над личностью. Поэтому предлагаю сделать, чтобы shift-клик на кнопке [-] уменьшал масштаб сразу на 4 ступени. Альтернативой может быть только добавление полной линейки масштабов.

commons: Рекурсивная обработка шаблонов

Необходимо выполнять подстановку неизвестных вики-шаблонов (и, возможно, parser functions???).

Шаблоны в дампе не обязаны описываться раньше их использования. При обработке xml-файла необходимо кэшировать необходимые шаблоны для последующих запусков. Для этого надо запоминать:

  1. Шаблоны в пространстве Template.
  2. Любые упоминания шаблонов (в том числе те, что не в Template, обычно это собственные эксперименты юзеров из пространства User, например, User:aka/Information).
  3. Все шаблоны вне Template, которые упоминались в прошлых запусках.

Если шаблон ещё не прокэширован, то его следует заменять на пустую строку. В идеале новые и изменённые шаблоны будут обновляться максимум при выпуске следующего дампа.

Уведомления по OsmBugs

Если был произведён вход на сайт, доставлять пользователю уведомления о багах:

  • которые он открыл
  • которые комментировал
    +как вариант, на которые он подписался (что-то типа кнопки subscribe на попапе бага)

Было бы удобно отслеживать изменение информации по интересующим ошибкам (изменился статус, добавились комментарии). Сейчас их для этого приходится проверять вручную. Что несколько утомительно.

Пока инфраструктура сайта не проработана, может быть следует отправлять уведомления в личку Osm.org.

Тайлы Космоснимков

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

Ссылка на точку в openstreetmap.org

Очень не хватает ссылки. Поскольку она уже есть (справа внизу, в лицензии), то было бы здорово просто дополнить её координатами и зумом.

Требуется система попапа (оповещения)

Требуется система попапа (оповещения)
например при попытке редактировать через josm, если он закрыт

наверно затемнять всё содержимое страницы при открытии попапа

Создать страницу логина

Сейчас страницы логина как таковой нет. При нажатии на login пользователя направляет на osm.org для OAuth-авторизации. Чтобы пользователь лучше понимал происходящее, его надо предупредить.

Исчезает копирайт OSM

  1. Открыть карту
  2. Поменять слой на osmarender
  3. Поменять слой на mapnik
  4. Внизу справа пропало упоминание OSM.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.