OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

Announcement

A fix has been applied to the login system for the forums - if you have trouble logging in please contact support@openstreetmap.org with both your forum username and your OpenStreetMap username so we can make sure your accounts are properly linked.

#1 2018-04-06 11:21:03

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Данные ЕМГИС Тольятти

Тайлы ЕМГИС Тольятти готовы для использования в JOSM.
URL:

http://tile.romanshuvalov.com/emgis-togliatti/{zoom}/{x}/{y}.png

Максимальный масштаб - 16.
Пользуйтесь наздоровье.

Замечание: из-за особенностей преобразования изображений потерялась чёткость и, к сожалению, некоторые номеров видны плохо. Но никто не мешает открыть исходную карту (emgis.ru) в соседней вкладке и сверяться.

--
(вопросы ниже уже не актуальны)

---

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

Подробности: https://wiki.openstreetmap.org/wiki/RU: … 0%98%D0%A1

Но вот незадача, тайлы там имеют непривычные координаты, например, вот тайл:
http://tech.mfc63.ru/arcgis/rest/servic … 1826/11781

5/11826/11781

Координата Z не просто смещена: соседние масштабы в этой системе вообще отличаются не в 2 раза, т.е. мир разбит не на (2^Z)х(2^Z) квадратов, а как-то иначе.

Кто-нибудь сталкивался с подобным? Цель - получить шаблон для JOSM, чтобы использовать слой в качестве подложки. Ну или хотя бы просто формулу, а аккуратно сграббить и перенарезать картинки я и сам смогу.

Last edited by romanshuvalov (2018-04-06 22:40:02)

Offline

#2 2018-04-06 11:23:06

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

И ровно через 5 секунд после публикации этого поста я решил стереть хвост URL с целью что-то найти. И нашёл:
http://tech.mfc63.ru/arcgis/rest/servic … MapServer/

Tile Info:

    Height: 256
    Width: 256
    DPI: 96
    Levels of Detail: 10
        Level ID: 0 [ Start Tile, End Tile ]
            Resolution: 33.0729828126323
            Scale: 125000
        Level ID: 1 [ Start Tile, End Tile ]
            Resolution: 16.933367200067735
            Scale: 64000
        Level ID: 2 [ Start Tile, End Tile ]
            Resolution: 8.466683600033868
            Scale: 32000
        Level ID: 3 [ Start Tile, End Tile ]
            Resolution: 5.291677250021167
            Scale: 20000
        Level ID: 4 [ Start Tile, End Tile ]
            Resolution: 4.233341800016934
            Scale: 16000

Last edited by romanshuvalov (2018-04-06 11:29:49)

Offline

#3 2018-04-06 13:04:48

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Нужна утилита, которая преобазует координаты из проекции EPSG:3857 (или EPSG:4326, пофиг) в следующую проекцию:

PROJCS["Local Conditional",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Local"],PARAMETER["False_Easting",27478.878],PARAMETER["False_Northing",19463.17],PARAMETER["Scale_Factor",1.0],PARAMETER["Azimuth",-1.272472],PARAMETER["Longitude_Of_Center",49.3933174],PARAMETER["Latitude_Of_Center",53.4992761],UNIT["Meter",1.0]]

Есть такая? Из набора gdal вижу только преобразователи картинок.

Offline

#4 2018-04-06 14:14:17

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Решил задачу так:

#!/usr/bin/env python

import os
import sys
import string
import osgeo.osr

from osgeo import ogr
from osgeo import osr

if (len(sys.argv) <> 3):
        print 'Usage: wkt2proj.py X Y'
else:
		emgis_spatial_ref="+proj=ortho +lat_0=53.4992761 +lon_0=49.3933174 +x_0=27478.878 +y_0=19463.17 +ellps=WGS84 +units=m +no_defs"
		target_srs = osgeo.osr.SpatialReference()
		target_srs.ImportFromProj4(emgis_spatial_ref)
		
		source_srs = osgeo.osr.SpatialReference()
		source_srs.ImportFromEPSG(3857)
		
		transform = osr.CoordinateTransformation(source_srs, target_srs)
		
		point = ogr.CreateGeometryFromWkt("POINT ("+sys.argv[1] + " " + sys.argv[2]+")")
		point.Transform(transform)
		
		print point.ExportToWkt()[7:-1]

Продолжаю работу.

К вечеру у вас в джосме появится слой ЕМГИС Тольятти. Возникли сложности.

Last edited by romanshuvalov (2018-04-06 16:25:31)

Offline

#5 2018-04-06 15:01:50

langoor
Member
Registered: 2013-02-03
Posts: 120

Re: Данные ЕМГИС Тольятти

Рекомендую завести утенка

Offline

#6 2018-04-06 15:48:16

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Новая задача:

Загрузить вот этот spatial reference (внимание на азимут!):

PROJCS["Local Conditional",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Local"],PARAMETER["False_Easting",27478.878],PARAMETER["False_Northing",19463.17],PARAMETER["Scale_Factor",1.0],PARAMETER["Azimuth",-1.272472],PARAMETER["Longitude_Of_Center",49.3933174],PARAMETER["Latitude_Of_Center",53.4992761],UNIT["Meter",1.0]]

В питон.

target_srs.ImportFromWkt(emgis_spatial_ref)

Ругается:

ERROR 6: No translation for Local to PROJ.4 format is known.

Offline

#7 2018-04-06 22:37:39

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Тайлы ЕМГИС Тольятти готовы для использования в JOSM.
URL:

http://tile.romanshuvalov.com/emgis-togliatti/{zoom}/{x}/{y}.png

Максимальный масштаб - 16.
Пользуйтесь наздоровье.

Замечание: из-за особенностей преобразования изображений потерялась чёткость и, к сожалению, некоторые номеров видны плохо. Но никто не мешает открыть исходную карту (emgis.ru) в соседней вкладке и сверяться.

Last edited by romanshuvalov (2018-04-06 22:40:09)

Offline

#8 2018-04-07 16:17:14

luiswoo
Member
From: Ростов-на-Дону
Registered: 2010-09-11
Posts: 1,350

Re: Данные ЕМГИС Тольятти

Что-то тайлы вперемешку сыпятся https://yadi.sk/i/xEeusbXS3UCDFU.

Offline

#9 2018-04-07 16:24:08

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Очень странно. Очистил кэш, проверил - у меня все в порядке. С другими слоями проблем нет? (Очистите кэш перед проверкой.)

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

Offline

#10 2018-04-07 17:31:16

luiswoo
Member
From: Ростов-на-Дону
Registered: 2010-09-11
Posts: 1,350

Re: Данные ЕМГИС Тольятти

На всякий случай удалил каталог с кэшем, всё тоже самое https://yadi.sk/d/Vi8QwQdX3UCJWt (была не та ссылка)

Last edited by luiswoo (2018-04-07 17:36:18)

Offline

#11 2018-04-07 17:59:09

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Ёшкин крот!
http://tile.romanshuvalov.com/emgis-tog … 2/5300.png

У меня оказывается тайлы размером 1024х1024 вместо 256х256. Упс. Исправляю-с.

Offline

#12 2018-04-07 18:11:28

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Исправлено. Можно сбросить кэш и проверять.

Offline

#13 2018-04-07 18:24:59

luiswoo
Member
From: Ростов-на-Дону
Registered: 2010-09-11
Posts: 1,350

Re: Данные ЕМГИС Тольятти

Оно и без сброса кэша пошло. Разрешение бы получше, векторизатор что-то бесформенное вместо зданий делает.

Offline

#14 2018-04-07 18:31:00

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Не в разрешении дело. Оригинал был повернутый. И при поворачивании имеем отстой. А поскольку по каким-то неведоым причинам gdalwarp давал дичайшие артефакты при попытке сгладить картинку любым из алгоритмов, пришлось делать без сглаживания. Знаю, что некрасиво, но если найдете вариант лучше - дайте знать.

P.S. Кстати, теперь мы знаем, что JOSM у некоторых некорректно рендерит тайлы размером, отличным от 256х256.

Last edited by romanshuvalov (2018-04-07 18:31:53)

Offline

#15 2018-04-07 19:22:46

pfg21
Member
From: Чебоксары
Registered: 2012-10-18
Posts: 2,825

Re: Данные ЕМГИС Тольятти

А вариант склеить полную картинку, качественно ее повернуть и распилить обратно не рассматривался ??

Offline

#16 2018-04-07 19:22:57

luiswoo
Member
From: Ростов-на-Дону
Registered: 2010-09-11
Posts: 1,350

Re: Данные ЕМГИС Тольятти

Вполне верно отображает и 512*512, больше размера доселе не попадалось.

Offline

#17 2018-04-07 20:03:39

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

pfg21 wrote:

А вариант склеить полную картинку, качественно ее повернуть и распилить обратно не рассматривался ??

Я работал с тайлами вдвое меньшего масштаба  и размером 1024х1024, из которых потом вырезал 16 штук 256х256. Так что вопрос в том как и чем повернуть с качеством повыше. gdalwarp не справился. И да, у меня из данных только исходная и конечная проекции, как при помощи gdal сделать матрицы трансформации я тоже не знаю. Если предложите способ - попробую.

Offline

#18 2018-04-07 20:15:07

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Для желающих повысить чёткость. Вот вам картинка:
http://tile.romanshuvalov.com/emgis-tog … mp2.tif.gz (распакуйте естессно)
А вот преобразование, при котором ухудшается качество:

gdalwarp -s_srs "+proj=omerc +lat_0=53.4992761 +lonc=49.3933174 +alpha=-1.272472 +k=1 +x_0=27478.878 +y_0=19463.17 +gamma=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs" -t_srs EPSG:3857 temp2.tif temp3_test.tif

Кто сможет сделать красивей - вперёд. (спойлер: параметр -r bilinear или -r cubicspline или любой другой выдаёт какую-то хрень.)

Для справки, после преобразования выполняется еще и вот это:

gdalwarp -q -overwrite -t_srs EPSG:3857 -te_srs EPSG:3857 -te 5488790.12710186932, 7078680.31543351617, 5493682.09691212419, 7083572.28524376824 -ts 1024 1024 temp3_test.tif temp4_test.tif

Результат является правильным тайлом z=13 x=5218 y=2648 и его уже ровненько можно разрезать на 16 шт. по 256х256 для 15-го масштаба.

Last edited by romanshuvalov (2018-04-07 20:24:11)

Offline

#19 2018-04-07 21:16:11

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,431

Re: Данные ЕМГИС Тольятти

romanshuvalov wrote:

Оригинал был повернутый. И при поворачивании имеем отстой.

Во-первых, чистый поворот для +proj=omerc задается параметром +gamma, а не +alpha (уже здесь на форуме обсуждалось)
Во вторых, в josm "пользовательская проекция" +proj=tmerc тоже позволяет задать поворот параметром +gamma (чистый proj4 этого не умеет), это сделано как раз для дебильных
повернутых городских проекций.
В третьих, оригинал наверняка был не +ellps=WGS84, а +ellps=krass, если использовать +lon_0=51 +ellps=krass, будет ли вообще нужен поворот ?
Вообще "пользовательская проекция" josm всегда должна иметь приоритет перед gdalwarp.
gdalwarp для таких целей это просто абсолютное зло.

Last edited by usm78-gis (2018-04-07 21:17:32)

Offline

#20 2018-04-07 22:01:46

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

usm78-gis wrote:

Во-первых
Во вторых
В третьих

Я не очень силен в проекциях. Если напишете готовую строку в формате +proj, попробую пересчитать с ней. Исходная проекция в формате WKT выше в посте №6.

Вообще "пользовательская проекция" josm всегда должна иметь приоритет перед gdalwarp.

А где она указывается? В слоях TMS не вижу. Или вы предлагаете вообще для всего JOSM'а установить пользовательскую проекцию? Так это ничего не даст, тайлы подложки все равно должны быть в меркаторе.

gdalwarp для таких целей это просто абсолютное зло.

Ваши предложения?

Last edited by romanshuvalov (2018-04-07 22:02:18)

Offline

#21 2018-04-08 00:04:07

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 400

Re: Данные ЕМГИС Тольятти

romanshuvalov wrote:

Вообще "пользовательская проекция" josm всегда должна иметь приоритет перед gdalwarp.

А где она указывается? В слоях TMS не вижу. Или вы предлагаете вообще для всего JOSM'а установить пользовательскую проекцию? Так это ничего не даст, тайлы подложки все равно должны быть в меркаторе.

в настройках - 3-я иконка сверху, а там выбрать/вставить в поле "Тип проекции"


Последняя заметка в дневниках: Шикотан вам в ленту

Offline

#22 2018-04-08 09:29:43

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

Xmypblu wrote:

в настройках - 3-я иконка сверху, а там выбрать/вставить в поле "Тип проекции"

К TMS это отношения не имеет, в данном случае опция бесполезна. TMS все равно должен быть в меркаторе.

Offline

#23 2018-04-08 11:56:48

usm78-gis
Member
Registered: 2008-04-21
Posts: 2,431

Re: Данные ЕМГИС Тольятти

romanshuvalov wrote:

TMS все равно должен быть в меркаторе.

Для немеркаторовских тайлов в josm есть поддержка WMTS,
никто же не будет  (и не сможет) делать например аэрофотосъемку
с разрешением точно тайлов TMS.
Я бы для начала обеспокоился вопросом: ЕМГИС сделан в "МСК - г. Тольятти"
(в смысле "без поворота осей") или нет ?

Offline

#24 2018-04-08 12:09:02

romanshuvalov
Member
From: Togliatti, Russia
Registered: 2015-02-26
Posts: 422
Website

Re: Данные ЕМГИС Тольятти

usm78-gis wrote:

WMTS

Как с этим работать? JOSM Спрашивает Capability URL, я так понимаю, надо создать какой-то "файл с настройками", куда можно (можно ли?) вписать проекцию и URL-шаблон для тайлов. Так?

(в смысле "без поворота осей") или нет ?

Поворот осей есть. ЕМГИСовской строке с проекции указан azimuth. Это собственно и было основной проблемой, иначе я бы просто пересчитал координаты bbox-ов для каждого тайла и всё.

Offline

#25 2018-04-08 14:53:36

Xmypblu
Member
From: Москва
Registered: 2011-01-18
Posts: 400

Re: Данные ЕМГИС Тольятти

romanshuvalov wrote:
usm78-gis wrote:

WMTS

Как с этим работать?

присоединяюсь к вопросу - очень интересно увидеть пример

если правильно понимаю, намек был на ссылку вверху "JSON | SOAP | WMTS" на странице
http://tech.mfc63.ru/arcgis/rest/servic … MapServer/

romanshuvalov wrote:

К TMS это отношения не имеет, в данном случае опция бесполезна. TMS все равно должен быть в меркаторе.

спорное утверждение, т.к. в меркатор (и TMS) перевел лично ты, а оригинал был в своей проекции.
Мне всегда вспоминается история из дневников - как обрисовывали в JOSM данные по Антарктике.

изначально вопрос всегда стоит "как это обрисовывать в JOSM", а не как это хранить и показывать...
и вроде usm78-gis пытался намекнуть, что ты конечно молодец, но можно обойтись без промежуточных плясок с gdalwarp и JOSM не ограничен проекцией epsg:3857 и epsg:4326.

P.S. а вот если usm78-gis расскажет, как это можно сделать - тогда он будет молодец, а не как всегда... ограничится только намеками


Последняя заметка в дневниках: Шикотан вам в ленту

Offline

Board footer

Powered by FluxBB