Добро пожаловать на форум OSM Russia! (оффтоп здесь)

Добро пожаловать на форум!

Здесь будем обсуждать:

  • Особенности OSM для нашей местности
  • Организация mapping party
  • и т.д.

Ура!

+1

Ну вот и я.
Логин с Osm.
Чего-то вчера/сегодня Питер в Потлахе тормозил жуть.
Порисовал регионы(водоемы).
Кодировку win-1251 принудительно лучше не включать.
(браузер ОгнеЛис)

Привет Народ!

Как я понял Мапник обновляется раз в неделю по средам, osmarender почти раз в час. И у маплика похоже есть какие проверки на ошибки. Дорога нарисованая мной и поправленная кем то появилась в Мапнике только через 2 недели а дома каторые были нарисованы неделю спустя уже были там.

+1 Принимаете.

+1 примите ?

машина есть )
бук в машине почти постоянно
GPS в машине есть )

ОС - Linux ))) потому сюда и пришел
в лине живу давно , на вин переходить не собираюсь ,

ОС - Windows, потому сюда и пришел
в винде живу давно, на линукс переходит не собираюсь
:slight_smile:

А вообще, почти все OSM-приложения работают и под Linux и под Windows

после недолгих поисков нашел под лин прогу http://www.tangogps.org/gps/cat/About
она пользуется OSM картами

вот посмотрел и решил что могу помочь отрисовать свои районы обитания )

:slight_smile: Абсолютно та же причина. Только в танго не нравится то, что она использует tileset и нет возможности использовать OSM XML, т.е. никакого поиска и файлов создается целая груда - хоть сам бери и допиливай эту прогу…

Вопрос знатокам: есть ли программы (под Linux или Win32) и/или способы срисовывать карту не с Yahoo Maps, а чего-нибудь вроде Google Maps. У меня есть несколько больших картинок моего города, скачаные с google maps с помощью map builder'а. Можно ли их как-нибудь подсунуть отдельным слоем в JOSM'е, Меркаторе или еще чём, спозиционировать по имеющимся трекам и дальше перерисовать, как это предлагается делать с Yahoo?

да можно (http://labs.metacarta.com/rectifier/faq)

К сожалению ссылка не открывается. :frowning:

UPD. Насколько я понял из того что нагуглил, по предложенной ссылке находится(лся) web-based сервис по изменению геометрии рисунков для их последующей обработки с применением спец плагина к JOSM. К сожалению для моих файлов web-based сервисы не лучшее решение, так как 300Мб JPEG (что примерно 2Гб распакованного изображения) проблема не то что обработать, а даже открыть…
Есть еще предложения?

использовать например mapedit. отрисовать всё в mp и конвертировать в osm
как вариант использовать что нить из лёгких гис (sagagis например). тогда промежуточным результатом будут шейпы

Жаль только что он платный… :frowning: Разбираюсь с СагойГИС

Конвертировать в spherical mercator (gdalwarp),
урезать до оптимальной палитры в 8-16 цветов (imagemagick), резать/клеить
на 256x256 tiles в стиле ОСМ x/y/z.png (gdal_translate+imagemagick)
и пользоваться TMS adaptor в merkaartor.

Мало того что shareware, так и работа с картинками сделана неоптимально и с искажениями.
Поддержка ozf2 (registered only) появилась только после того, как были опубликованы исходники ozi2tiff
Бизнес по россиянски :wink:

ну чем так извращаться проще уж мапсервер за час поднять (что для себя и сделал). и использовать WMS что в JOSM что в Merk’е

Тот, кто знает мапсервер, такие вопросы не задает :slight_smile:
Препроцессировать файлы все равно придется, для производительности.
а для того, что я написал, уже есть скрипт.

#!/bin/bash

export LANG=C 

if [ $# -ne 3 ]
then
        echo "       This script cuts and merges a geotiff file"
        echo "       into an OSM-compatible TMS directory tree."
    echo "       uses gdalinfo, gdal_translate, gdalwarp (GDAL/fwtools http://fwtools.maptools.org) and"
    echo "       composite (imagemagick http://www.imagemagick.org)"
        echo "Usage: $0 geotiff.tif zoom_level OSM_target_directory"
        exit 1
fi

img=$1
zoom=$2
out=$3

#level z= 10 pix= 152.874057 meters ntiles=   1024
#level z= 11 pix=  76.437028 meters ntiles=   2048
#level z= 12 pix=  38.218514 meters ntiles=   4096
#level z= 13 pix=  19.109257 meters ntiles=   8192
#level z= 14 pix=   9.554629 meters ntiles=  16384
#level z= 15 pix=   4.777314 meters ntiles=  32768
#level z= 16 pix=   2.388657 meters ntiles=  65536
#level z= 17 pix=   1.194329 meters ntiles= 131072
#level z= 18 pix=   0.597164 meters ntiles= 262144

tr=`awk 'END{R=6378137; pi=3.14159265358979323846; printf("%.6f\n",2*pi*R/2^zoom/256)}' zoom=${zoom} < /dev/null`
tile=`awk 'END{R=6378137; pi=3.14159265358979323846; printf("%.6f\n",2*pi*R/2^zoom)}' zoom=${zoom} < /dev/null`

echo tr=${tr}
echo tile=${tile}

Gproj='+proj=merc +lat_ts=0 +lon_0=0 +k=1.000000 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +nadgrids=@null +units=m +wktext +no_defs'


rm -f Out*

for file in 1
do
    fi=`basename ${file} .tif`;

    echo warping $fi

    gdalwarp -t_srs "${Gproj}" -srcnodata 255 -dstnodata 255 -tr $tr $tr ${img} OutM.tif

#    Gproj bbox

    ymin=`gdalinfo OutM.tif | grep "Lower Left" | awk '{print substr($5,1,length($5)-1)}'`
    ymax=`gdalinfo OutM.tif | grep "Upper Left" | awk '{print substr($5,1,length($5)-1)}'`
    xmin=`gdalinfo OutM.tif | grep "Upper Left" | awk '{print substr($4,1,length($4)-1)}'`
    xmax=`gdalinfo OutM.tif | grep "Upper Right"| awk '{print substr($4,1,length($4)-1)}'`

    ymin0=`awk 'END{printf("%.6f\n",T*int(xy/T))}' T=${tile} xy=${ymin} < /dev/null`
    echo ymin=${ymin} ymin0=${ymin0}
    ymax0=`awk 'END{printf("%.6f\n",T*(int(xy/T)+1))}' T=${tile} xy=${ymax} < /dev/null`
    echo ymax=${ymax} ymax0=${ymax0}
    xmin0=`awk 'END{printf("%.6f\n",T*int(xy/T))}' T=${tile} xy=${xmin} < /dev/null`
    echo xmin=${xmin} xmin0=${xmin0}
    xmax0=`awk 'END{printf("%.6f\n",T*(int(xy/T)+1))}' T=${tile} xy=${xmax} < /dev/null`
    echo xmax=${xmax} xmax0=${xmax0}

    xtile_min=`awk 'END{printf("%d\n",int(xy/T)-0)}' T=${tile} xy=${xmin} < /dev/null`
    xtile_max=`awk 'END{printf("%d\n",int(xy/T)+1)}' T=${tile} xy=${xmax} < /dev/null`
    ytile_min=`awk 'END{printf("%d\n",int(xy/T)-0)}' T=${tile} xy=${ymin} < /dev/null`
    ytile_max=`awk 'END{printf("%d\n",int(xy/T)+1)}' T=${tile} xy=${ymax} < /dev/null`
    xtiles=`expr ${xtile_max} - ${xtile_min} + 0`
    ytiles=`expr ${ytile_max} - ${ytile_min} + 0`

    tile_mid=`awk 'END{printf("%d\n",2^(z-1))}' z=${zoom} < /dev/null`

    echo xtile from $xtile_min to $xtile_max xnum=$xtiles mid=${tile_mid}
    echo ytile from $ytile_min to $ytile_max ynum=$ytiles mid=${tile_mid}

    gdalwarp -srcnodata 255 -dstnodata 255 -te $xmin0 $ymin0 $xmax0 $ymax0 -tr $tr $tr OutM.tif OutG.tif

    echo cutting tiles.

    for((ix=0;ix<xtiles;ix++))
    do
     for((iy=0;iy<ytiles;iy++))
     do
      zix=`expr  ${ix} + ${xtile_min} + ${tile_mid}`
      ziy=`expr  ${iy} - ${ytile_max} + ${tile_mid}`

      zxy=${out}"/"${zoom}"/"${zix}"/"${ziy}".png"

      echo "z/x/y -> "${zxy} `expr ${ix} \* 256` `expr ${iy} \* 256`

      if [ ! -d ${out}/${zoom} ]
      then
        mkdir ${out}/${zoom}
      fi
      if [ ! -d ${out}/${zoom}/${zix} ]
      then
        mkdir ${out}/${zoom}/${zix}
      fi

      if [ ! -f ${zxy} ]
      then
       gdal_translate -quiet -of png -srcwin `expr ${ix} \* 256` `expr ${iy} \* 256` 256 256  OutG.tif ${zxy}
      else
        echo TILE ${zxy} ALREADY EXISTS! MERGING.
       gdal_translate -quiet -of png -srcwin `expr ${ix} \* 256` `expr ${iy} \* 256` 256 256  OutG.tif a.png
#      composite -blend 100x100 a.png ${zxy} b.png
      composite -compose overlay a.png ${zxy} b.png
      mv b.png ${zxy}
      rm a.png
      fi
     done
    done

    rm -f Out*.tif Out.png
done

Для трансформирования к единой 8bit палитре:

convert -map palette-8.pnm -depth 8  +dither file.jpg output.tif

Цель проекта OSM создать свободную карту из открытых источников. Поэтому срисовывать с чего то, даже бумажного атласа - нельзя.
Почитайте http://wiki.openstreetmap.org/wiki/FAQ#Why_don.27t_you_just_use_Google_Maps.2Fwhoever_for_your_data.3F

Попытки в тихую рисовать по гуглу это медвежья услуга для коммунити!

По ссылке раздел FAQ и вырезки из legal notice касательно картографического сервиса Google (от которого нам ни холодно ни жарко - нужные районы отображены значительно хуже чем в OSM). Однако, в legal information на сайте google earth сказано следующее:

Мне единственное непонятно, относится ли создание карты по изодбражению к derivative work?
Кто что может сказать по этому поводу.

А про это где написано?

PS. Пока я с гугля ничего и не перерисовывал, потому как не нашел комфортного инструмента.

UPD1. Йо-мое, судя по всему действительно нельзя. http://en.wikipedia.org/wiki/Derivative_work
UPD2. Погуглил еще. Ка-а-ак все сложно. Тут юрист нужен. А еще лучше нафик забить на карты гугела. :frowning:
UPD3. Тут есть еще немного инфы: http://lists.openstreetmap.org/pipermail/legal-talk/2008-October/thread.html#1343