Как рассчитать площадь по координатам широты\долготы?

Kenku

Житель города
#1
Короче задача такая - есть четыре координаты широты\долготы (планета Земля, если что). Нужно рассчитать площадь получившейся фигуры. Т.е. если связать эти координаты линиями, то получится неравнобедренное нечто. Вот нужна его площадь. Как и чем это сделать?
 

Aliens

Меня знают многие ;-)
#2
Короче задача такая - есть четыре координаты широты\долготы (планета Земля, если что). Нужно рассчитать площадь получившейся фигуры. Т.е. если связать эти координаты линиями, то получится неравнобедренное нечто. Вот нужна его площадь. Как и чем это сделать?
Давай отгодаю, аграрии попросили тебя с помощью навигатора высчитать площадь поля неправильной формы?

Только вписанными треугольниками и прямоугольниками.
 

Canniballissimo

Житель центра
#4
Интересно! Автор, если найдёшь способ, не забудь поделиться, тоже крайне интересно. Сам нагуглить не смог.
 

Ortodocs

Житель мегаполиса
#5
почему вписанными треугольниками и прямоугольниками. это же математика. если речь идёт о выпуклом четырёхугольнике,то:
понадобится формула вычисления площади четырёхугольника. она есть одна вторая * произведение длин диагоналей * синус угла между ними. длины диагоналей вычисляются по правилу прямоугольного треугольника. но нужно учесть поправку что длина одного градуса широты одинакова везде 40000км/360 (условно говоря, а если нужна сверх точность до десятков метров, это в случае если площади небольшого размера, то есть таблицы (или лучше формула) поправочные на всю землю в зависимости от градуса широты, т.к. земля это не совсем правильный шар). а длина долготы грубо говоря определяется как длина широты * косинус долготы. для определения угла между диагоналями используется спец формула для вычисления угла пересения двух прямых, для которой прежде надо написать уравнение прямых образованных диагоналями, для этого используется формула прямой по двум точкам и преобразование её к виду Y=kX+b для каждой прямой. а дальше чисто математика. а если площади очень велики (что врятли), то надо чуть корректировать площадь из-за "изгиба поверхности планеты".
Так что Kenku, как программист, математику ты должен знать, а если не хочешь вспоминать то жди готовых решений или программ, хотя кто их тут на армавирском форуме даст :)
 

Kenku

Житель города
#6
почему вписанными треугольниками и прямоугольниками. это же математика. если речь идёт о выпуклом четырёхугольнике,то:
понадобится формула вычисления площади четырёхугольника. она есть одна вторая * произведение длин диагоналей * синус угла между ними. длины диагоналей вычисляются по правилу прямоугольного треугольника. но нужно учесть поправку что длина одного градуса широты одинакова везде 40000км/360 (условно говоря, а если нужна сверх точность до десятков метров, это в случае если площади небольшого размера, то есть таблицы (или лучше формула) поправочные на всю землю в зависимости от градуса широты, т.к. земля это не совсем правильный шар). а длина долготы грубо говоря определяется как длина широты * косинус долготы. для определения угла между диагоналями используется спец формула для вычисления угла пересения двух прямых, для которой прежде надо написать уравнение прямых образованных диагоналями, для этого используется формула прямой по двум точкам и преобразование её к виду Y=kX+b для каждой прямой. а дальше чисто математика. а если площади очень велики (что врятли), то надо чуть корректировать площадь из-за "изгиба поверхности планеты".
Так что Kenku, как программист, математику ты должен знать, а если не хочешь вспоминать то жди готовых решений или программ, хотя кто их тут на армавирском форуме даст :)

Пока читал вспомнил картинку:

[attachment=633:l1048751264.jpg]


А вообще меня спасла обратная геодезическая задача.
 

Ortodocs

Житель мегаполиса
#9

Gn0m

Известный деятель города
#10
ппц0))))) картинка-пенааааа
капетенуза.....я аж заржал в голос :rolleyes:
спасибо)))) очень подняло настроение )
 

Kenku

Житель города
#11
Ortodocs,у вообще-то уже все давно сделано....
Плохо гуглите товарищи...

Юр, Oracle Spatial в помощь)))))

http://www.filibeto.org/sun/lib/nonsun/ora...eom.htm#i856247


а если делать, не привлекая БД, то вот это можно попробовать http://www.vividsolutions.com/jts/jtshome.htm
Ща погляжу, пасиб

И что ты этим хотел сказать?
Хотел сказать что пока читал, вспомнил картинку.
 

Aliens

Меня знают многие ;-)
#12
собственно проблемы не вижу, сможешь если все координаты дать, посчитать площадь можно достаточно легко, но нужна карта с координатами в цифровом виде... собственно все... пока никаких проблем не вижу, если площади меньше нашего края, искривления можно игнорировать, они не больше процента...
 

Aliens

Меня знают многие ;-)
#13
собственно проблемы не вижу, сможешь если все координаты дать, посчитать площадь можно достаточно легко, но нужна карта с координатами в цифровом виде... собственно все... пока никаких проблем не вижу, если площади меньше нашего края, искривления можно игнорировать, они не больше процента...
А неровности, они могут быть значительными, а координаты даны для плоскости....
 

Aliens

Меня знают многие ;-)
#15
проще конечно считать по плоскости, я же и говорю, если площадь небольшая можно игнорировать искривления и очень легко посчитать, по координатам любую сложную фигуру
 

Kenku

Житель города
#18
Так получилось посчитать? Если да, то каким методом?
ну вообще двумя способами. первый - это был один знакомый геодезист, он помог в легкую. а второй - спечиальный gps-навигатор для сельхоз работ, там такая функция оказыцца есть.