Площади из WSG84 в га.
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 10 май 2012, 06:35
- Репутация: 0
Площади из WSG84 в га.
Добрый день. Я с помощью постгис вычисляю площадь, но проблема в том что я получаю результат в квадратных градусах(wsg84) могу ли я с помощью какой нибудь формулы превратить эту цифру в гектары?
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Площади из WSG84 в га.
геометрия хранится в таблице geography_columns ?
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 792
- Ваше звание: званий не имею
- Откуда: Москва
Re: Площади из WSG84 в га.
Редактор материалов, модератор форума
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Площади из WSG84 в га.
Да зачем топорно-то делать??
У меня куча слоёв в lat/lon в PostGIS хранится - всё прекрасно вычисляется в метрах квадратных с помощью ST_Area()
У меня куча слоёв в lat/lon в PostGIS хранится - всё прекрасно вычисляется в метрах квадратных с помощью ST_Area()
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Площади из WSG84 в га.
Для небольшого (в масштабах Земного шара) объекта можно довольно точно вычислять площадь в гектарах по приведённой ниже формуле.
A — площадь в квадратных градусах;
a = 63781,37 — экваториальный радиус эллипсоида WGS84 в сотнях метров;
e² = 0,006694379990141317 — квадрат первого эксцентриситета эллипсоида WGS84;
B — широта центроида объекта.
P. S. Исправив значение e², посыпаю главу пеплом.
A — площадь в квадратных градусах;
a = 63781,37 — экваториальный радиус эллипсоида WGS84 в сотнях метров;
e² = 0,006694379990141317 — квадрат первого эксцентриситета эллипсоида WGS84;
B — широта центроида объекта.
P. S. Исправив значение e², посыпаю главу пеплом.
- Вложения
-
- area.png (4.16 КБ) 9389 просмотров
Последний раз редактировалось Игорь Белов 21 июн 2012, 06:42, всего редактировалось 1 раз.
The purpose of computing is insight, not numbers
-
- Новоприбывший
- Сообщения: 9
- Зарегистрирован: 10 май 2012, 06:35
- Репутация: 0
Re: Площади из WSG84 в га.
А не подскажите как узнать, B — широта центроида объекта?
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Площади из WSG84 в га.
Под центроидом нужно понимать центр масс плоской фигуры, имеющей постоянную толщину и плотность. Вычисление его координат — задачка не из самых простых для полигона не только на эллипсоиде, но и на сфере.
Обычно на практике протяженность участков по широте довольно мала (100 километров — примерно 1 градус), поэтому можно принять в качестве B среднее из минимального и максимального значений широты. Насколько допустимо это упрощение, зависит от симметричности фигуры (хороший, годный случай — равенство площадей северной и южной половин) и от размеров объекта.
Однако сдаётся мне, сейчас rhot скажет, что PostGIS знает координаты центроидов, и будет прав.
Обычно на практике протяженность участков по широте довольно мала (100 километров — примерно 1 градус), поэтому можно принять в качестве B среднее из минимального и максимального значений широты. Насколько допустимо это упрощение, зависит от симметричности фигуры (хороший, годный случай — равенство площадей северной и южной половин) и от размеров объекта.
Однако сдаётся мне, сейчас rhot скажет, что PostGIS знает координаты центроидов, и будет прав.
The purpose of computing is insight, not numbers
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Площади из WSG84 в га.
ST_AsLatLonText(ST_Centroid(the_geom))
=)
=)
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
- Игорь Белов
- Гуру
- Сообщения: 2241
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1514
- Откуда: Казань
Re: Площади из WSG84 в га.
Выше я ошибся с величиной первого эксцентриситета. Значит, лучше проверить:
f = 1/298,257223563 — сжатие эллипсоида WGS84;
e² = f (2 - f) — квадрат первого эксцентриситета;
e′² = e² / (1 - e²) — квадрат второго эксцентриситета.
А вот вариант формулы для площади в гектарах. Из тригонометрических функций вычисляется только косинус.
A — площадь в квадратных градусах;
a = 63781,37 — радиус большой полуоси эллипсоида WGS84 в сотнях метров;
e′² = 0,006739496742276435 — квадрат второго эксцентриситета эллипсоида WGS84;
B — широта центроида объекта.
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 (4.19 КБ) 9290 просмотров
The purpose of computing is insight, not numbers
- Aleksandr Dezhin
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 фев 2010, 10:47
- Репутация: 14
- Откуда: Москва
Re: Площади из WSG84 в га.
Не очень понятно зачем такие сложности, когда речь идет о PostGIS. Начиная с 1.5 можно посчитать через geography - ST_Area(geography(geom)). В более ранних версиях можно перепроецировать в равновеликую проекцию, например в albers equal area.
- rhot
- Гуру
- Сообщения: 1727
- Зарегистрирован: 25 янв 2011, 17:50
- Репутация: 194
- Ваше звание: доктор
- Откуда: Архангельск
Re: Площади из WSG84 в га.
я так думаю, у топикстартера геометрия хранится в geometry_columns, а не в geography_columns. Поэтому-то и не получается площадь в м2 красиво посчитать.Не очень понятно зачем такие сложности, когда речь идет о PostGIS. Начиная с 1.5 можно посчитать через geography - ST_Area(geography(geom)).
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________
- Aleksandr Dezhin
- Активный участник
- Сообщения: 244
- Зарегистрирован: 03 фев 2010, 10:47
- Репутация: 14
- Откуда: Москва
Re: Площади из WSG84 в га.
Оно без проблем конвертируется на лету через geography().rhot писал(а):я так думаю, у топикстартера геометрия хранится в geometry_columns, а не в geography_columns. Поэтому-то и не получается площадь в м2 красиво посчитать.Не очень понятно зачем такие сложности, когда речь идет о PostGIS. Начиная с 1.5 можно посчитать через geography - ST_Area(geography(geom)).
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя