Площади из WSG84 в га.

Вопросы общего характера по ГИС и дистанционному зондированию, не связанные с конкретным ПО.
Ответить
maestro90
Новоприбывший
Сообщения: 9
Зарегистрирован: 10 май 2012, 06:35
Репутация: 0

Площади из WSG84 в га.

Сообщение maestro90 » 20 июн 2012, 13:34

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

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Площади из WSG84 в га.

Сообщение rhot » 20 июн 2012, 13:45

геометрия хранится в таблице geography_columns ?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Александр Мурый
Гуру
Сообщения: 5173
Зарегистрирован: 26 сен 2009, 16:26
Репутация: 792
Ваше звание: званий не имею
Откуда: Москва

Re: Площади из WSG84 в га.

Сообщение Александр Мурый » 20 июн 2012, 14:13

Нашёл вот такую ссылку. Ну и вот примерно о том же.
Редактор материалов, модератор форума

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Площади из WSG84 в га.

Сообщение rhot » 20 июн 2012, 14:46

Да зачем топорно-то делать??
У меня куча слоёв в lat/lon в PostGIS хранится - всё прекрасно вычисляется в метрах квадратных с помощью ST_Area()
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Площади из WSG84 в га.

Сообщение Игорь Белов » 20 июн 2012, 15:03

Для небольшого (в масштабах Земного шара) объекта можно довольно точно вычислять площадь в гектарах по приведённой ниже формуле.

A — площадь в квадратных градусах;
a = 63781,37 — экваториальный радиус эллипсоида WGS84 в сотнях метров;
e² = 0,006694379990141317 — квадрат первого эксцентриситета эллипсоида WGS84;
B — широта центроида объекта.

P. S. Исправив значение e², посыпаю главу пеплом.
Вложения
area.png
area.png (4.16 КБ) 9384 просмотра
Последний раз редактировалось Игорь Белов 21 июн 2012, 06:42, всего редактировалось 1 раз.
The purpose of computing is insight, not numbers

maestro90
Новоприбывший
Сообщения: 9
Зарегистрирован: 10 май 2012, 06:35
Репутация: 0

Re: Площади из WSG84 в га.

Сообщение maestro90 » 20 июн 2012, 16:13

А не подскажите как узнать, B — широта центроида объекта?

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Площади из WSG84 в га.

Сообщение Игорь Белов » 20 июн 2012, 17:27

Под центроидом нужно понимать центр масс плоской фигуры, имеющей постоянную толщину и плотность. Вычисление его координат — задачка не из самых простых для полигона не только на эллипсоиде, но и на сфере.

Обычно на практике протяженность участков по широте довольно мала (100 километров — примерно 1 градус), поэтому можно принять в качестве B среднее из минимального и максимального значений широты. Насколько допустимо это упрощение, зависит от симметричности фигуры (хороший, годный случай — равенство площадей северной и южной половин) и от размеров объекта.

Однако сдаётся мне, сейчас rhot скажет, что PostGIS знает координаты центроидов, и будет прав.
The purpose of computing is insight, not numbers

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Площади из WSG84 в га.

Сообщение rhot » 20 июн 2012, 18:47

ST_AsLatLonText(ST_Centroid(the_geom))

=)
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2241
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1514
Откуда: Казань

Re: Площади из WSG84 в га.

Сообщение Игорь Белов » 21 июн 2012, 07:34

Выше я ошибся с величиной первого эксцентриситета. Значит, лучше проверить:

f = 1/298,257223563 — сжатие эллипсоида WGS84;
e² = f (2 - f) — квадрат первого эксцентриситета;
e′² = e² / (1 - e²) — квадрат второго эксцентриситета.

А вот вариант формулы для площади в гектарах. Из тригонометрических функций вычисляется только косинус.

A — площадь в квадратных градусах;
a = 63781,37 — радиус большой полуоси эллипсоида WGS84 в сотнях метров;
e′² = 0,006739496742276435 — квадрат второго эксцентриситета эллипсоида WGS84;
B — широта центроида объекта.
Вложения
area_2.png
area_2.png (4.19 КБ) 9285 просмотров
The purpose of computing is insight, not numbers

Аватара пользователя
Aleksandr Dezhin
Активный участник
Сообщения: 244
Зарегистрирован: 03 фев 2010, 10:47
Репутация: 14
Откуда: Москва

Re: Площади из WSG84 в га.

Сообщение Aleksandr Dezhin » 21 июн 2012, 18:27

Не очень понятно зачем такие сложности, когда речь идет о PostGIS. Начиная с 1.5 можно посчитать через geography - ST_Area(geography(geom)). В более ранних версиях можно перепроецировать в равновеликую проекцию, например в albers equal area.

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Площади из WSG84 в га.

Сообщение rhot » 21 июн 2012, 19:25

Не очень понятно зачем такие сложности, когда речь идет о PostGIS. Начиная с 1.5 можно посчитать через geography - ST_Area(geography(geom)).
я так думаю, у топикстартера геометрия хранится в geometry_columns, а не в geography_columns. Поэтому-то и не получается площадь в м2 красиво посчитать.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
Aleksandr Dezhin
Активный участник
Сообщения: 244
Зарегистрирован: 03 фев 2010, 10:47
Репутация: 14
Откуда: Москва

Re: Площади из WSG84 в га.

Сообщение Aleksandr Dezhin » 21 июн 2012, 21:06

rhot писал(а):
Не очень понятно зачем такие сложности, когда речь идет о PostGIS. Начиная с 1.5 можно посчитать через geography - ST_Area(geography(geom)).
я так думаю, у топикстартера геометрия хранится в geometry_columns, а не в geography_columns. Поэтому-то и не получается площадь в м2 красиво посчитать.
Оно без проблем конвертируется на лету через geography().

Ответить

Вернуться в «Общие вопросы»

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

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