переход плоск-сферич Формула 25 действующего ГОСТа

Не знаете, где задать вопрос? Задавайте здесь.
trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение trir » 06 мар 2019, 15:25

пересечения экватора с осевым мередианном

ivkomn
Интересующийся
Сообщения: 36
Зарегистрирован: 04 мар 2019, 14:08
Репутация: 0
Откуда: Саров

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение ivkomn » 06 мар 2019, 15:35

Что-то странное.
XXX )))
Последний раз редактировалось ivkomn 09 мар 2019, 08:58, всего редактировалось 2 раза.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение trir » 06 мар 2019, 15:38

город-то режимный, там у местных фиг чего допросишься, а вы на форуме интересуетесь. Делали не давно объект, рядом с городом, но КПТ на территории оказался в УСК Сарова, так вот там разворот относительно МСК-52 где-то 17 градусов)).
http://geodesist.ru/threads/g-sarov-niz ... ost-869621

ivkomn
Интересующийся
Сообщения: 36
Зарегистрирован: 04 мар 2019, 14:08
Репутация: 0
Откуда: Саров

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение ivkomn » 06 мар 2019, 16:05

Гипотенузу в UTM посчитал:

Код: Выделить всё

BigDecimal _x=new BigDecimal("1310495.622518064",mc).subtract(new BigDecimal("1303628.3198883925"),mc);
        BigDecimal _y=new BigDecimal("4839745.462222159",mc).subtract(new BigDecimal("4832704.908736386"),mc);
        System.out.println(BigDecimalMath.sqrt(_x.pow(2,mc).add(_y.pow(2,mc)),mc).toString());
оТВЕТ 9835.102378395633151661785154998727299788546270454144839092760189831880672762027162890070555339752247
В моей СК между этими точками 10000. т.е. погрешность 65 метров - это фиаско :-(

А как перейти в МСК-52 из WGS?

ivkomn
Интересующийся
Сообщения: 36
Зарегистрирован: 04 мар 2019, 14:08
Репутация: 0
Откуда: Саров

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение ivkomn » 06 мар 2019, 17:41

Спасибо за поддержку!
Немного отвлечённый ещё вопрос. Если есть 4 точки со значениями в двух СК, возможно ли построить ключ для перехода?

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение trir » 06 мар 2019, 18:40

т.е. погрешность 65 метров
это не погрешность, и я тебе об этом говорил
а ты знаешь, что в разных СК она будет разная?
А как перейти в МСК-52 из WGS?
https://mapbasic.ru/msk52
Если есть 4 точки со значениями в двух СК, возможно ли построить ключ для перехода?
да, и тебе ссылку приводил: http://gis-lab.info/qa/local-cs.html

ivkomn
Интересующийся
Сообщения: 36
Зарегистрирован: 04 мар 2019, 14:08
Репутация: 0
Откуда: Саров

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение ivkomn » 07 мар 2019, 08:26

trir писал(а):
06 мар 2019, 18:40
это не погрешность, и я тебе об этом говорил
Да. Посчитал ещё одну гипотенузу и вместо 15Кметров получил 25К. Зато посчитал )
trir писал(а):
06 мар 2019, 18:40
https://mapbasic.ru/msk52
по имени фабрика создаёт CoordinateReferenceSystem объект, где-то посередине вызывают: createForParameters с аргументами
"EPSG:32638"
"+proj=tmerc +lat_0=-40.92553263888889 +lon_0=175.6473496666667 +k=1 +x_0=300000 +y_0=700000 +datum=nzgd49 +units=m +no_defs"

Для перехода в МСК52 вторая строчка будет иметь вид:
"+proj=tmerc +lat_0=0 +lon_0=43.968134 +k=-0.22 +x_0=-6242460.9505 +y_0=-1154.2731 +datum=nzgd49 +units=m +no_defs"
так?
trir писал(а):
06 мар 2019, 18:40
да, и тебе ссылку приводил: http://gis-lab.info/qa/local-cs.html
Ок. Изучаю

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение trir » 07 мар 2019, 08:37

Для перехода в МСК52 вторая строчка будет иметь вид:
нет, читай мою статью - до последней строчки!

боже +datum=nzgd49 это Новоя Зеландия!!! :shock: :twisted:

ivkomn
Интересующийся
Сообщения: 36
Зарегистрирован: 04 мар 2019, 14:08
Репутация: 0
Откуда: Саров

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение ivkomn » 07 мар 2019, 09:05

Как от абракадабры
"МСК-52 зона 1", 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 41.55, 0, 1, 1250000, -5714743.504
"МСК-52 зона 2", 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 44.55, 0, 1, 2250000, -5714743.504
"МСК-52 зона 3", 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 47.55, 0, 1, 3250000, -5714743.504
перейти к абракадабре вида:
"+proj=tmerc +lat_0=0 +lon_0=44.55 +k=1 +x_0=2250000 +y_0=-5714743.504 +ellps=krass +towgs84=23.57,-140.95,-79.8,0,0.35,0.79,-0.22 +units=m +no_defs
подскажите, пожалуйста?
http://gis-lab.info/qa/mapinfo_to_wkt_proj4.html - оно?

Уверен, что просто цифры из первых строчек нужно в правильные места во второй строчке подставить
Последний раз редактировалось ivkomn 07 мар 2019, 09:17, всего редактировалось 1 раз.

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение trir » 07 мар 2019, 09:12


ivkomn
Интересующийся
Сообщения: 36
Зарегистрирован: 04 мар 2019, 14:08
Репутация: 0
Откуда: Саров

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение ivkomn » 07 мар 2019, 09:33

Почему тогда у меня не сходится

Код: Выделить всё

	CRSFactory factory = new CRSFactory();
	CoordinateReferenceSystem srcCrs = factory.createFromName("EPSG:4326");
/*
"МСК-52 зона 1", 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 41.55, 0, 1, 1250000, -5714743.504
"МСК-52 зона 2", 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 44.55, 0, 1, 2250000, -5714743.504
"МСК-52 зона 3", 8, 9999, 3, 23.57, -140.95, -79.8, 0, -0.35, -0.79, -0.22, 0, 7, 47.55, 0, 1, 3250000, -5714743.504
*/
        String param = 
                "+proj=tmerc " +
                        "+lat_0=0 +lon_0=44.55 " +
                        "+k=1 " +
                        "+x_0=2250000 " +
                        "+y_0=-5714743.504 " +
                        "+ellps=krass +towgs84=23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22 " +
                        "+units=m +no_defs";
        CoordinateReferenceSystem msk52 =
                factory.createFromParameters("MSK52", param);

	ProjCoordinate srcCoord = new ProjCoordinate(c[i][0], c[i][1]);
	ProjCoordinate dstCoord = new ProjCoordinate();
	CoordinateTransform fromWGS84 = new CoordinateTransformFactory().createTransform(srcCrs, msk52);
	fromWGS84.transform(srcCoord, dstCoord);
Для точки 54.9850521593413,43.2725334459904
получаю результат
X:3097511.168222218:Y:-868468.1243109433
Должен быть https://geobridge.ru/proj#
381660.341,2168330.721

Неправильная строка инициализации системы координат? Как исправить?

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение trir » 07 мар 2019, 09:53

координаты местами поменяй

Код: Выделить всё

ProjCoordinate srcCoord = new ProjCoordinate(c[i][1], c[i][0]);

ivkomn
Интересующийся
Сообщения: 36
Зарегистрирован: 04 мар 2019, 14:08
Репутация: 0
Откуда: Саров

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение ivkomn » 07 мар 2019, 10:12

Код: Выделить всё

c[0][0]=54.9850521593413;
c[0][1]=43.2725334459904;
String param =
                "+proj=tmerc " +
                        "+lat_0=0 +lon_0=44.55 " +
                        "+k=1 " +
                        "+x_0=2250000 " +
                        "+y_0=-5714743.504 " +
                        "+ellps=krass +towgs84=23.57,-140.95,-79.8,0,-0.35,-0.79,-0.22 " +
                        "+units=m +no_defs";
        CoordinateReferenceSystem msk52 =
                factory.createFromParameters("MSK52", param);

        for (int i = 0 ; i<4;i++) {
            ProjCoordinate srcCoord = new ProjCoordinate(c[i][1], c[i][0]);
            ProjCoordinate dstCoord = new ProjCoordinate();

            CoordinateTransform fromWGS84 = new CoordinateTransformFactory().createTransform(srcCrs, msk52);
            fromWGS84.transform(srcCoord, dstCoord);

            System.out.println("X:" + dstCoord.x + "   :Y:" + dstCoord.y);
        }

Получаю
X:2168346.431549667 :Y:381644.32545627747

on-line сервис дает
381660.341, 2168330.721
Похоже, но расхождение на 10+ метров. Это норма??? и в ответе мне опять нужно координаты местами поменять, что бы Х - число 6 знаков, У - число 7 знаков??

Чую, что приближаюсь к разгадке :)) Спасибо большое!

trir
Гуру
Сообщения: 5355
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1021
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение trir » 07 мар 2019, 10:21

Там есть второй вариант параметров - они отличаются параметром +towgs84 и это отличие как раз может дать такую разницу. Что точнее - не известно :wink:
"МСК-52 зона 1", 8, 1001, 7, 41.55, 0, 1, 1250000, -5714743.504
"МСК-52 зона 2", 8, 1001, 7, 44.55, 0, 1, 2250000, -5714743.504
"МСК-52 зона 3", 8, 1001, 7, 47.55, 0, 1, 3250000, -5714743.504

ivkomn
Интересующийся
Сообщения: 36
Зарегистрирован: 04 мар 2019, 14:08
Репутация: 0
Откуда: Саров

Re: переход плоск-сферич Формула 25 действующего ГОСТа

Сообщение ivkomn » 07 мар 2019, 10:25

Ясно, но мне бы в формате proj всё :) немножечко уже крыша едет.

Правильно понимаю, что зоны МСК 52 1,2,3 расположены с запада на восток друг относительно друга, потому что:
/*
41.55, 0, 1, 1250000, -5714743.504
44.55, 0, 1, 2250000, -5714743.504
47.55, 0, 1, 3250000, -5714743.504
*/
41, 44, 47 - градусы меридиана??
Значит, я правильно выбрал 2-ю зону, поскольку у меня коорд. по долготе около 43?

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя