Точность данных в OZI
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 ноя 2007, 15:50
- Репутация: 0
Точность данных в OZI
Привет знатокам GIS!
Пож-ста Ваше мнение:
правильно ли работает OZIExplorer - думаю, у многих есть опыт?
По карте Москвы OZI дает мне координаты точек и показывает расстояние
между waypoint'ами.
Когда же я сам считаю эти расстояния (на java по разным ф-лам, в т.ч. по самым точным), то получаю расхождение с OZI на многие (!) единицы % (ОZI систематически занижает).
Доступны ли массовым пользователям другие ГИС с картой Москвы - для контроля, чтобы разобраться
до конца.
Было бы супер, если бы с ними можно было бы работать on-line (без установки у себя)
С уважением, dummy
Пож-ста Ваше мнение:
правильно ли работает OZIExplorer - думаю, у многих есть опыт?
По карте Москвы OZI дает мне координаты точек и показывает расстояние
между waypoint'ами.
Когда же я сам считаю эти расстояния (на java по разным ф-лам, в т.ч. по самым точным), то получаю расхождение с OZI на многие (!) единицы % (ОZI систематически занижает).
Доступны ли массовым пользователям другие ГИС с картой Москвы - для контроля, чтобы разобраться
до конца.
Было бы супер, если бы с ними можно было бы работать on-line (без установки у себя)
С уважением, dummy
Последний раз редактировалось Максим Дубинин 20 май 2009, 05:28, всего редактировалось 1 раз.
Причина: e-mail удален, см. правила форума: 2.2.1
Причина: e-mail удален, см. правила форума: 2.2.1
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Точность данных в OZI
как вы считаете расстояния на java?
приведите пример двух точек и рассчета в OZI и java.
приведите пример двух точек и рассчета в OZI и java.
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 ноя 2007, 15:50
- Репутация: 0
Re: Точность данных в OZI
p1: latdDegr=55.0 latdMinu=47.462 lngtDegr=37.0 lngtMinu=29.426 //Москва, ул. Народного Ополчения, 39-1
p2: latdDegr=55.0 latdMinu=48.327 lngtDegr=37.0 lngtMinu=27.400 //Москва, ул. Марш.Новикова, 23
OZI: 2.4505 km
Java: 2.6511 km (для малых расст.)
вызов метода
p1.distSphere(p2)
p2: latdDegr=55.0 latdMinu=48.327 lngtDegr=37.0 lngtMinu=27.400 //Москва, ул. Марш.Новикова, 23
OZI: 2.4505 km
Java: 2.6511 km (для малых расст.)
Код: Выделить всё
Point(double latdDegr, double latdMinu, // constructor
double lngtDegr, double lngtMinu) {
latdd = latdDegr + latdMinu/60.0;
lngtd = lngtDegr + lngtMinu/60.0;
...
}
double distSphere(Point p) { // для малых расст.
double item1 = Math.pow(Math.sin((deg2rad(this.latdd) - deg2rad(p.latdd))/2.0), 2.0);
double item2 = Math.cos(deg2rad(this.latdd)) * Math.cos(deg2rad(p.latdd));
double item3 = Math.pow(Math.sin((deg2rad(this.lngtd)-deg2rad(p.lngtd))/2.0), 2.0);
return 6372795 * 2.0 * Math.asin(Math.sqrt(item1 + item2 * item3));
}
вариант расчета упрощ.
double itm1 = Math.sin(deg2rad(this.latdd)) * Math.sin(deg2rad(p.latdd));
double itm2 = Math.cos(deg2rad(this.latdd)) * Math.cos(deg2rad(p.latdd));
double itm3 = Math.cos(deg2rad(p.lngtd) - deg2rad(this.lngtd));
return 40075696 * Math.acos(itm1 + itm2 * itm3)/(2.0 * Math.PI);
double deg2rad(double deg) { // вспомог. метод
return deg * Math.PI / 180.0;
}
вызов метода
p1.distSphere(p2)
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Точность данных в OZI
теперь понятно
OZI считает в прямоугольной СК
ваш скрипт - в сферической, как расстояние большого круга (подробнее)
и то и другое - нормально, но для вектора в Lat-Long правильнее считать расстояния вашим скриптом.
Повторю, это не значит, что OZI не прав, он прав, но не оптимален.
PS: кстати, откуда скрипт?
OZI считает в прямоугольной СК
ваш скрипт - в сферической, как расстояние большого круга (подробнее)
и то и другое - нормально, но для вектора в Lat-Long правильнее считать расстояния вашим скриптом.
Повторю, это не значит, что OZI не прав, он прав, но не оптимален.
PS: кстати, откуда скрипт?
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 ноя 2007, 15:50
- Репутация: 0
Re: Точность данных в OZI
Не скрипт - вообще-то, java не скриптовый язык в отличие от python, например -
а код, ну, а ф-ла оттуда, где "подробнее"
Только вот странно, что расхождения такие большие.
Расхождение должно составлять ДОЛИ метра на этом расстоянии.
а код, ну, а ф-ла оттуда, где "подробнее"

Только вот странно, что расхождения такие большие.
Расхождение должно составлять ДОЛИ метра на этом расстоянии.
-
- Завсегдатай
- Сообщения: 483
- Зарегистрирован: 17 авг 2006, 14:04
- Репутация: 0
- Откуда: Новосибирск
Re: Точность данных в OZI
Пытался повторить расчет – у Вас в коде сплошь ошибки. Что, например, должна возвращать строка
double item3 = Math.pow(Math.sin((deg2rad(this.lngtd)-deg2rad(p.lngtd))/2.0), 2.0);
по-моему ноль Sin(0)=0
double item3 = Math.pow(Math.sin((deg2rad(this.lngtd)-deg2rad(p.lngtd))/2.0), 2.0);
по-моему ноль Sin(0)=0
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Точность данных в OZI
беру свои слова обратно, по этим координатам такую цифру как получает OZI, простым sqrt(x1-x2)^2+(y1-y2)^2) не получить, значит считает он по другому, но не по большим кругам, т.к. результаты расчета java верные.
расскажите еще как считаете в OZI по какому материалу, не по карте случайно привязанной?
расскажите еще как считаете в OZI по какому материалу, не по карте случайно привязанной?
пристегивайтесь, турбулентность прямо по курсу
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 ноя 2007, 15:50
- Репутация: 0
Re: Точность данных в OZI
2Andreil
Где Вы видите ошибку?
Почему Вы указываете на sin(0), аргумент-то отнюдь не нулевой:
this.lngtd-p.lngtd != 0
Где Вы видите ошибку?
Почему Вы указываете на sin(0), аргумент-то отнюдь не нулевой:
this.lngtd-p.lngtd != 0
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 ноя 2007, 15:50
- Репутация: 0
Re: Точность данных в OZI
2sim: да, карту я сам не привязывал,
возможно, это источник ошибок...
возможно, это источник ошибок...
-
- Завсегдатай
- Сообщения: 483
- Зарегистрирован: 17 авг 2006, 14:04
- Репутация: 0
- Откуда: Новосибирск
Re: Точность данных в OZI
Прошу великодушного прощения – сам накосячил, а Вас обвинил. В Вашем коде все корректно, по первому алгоритму 2651.06 м, по второму 2653.33 м.
-
- Новоприбывший
- Сообщения: 14
- Зарегистрирован: 08 ноя 2007, 15:50
- Репутация: 0
Re: Точность данных в OZI
У меня есть еще одна карта Москвы в OZI.
Попробую оценить расст. p1-p2 по ней.
Может, что-то прояснится...
Попробую оценить расст. p1-p2 по ней.
Может, что-то прояснится...
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость