Санкт-Петербург и область

Картосуббота на Петроградке: http://wiki.openstreetmap.org/wiki/RU:Saint_Petersburg_Mapping_Party_One
Отмечайтесь, освобождайте выходной :slight_smile:
Сделаю вводную для новичков, так что приглашаются все, а не только бывалые осмеры.
Более широко порекламирую мероприятие с середины октября.

Если основываться на “гислабовской” привязке кадастра (которую надо будет несколько уточнить, чтобы достичь метровой точности)
то следует использовать следующую координатную систему (в т. ч. и для WMS, qgis и т.п.)


+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=95936 +y_0=-6552814 +ellps=krass +units=m +towgs84=23.57,-141.00,-79.85,0.000,-0.350,-0.790,0.00 +no_defs

bbox обзорной карты приведенный выше будет выглядеть так:


$ echo 63108.858334999997 59731.315557072085 | cs2cs -f "%.9f"  +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=95936 +y_0=-6552814 +ellps=krass +units=m +towgs84=23.57,-141.00,-79.85,0.000,-0.350,-0.790,0.00 +no_defs +to +init=epsg:4326 | awk '{print "point",$1,$2}'
point 29.415756771 59.625044772
$ echo 139859.19166499999 129567.20444292793 | cs2cs -f "%.9f"  +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=95936 +y_0=-6552814 +ellps=krass +units=m +towgs84=23.57,-141.00,-79.85,0.000,-0.350,-0.790,0.00 +no_defs +to +init=epsg:4326 | awk '{print "point",$1,$2}'
point 30.790623424 60.250818165

что вроде как похоже на истину ?

Спасибо! Я пока что в этом мало чего понимаю, но надеюсь, josm-овские библиотеки не будут сильно сопротивляться этой строчке.

В josme можно ничего менять, а на прокси/серверной стороне делать перерасчет координат,
запрос к rgis серверу, и обратную трансформацию полученного от него битмапа.
Хотя в принципе можно поправить параметры бананового датума типа
src/org/openstreetmap/josm/data/projection/UTM_France_DOM.java
и в josm (если rgis сервер понимает wms запросы)

Короче, точность твоей КС — метров двадцать. Для привязки картинок со стороной сто метров смысла, получается, нет писать модуль. Проще взять PicLayer, и на глаз :slight_smile:

Если там вдруг есть подобие wms/тайлов, то эту штуку можно порешить коррекциями привязки в twms.

КС основана на привязке гислаба, и по моему сравнению с дорожной сетью ОСМ имеет
систематический сдвиг по x_0 и y_0. GCP (пов. точки) для привязки растров на странице
http://gis-lab.info/projects/rusbounds-rosreestr.html


149    47 Ленинградский 78 Санкт-Петербургский    скачать    скачать             +    +    SS_Rebelious

отсутствуют (уже обсуждалось).
Идеальный вариант - это собрать новые GCP в qgis+georeferencer, используя перекрестки дорожной/железнодорожной сети из ОСМ, и перерассчитать x_0 и y_0 с помощью линейной регрессии.
В файле 200.7z 26 растров, я могу взять и перепривязать, например, с 1 по 10.
Это позволит также уточнить границу города и залить официальные поворотные точки
Росреестра (573 штуки afair)

Координатная километровая сетка на rgis очень похожа на сетку в отсканированных планшетах Росреестра, скорее всего они идентичны.
Размер битмапного пиксела ZOOM/WIDTH метра.
X и Y - координаты (местные) для центра битмапа.
Дело за малым, разобраться с интерфейсом запросов к серверу (RND параметром).
Sergey Astakhov помогайте :slight_smile:

Upd.
Чтобы не злить rgis, видимо придется cоздать локальный кэш скринграббером. Надо только подумать над размером битмапов и dpi.

RND - это просто случайное число, чтобы картинка не кэшировалась. В OpenLayers тоже так делают.

Самая засада - это то, что нужно поддерживать сессию.

Вот функция смены списка слоёв:


function UpdateMapLayersRequest(sSource, sAliases) {
            var sURL = "AppUtilsHandler.ashx?FunctionName=UpdateMapLayers&Source=" + sSource + "&Layers=" + sAliases + "&refresh=" + Math.random();
            var xmlhttp = createXmlHttpRequest();
            xmlhttp.open("GET", sURL, true);

            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4) {
                    if (xmlhttp.status == 200) {
                        var sRespText = xmlhttp.responseText;
                        if (CheckSrvResult(sRespText)) {
                            serverImageRefresh();
                            // Очистить графические объекты
                            if (MapToolBar.MapDrawArea != null)
                                MapToolBar.MapDrawArea.clear();
                        }
                    }
                }
            }
            xmlhttp.send(null);
        }

Пример списка слоёв (sAliases): “GEON,TOWN,SQR,BAHN,VOD,TOPO,ADM,ZU,PON,OKN,T_OKN,ZNOP_ZAKS,INKVART_PLANT,”

Да там фигня, весь вопрос в преобразовании координат и преобразовании параметра zoom в размеры картинки в любой СК (в параметре указывается zoom в метрах). Параметры слоёв передаются в сессии, но делать универсальный wms необязательно: я вообще думал брать кртинку и url, по которой она получена. Можно вырезать куски 2000x2000 вручную (поправив url картинки) и обводить.

Я к чему. Сергей, usm — как насчёт 30-го октября? :wink:

Кстати, официально эта система координат называется “Местная система координат Ленинграда 1964 г.” или же “МСК-64”.

Поигрался тут с параметрами, получился такой набор:


+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=95948.85 +y_0=-6552807.1 +ellps=krass +units=m +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +no_defs

он же в формате wkt:


PROJCS["MSK-64",
  GEOGCS["Pulkovo 1942",
    DATUM["Pulkovo_1942",
       SPHEROID["Krassowsky 1940",6378245,298.3,AUTHORITY["EPSG","7024"]],
       TOWGS84[24,-123,-94,0.02,-0.25,-0.13,1.1]],
       PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],
       UNIT["degree",0.01745329251994328,AUTHORITY["EPSG","9122"]]],
  PROJECTION["Transverse_Mercator"],
  PARAMETER["latitude_of_origin",0],
  PARAMETER["central_meridian",30],
  PARAMETER["scale_factor",1],
  PARAMETER["false_easting",95948.85],
  PARAMETER["false_northing",-6552807.1],
  UNIT["metre",1, AUTHORITY["EPSG","9001"]]]

Вроде отклонение получилось не более полуметра.

Спасибо, а у меня ещё такой вопрос: квадрат в МСК-64 будет квадратом в меркаторе?

Может стать чуть-чуть повёрнутым чуть-чуть прямоугольником. Но в общем форму сохранит.

А какие входят в “для проектировщиков” ?

Изучим :slight_smile:

При малых (т.е. реально используемых в josm) площадях будет, но лучше просто поправить параметры проекции в коде для UTM (или переделать UTM в полноценный TM widget с полным
набором proj4 параметров).
Сферический меркатор в wmsplugin на самом деле запрашивает epsg:4326 с WMS сервера,
поэтому я предпочитаю utm35 или utm36 в “стандартном” josm.

отыскал все 15 магазинов М.Видео в Питере. теги предлагаю такие:

name=М.Видео
phone=8-800-200-777-5
shop=electronics
website=http://spb.mvideo.ru/
wikipedia=http://ru.wikipedia.org/wiki/М.видео

Нормально

Если я ничего не путаю, то в теге wikipedia не урл указывается, а имя статьи.
Должно быть wikipedia:ru=М.видео

Может телефон писать согласно правилам вики, а не как на их сайте?

Напишите что добавить или изменить, а я вечером перед футболом залью :slight_smile: