GeoCalculator, перевод из градусов в метры

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Vlad_G
Новоприбывший
Сообщения: 5
Зарегистрирован: 14 июл 2009, 08:20
Репутация: 0

GeoCalculator, перевод из градусов в метры

Сообщение Vlad_G » 18 июл 2009, 14:16

имеется набор точек, снятых эхолотом с gps.
При помощи GeoCalculator пытаюсь перевести градусы в метры. пробую различные системы wgs(utm), ск-42.
пересчет происходит, но получаю картинку сжатую по горизантали и вытянутую по вертикали.
При этом гугл планета земля дает визуально удовлетворительную картинку.
для обработки данных в метрах использовал Пифагор и Кредо (результат одинаково искажен)
для географических координат гугл планета земля.
измерение линейкой в гугл растояния между точками, дает результат больше похожий на правду, и отличный от данных кредо и пифагор.
участок не большой порядка 100 на 200 метров. разница в результатах +-10 метров на отрезке в 50 метров.
промеряеться растояние между одними и теми же точками.
...
я только пытаюсь разобраться, понимаю, что где-то, что-то не учитываю.
подскажите что именно??

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: GeoCalculator, перевод из градусов в метры

Сообщение Максим Дубинин » 18 июл 2009, 17:57

я подозреваю, что у вас все нормально
http://gis-lab.info/qa/proj-sk-faq.html#16

сказать правильно ли сделан пересчет можно подгрузив другой источник в этой же системе координат и посмотрев данные совместно, это легко можно сделать в любой свободной ГИС. Про GE не очень понятно, вы туда данные в метрах загружаете?
пристегивайтесь, турбулентность прямо по курсу

Vlad_G
Новоприбывший
Сообщения: 5
Зарегистрирован: 14 июл 2009, 08:20
Репутация: 0

Re: GeoCalculator, перевод из градусов в метры

Сообщение Vlad_G » 18 июл 2009, 20:27

В GE есть линейка.
только что установил mapinfo. тот же эффект.
при отображении в градусах 32 метра, при переходе в метры 48. (тоже пользуюсь штатной линейкой)
при этом опираясь на собственные визуальные наблюдения. могу сказать, что картинке которая отображаеться в географических координатах я доверяю, она совпадает с планом местности.
.....
может быть подскажите, хотя бы как обойти, и получить план схему с сохранением пропорций?

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: GeoCalculator, перевод из градусов в метры

Сообщение Максим Дубинин » 18 июл 2009, 21:13

измерения не показатель, системы координат разные
проще всего сказать посмотрев исходный и конечный набор данных, можете приложить фрагмент?
пристегивайтесь, турбулентность прямо по курсу

Vlad_G
Новоприбывший
Сообщения: 5
Зарегистрирован: 14 июл 2009, 08:20
Репутация: 0

Re: GeoCalculator, перевод из градусов в метры

Сообщение Vlad_G » 18 июл 2009, 21:23

приложил файл с координатами.
ключевые точки 525-528
растояния между 525-528 и 526-527 примерно 30 метров.
т.е. изображение на гугле примерно соответствует истине.
при пересчете в метры происходит растяжение примерно на 50-60%, по вектору 525-528.
Вложения
#OstNord-probel.txt
(13.86 КБ) 1082 скачивания
Последний раз редактировалось Vlad_G 18 июл 2009, 21:32, всего редактировалось 2 раза.

Vlad_G
Новоприбывший
Сообщения: 5
Зарегистрирован: 14 июл 2009, 08:20
Репутация: 0

Re: GeoCalculator, перевод из градусов в метры

Сообщение Vlad_G » 18 июл 2009, 21:29

в догонку.
мне трудно судить показатель измерение или нет. я пока, что с математикой только пытаюсь разобраться.
в настоящий же момент, хочется решить задачу:
построить план схему в кад системе, считая что пропорции отображаемые в географических координатах, меня устраивают.
а как это сделать, при таких геометрических искажениях. каким методом пересчитывать? учитывая, что привязки меня не интересуют, мне вполне достаточно любой условной системы координат.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9129
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 748
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: GeoCalculator, перевод из градусов в метры

Сообщение Максим Дубинин » 18 июл 2009, 21:55

пересчитываете в UTM соответствующая зона и потом считаете расстояние просто как sqrt((x2-x1)^2 + (y2-y1)^2)
если хотите считать в градусах, считайте как расстояния большого круга
http://gis-lab.info/qa/great-circles.html
результаты должны быть очень похожи

пропорции в разных проекциях будут разными.
пристегивайтесь, турбулентность прямо по курсу

Boris
Гуру
Сообщения: 4231
Зарегистрирован: 10 апр 2006, 22:34
Репутация: -344969098
Откуда: Париж

Re: GeoCalculator, перевод из градусов в метры

Сообщение Boris » 20 июл 2009, 00:14

Вообще-то хороший КАД даст вам построить положения точек в 3D. Радиус Земли - известен. Это я для того, что уж больно мелкие расстояния и больно крупные расхождения. Тогда и померить можно прямо по поверхности.

Vlad_G
Новоприбывший
Сообщения: 5
Зарегистрирован: 14 июл 2009, 08:20
Репутация: 0

Re: GeoCalculator, перевод из градусов в метры

Сообщение Vlad_G » 28 июл 2009, 15:25

Задачу решил с использованием следующей формулы:

1 минута широты ("верх/низ/север/юг") = 1852 м
1 минута долготы ("право/лево/запад/восток") = 1852 м * cos(F),
где F=(широта в градусах).

результаты меня абсолютно устроили. сошлись и с показаниями google и с описанием местности.
почему результаты геокалькулятора и мапинфо, так сильно отличаються от реальных
мне очень хочется разобраться, но приходиться отложить. катастрофически не хватает времени.

Shasoft
Интересующийся
Сообщения: 37
Зарегистрирован: 24 июл 2009, 14:47
Репутация: 0

Re: GeoCalculator, перевод из градусов в метры

Сообщение Shasoft » 29 июл 2009, 16:55

Сам недавно искал функцию для расчета расстояний в метрах по координатам google
Привожу конечное решение (на javascript). При тестах отклонения от функций google map были в тысячные доли процента.

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

// Определить расстояние между точками
maps.distance = function(pto1,pto2,radius) {
  // Если радиус не определен, то берем радиус Земли
  if(typeof(radius)=='undefined')
   radius = 6378135;
  //
  var rad = Math.PI/180.0;
  //
  var lat1 = pto1.lat * rad;
  var lon1 = pto1.lng * rad;
  var lat2 = pto2.lat * rad;
  var lon2 = pto2.lng * rad;
  //
  var theta = lon2 - lon1;
  var dist = Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(theta));
  if (dist < 0) { dist += Math.PI; }

  return dist = dist * radius; 
}

Ответить

Вернуться в «Общий - ПО»

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

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