ggk, rgis, eguar, smgis

Спасибо! Ргис работает. П/С: ссылки нужно поправить…

В общем я не одолел перевод этих смещений в какой-либо человеческий вид - если это меркатор, то это должны быть метры, но чего-то маловато для метров…
Привязал Екатеринбург по большему кол-ву точек, опираясь на ключевые дороги, должно получше быть. Возможно потребуется сбросить руками кеш тайлов imagery, flush tile cache похоже ничего не делает.

Это градусы в wgs84, скорее всего.

Upliner говорил что “Для меркатора это радианы по долготе и логарифм тангенса по широте”. Вроде (как упоминал usm78-gis), достаточно просто домножить на 6378137 для получения обычных значений меркатора.

Сдвиги направлены в стороны координатной сетки на которой они определены (и в единицах соответствующей координатной системы),
что несколько усложняет их практическое использование.
В примере dimuzz точка 60.637912E, 56.826083N, epsg:4326 сдвигается на


$ echo 9.08290562762204E-8 -2.890015437184701E-6 | LANG=C awk '{R=6378137; print $1*R,$2*R}'
0.57932 -18.4329

+0.57932 -18.4329 меркаторовских метра от


$ echo 60.637912 56.826083 0.0 | cs2cs -f "%.3f" +init=epsg:4326 +to +init=epsg:3857
6750181.487     7724654.312 0.000

ее координат в меркаторовских метрах: 6750181.487E, 7724654.312N, epsg:3857
Если учесть, что 60.637912E, 56.826083N, epsg:4326 находится в зоне UTM41 (epsg:32641)
с координатами


$ echo 60.637912 56.826083 0.0 | cs2cs -f "%.3f" +init=epsg:4326 +to +init=epsg:32641
355855.845      6300514.112 0.000

355855.845E, 6300514.112N, epsg:4326, то после добавления “меркаторовской поправки”
она станет иметь координаты


$ LANG=C awk 'END{printf("%.4f %.4f %.4f\n",6750181.487+0.57932,7724654.312-18.4329,0.000)}' < /dev/null | cs2cs -f "%.3f" +init=epsg:3857 +to +init=epsg:32641
355855.815      6300504.019 0.000

355855.815E, 6300504.019N, epsg:32641, т.е. сдвинется ~ на +3см -10м в UTM41.

Надо бы СК-63 добавить, чтобы и область не обижать. Где-то на gislab форуме я видел таблицу proj4 параметров для C3 и C4 (?):


# Pulkovo 1942 / CS63 zone C2
<3352> +proj=tmerc +lat_0=0.1 +lon_0=27.95 +k=1 +x_0=2250000 +y_0=0 +ellps=krass +units=m +no_defs  <>

(при этом не забыть правильный +towgs84=)

Edit: Вот гислабовская таблица из гуглокэша, хотя вроде как
+lat_0=0.1 это не совсем 100% +y_0=11057.626 (?)


C2=TM, 27.95, 0, 1, 250000, -11057.626, 0
C3=TM, 30.95, 0, 1, 250000, -11057.626, 0
C4=TM, 33.95, 0, 1, 250000, -11057.626, 0
P1=TM, 32.48333333333, 0, 1, 250000, -12900.566, 0
P2=TM, 35.48333333333, 0, 1, 250000, -12900.566, 0
P3=TM, 38.48333333333, 0, 1, 250000, -12900.566, 0
P4=TM, 41.48333333333, 0, 1, 250000, -12900.566, 0

С правкой смещений как-то грустно. В том смысле, что оно постоянно плавает… Проверял по бингу, его в свою очередь, выравнивая по трекам.
Да, я о Москве говорю.

Но в любом случае, штука очень полезная, т.к. пользоваться оригинальным ggk.mos.ru терпения не хватает.
Спасибо!

usm78-gis, я запутан. Какую проекцию мне использовать? Сейчас это:

+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

Могу попробовать поставить любую другую, если вы укажете ее параметры в виде строки proj4.

В шапке топика появилось описание, как скорректировать привязку.

Пока ничего лучше нет. +towgs84= такой же как и в mapinfo:


OGRFeature(Datum8parameters):2
  Datum# (String) = 1001
  Datum_Name (String) = Pulkovo 1942
  Ellipsoid_Name (String) = ELLIPSOID_KRASSOVSKY
  ShiftX (Real) = 24
  ShiftY (Real) = -123
  ShiftZ (Real) = -94
  RotationX (Real) = -0.02
  RotationY (Real) = 0.25
  RotationZ (Real) = 0.13
  scale_ppm (Real) = 1.1
  Prime_Meridian (Real) = 0

а со сдвигами в открытых источниках можно только гадать.
Вот в этом документе http://www.vsevreg.ru/files/munzakaz/kot735.doc пишут о местных системах МСК-64 и МСК-47, гугл опять же дает ссылку нa гислаб (cp. c CK63 выше):


"СК 47 зона 2", 8, 1001, 7, 30.95, 0, 1, 2250000, -6211057.626

но это никак не совпадает с моим кадастром.
Так что ничего другого не остается как улучшать +x_0 и +y_0 с помощью линейной
регрессии по GCP с фиксированными +lon_0 и +towgs84.

Еще сильно не хватает былой прозрачности слоя.

А куда все прокси удалились? :frowning: очень РГис надо бы.

умер винт, кэш копируется, скоро всё починят.

ааа, ох. Ждём-с! Спасибо! Я бы зеркальнул РГис бы например на всякий случай.

Вроде бы все должно работать.

Спасибо все супер!

На geodesist.ru есть программа преобразования координат TransLine_05++.exe, которая вроде как умеет следующее:


    * Преобразование выполняется между следующими системами:
         1. Система координат 1963г - зоны "С2", "С3", "С4" и "Р1", "Р2", "Р3";
         2. Система координат М64 - местная система Петербурга.
         3. Система координат 1942г - 5-я зона - UTM27 и 6-я зона - UTM33, названные так по градусу осевого меридиана
         4. Система геодезическких координат (B,L,H) на эллипсоиде Красовского "BLH(Kras)"
         5. Система геодезическких координат (B,L,H) на эллипсоиде WGS-84
         6. Региональная система координат 47-го региона - 1,2 и 3-я зоны - Ленинградская область
         7. Региональная система координат 53-го региона - 1,2 и 3-я зоны - Новгородская область

У меня windows нет, так что проверить не могу.

Я проверял M64->WGS84 - работает, причём правильно работает.

Эээ. Точка 60N 30E (WGS84) имеет там какие координаты в “M64” ?
Совпадают ли они с результатом формулы в wiki ?

Результат (с точностью до сантиметра ;)):

Ось X - вверх, ось Y - вправо.
А что получается по формулам в wiki?

Вот ещё пару точек (я их использовал при привязки планшетов 1:500, когда рисовал строящийся Суздальский пр.):
WGS-84 60,0680049 30,3040889; МСК-64 109000,113000; левый нижний угол планшета 2829-10-13
WGS-84 60,063547430,2905812; МСК-64 108500;112500; левый нижний угол планшета 2829-13-06
WGS-84 60,0591070 30,2681007; МСК-64 108000;111000; левый нижний угол планшета 2828-16-13
WGS-84 60,0591249 30,2591242; МСК-64 108000;110500; левый нижний угол планшета 2828-15-15

Во второй точке ошибка в 250 метров, а так они имеют систематический
сдвиг порядка 17 сантиметров по горизонтали :slight_smile:


МСК-64 113000 109000 -0.035 0.006
МСК-64 112500 108500 -250.03 -0.001
МСК-64 111000 108000 -0.023 -0.009
МСК-64 110500 108000 -0.024 -0.008

Если ваши точки определены с сантиметровой точностью, то надо использовать +x_0=95949 в wiki.