SASGIS

Веб-картография и навигация

Расчет площади

программа для загрузки и просмотра спутниковых снимков Земли, Луны, Марса предоставленных сервисами Google Maps и Космоснимки. Возможность работы с GPS приёмником.

Модератор: Tolik

Re: Расчет площади

Сообщение rass » 23 июн 2013, 22:24

zed писал(а): Если вы сохраните путь в виде отрезка в 100 м, то оно вам покажет в любой проекции 100 м, аналогично периметру.


Проверил с Путем. Результат аналогично линейке. Во время прорисовки Пути, на разных картах разные значения длины Пути.
И еще, кстати, Азимут тоже незначительно изменяется.
23-06-2013 21-09-03.jpg
23-06-2013 21-09-15.jpg


Но вот когда сохранишь путь, причем не важно какая была активная карта - Гугл или Яндекс,
длина пути в окне информации о метке будет равна длине, которая отображалась во время рисования пути на карте Яндекс.
И действительно, потом уже не зависит от активной карты(проекции).
23-06-2013 21-10-21.jpg
23-06-2013 21-09-53.jpg


Должно быть, пиксели тут не главную роль играют

За это сообщение автора rass поблагодарил:
zed (27 ноя 2013, 02:32)
Рейтинг: 5.26%
 
rass
Советчик
 
Сообщения: 300
Зарегистрирован: 23 май 2010, 12:17
Благодарил (а): 61 раз.
Поблагодарили: 92 раз.

Re: Расчет площади

Сообщение vdemidov » 24 июн 2013, 23:18

Расчет растояний выполняется на основе проекции текущей карты, поддерживается как сфера так и элиипсоид.
Расчет площадей выполняется на основе проекции текущей карты, но поддерживается только сфера.
Так как гугл использует меркатор на сфере, а яндекс меркатор на эллипсоиде, расстояния получаются разные, а площади одинаковыми (Радиус сферы совпадает с радиусом эллипсоида). Никаких чудес.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Расчет площади

Сообщение rass » 25 июн 2013, 00:11

vdemidov писал(а):гугл использует меркатор на сфере, а яндекс меркатор на эллипсоиде, расстояния получаются разные

а который точнее?, может чтобы расстояние не прыгало с карты на карту (проекции на проекцию), тоже считать везде только по сфере?
rass
Советчик
 
Сообщения: 300
Зарегистрирован: 23 май 2010, 12:17
Благодарил (а): 61 раз.
Поблагодарили: 92 раз.

Re: Расчет площади

Сообщение vdemidov » 25 июн 2013, 00:50

1.
rass писал(а):а который точнее?

А вы как думаете?
2.
rass писал(а):может чтобы расстояние не прыгало с карты на карту (проекции на проекцию), тоже считать везде только по сфере?

смотри ответ №1
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Расчет площади

Сообщение Shoorick » 25 июн 2013, 01:09

а который точнее?

Вопрос философский:) ибо эталона, относительно которого определять точность, нет.
На больших дистанциях расстояния меряются не по прямой, а по кривой на воображаемой поверхности на уровне воображаемого моря.
Если мерять по реальной земной поверхности с учетом ее изгибов, получится непонятно что.
Но теоретически эллипсоид ближе к реальной поверхности, чем сфера.
Для бешеной собаки семь миль не круг
Аватара пользователя
Shoorick
Соображающий
 
Сообщения: 64
ICQ: 243486263
Зарегистрирован: 15 окт 2010, 21:29
Откуда: Минск
Благодарил (а): 4 раз.
Поблагодарили: 4 раз.

Re: Расчет площади

Сообщение Tolik » 25 июн 2013, 11:55

vdemidov писал(а):Расчет площадей выполняется на основе проекции текущей карты, но поддерживается только сфера.

Почему? Формулы для эллипсоида не нашлось?
Tolik
Гуру
 
Сообщения: 2604
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 280 раз.
Поблагодарили: 587 раз.

Re: Расчет площади

Сообщение zed » 27 ноя 2013, 02:26

Нашёл новый алгоритм расчёта площади на эллипсоиде и внедрил его в SAS. Завтра можно начинать тестировать. По-идее, теперь показания SAS должны один в один совпадать с QGIS т.к. именно оттуда и был взят алгоритм.

И надо внести ясность: расчёт площади/расстояния полигонов/путей выполняется не в проекции карты, а всегда в проекции Яндекса, если так можно выразиться. Т.е. для этих расчётов всегда используется референц-эллипсоид WGS84, вне зависимости от того, в какой проекции отображается сейчас карта и какой конкретно эллипсоид там используется. А вот инструмент "Линейка" уже использует эллипсоид из проекции карты. И поскольку у большинства карт проекция "Гугла", который использует сферу (эллипсоид у которого полуоси равны между собой), то показания получаются менее точные, чем могли бы быть, если бы мы и там жёстко задали эллипсоид WGS84 и вот почему rass заметил странное поведение и разночтение в показаниях viewtopic.php?f=2&t=2211&p=35328#p33723

За это сообщение автора zed поблагодарили: 2
rass (27 ноя 2013, 15:42) • Tolik (27 ноя 2013, 16:35)
Рейтинг: 10.53%
 
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Расчет площади

Сообщение zed » 28 ноя 2013, 10:19

rass писал(а):Я понимаю, то что я сделал это частный случай измерения площади Полигона.
Но было интересно и я решил померить всю площадь Земли в Саспланет (площадь Земли принято считать 510 072 000 км²)
Создал Полигон всей Земли на зуме 2 с притягиванием точек к сетке, и посмотрел информацию о метке Полигона (рис 1).
1.jpg

Результат конечно же не удивил, но улыбнуло: не смог представить периметр выделения всей поверхности Земли на глобусе.
Но все же Саспланет постарался и что-то посчитал.

Тогда решил дать полегче задачу - создал Полигон четверти Земли. Но к сожалению, Саспланет, как оказалось, задача
была сложнее, чем посчитать всю Землю, и информация о Полигоне четверти Земли выдала ошибку (рис 2).
2.jpg


Еще, изучив KML, созданых полигнов, удивило, что тайлы идут до +/-85 градусов широт

Приложил KML
полной Земли - full.kml
четверть Земли - 1-4.kml

Если в папку с ночнушкой положить dll из аттача в тикете http://sasgis.org/mantis/view.php?id=2276 то SAS сможет посчитать периметр полигона "четверть Земли - 1-4.kml".

Встроенный алгоритм, к сожалению, имеет ограничения и в редких случаях может выдавать такое сообщение об ошибке.

За это сообщение автора zed поблагодарил:
rass (28 ноя 2013, 11:34)
Рейтинг: 5.26%
 
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Нестыковки с площадью земли

Сообщение vasyaddd » 19 сен 2015, 00:32

У меня тут расчеты слегка не сходятся, подскажете чего-нибудь. Если лень читать все — промотайте до последней строчки

Площадь земли в Википедии 510 072 000 км2

Если верить Википедии, в WGS84 экваториальный радиус = 6 378 137 м и полярный = 6 356 752.3142 м, соответственно площадь геоида получается 510 065 626.58710 км2

В MapInfo и ArcGIS используется радиус — 6370997 км, то есть площадь геоида по идее 510 063 991.54782 km2

В Google WGS84, радиус сферы = 6 378.137 км, соответственно площадь сферы 511 207 893.4 км2

Теперь в "SAS.Планета" (v 150915.9055 Stable) замеряем площадь каждого тайла по вертикали в масштабе z10 (512x512 тайлов)
Проекция которую я выбрал называется "Mercator / Google maps (sphere radius 6378137) / EPSG:3785"

скрытый текст: показать
y 000 = 45.85
y 001 = 46.99
y 002 = 48.15
y 003 = 49.34
y 004 = 50.56
y 005 = 51.81
y 006 = 53.09
y 007 = 54.41
y 008 = 55.75
y 009 = 57.13
y 010 = 58.54
y 011 = 59.99
y 012 = 61.48
y 013 = 63
y 014 = 64.55
y 015 = 66.15
y 016 = 67.78
y 017 = 69.46
y 018 = 71.17
y 019 = 72.93
y 020 = 74.73
y 021 = 76.58
y 022 = 78.47
y 023 = 80.41
y 024 = 82.39
y 025 = 84.42
y 026 = 86.51
y 027 = 88.64
y 028 = 90.83
y 029 = 93.07
y 030 = 95.36
y 031 = 97.71
y 032 = 100.12
y 033 = 102.59
y 034 = 105.12
y 035 = 107.71
y 036 = 110.36
y 037 = 113.08
y 038 = 115.86
y 039 = 118.71
y 040 = 121.63
y 041 = 124.62
y 042 = 127.69
y 043 = 130.83
y 044 = 134.04
y 045 = 137.34
y 046 = 140.71
y 047 = 144.17
y 048 = 147.71
y 049 = 151.33
y 050 = 155.05
y 051 = 158.85
y 052 = 162.74
y 053 = 166.73
y 054 = 170.82
y 055 = 175
y 056 = 179.29
y 057 = 183.68
y 058 = 188.17
y 059 = 192.78
y 060 = 197.49
y 061 = 202.32
y 062 = 207.26
y 063 = 212.32
y 064 = 217.51
y 065 = 222.81
y 066 = 228.25
y 067 = 233.81
y 068 = 239.51
y 069 = 245.34
y 070 = 251.31
y 071 = 257.43
y 072 = 263.69
y 073 = 270.1
y 074 = 276.66
y 075 = 283.37
y 076 = 290.25
y 077 = 297.29
y 078 = 304.49
y 079 = 311.87
y 080 = 319.42
y 081 = 327.14
y 082 = 335.05
y 083 = 343.14
y 084 = 351.43
y 085 = 359.9
y 086 = 368.58
y 087 = 377.46
y 088 = 386.54
y 089 = 395.83
y 090 = 405.35
y 091 = 415.08
y 092 = 425.03
y 093 = 435.22
y 094 = 445.64
y 095 = 456.3
y 096 = 467.21
y 097 = 478.36
y 098 = 489.77
y 099 = 501.45
y 100 = 513.38
y 101 = 525.59
y 102 = 538.07
y 103 = 550.84
y 104 = 563.9
y 105 = 577.24
y 106 = 590.89
y 107 = 604.84
y 108 = 619.11
y 109 = 633.69
y 110 = 648.6
y 111 = 663.83
y 112 = 679.4
y 113 = 695.32
y 114 = 711.58
y 115 = 728.2
y 116 = 745.18
y 117 = 762.53
y 118 = 780.25
y 119 = 798.36
y 120 = 816.85
y 121 = 835.74
y 122 = 855.03
y 123 = 874.73
y 124 = 894.85
y 125 = 915.39
y 126 = 936.36
y 127 = 957.76
y 128 = 979.62
y 129 = 1001.92
y 130 = 1024.68
y 131 = 1047.9
y 132 = 1071.6
y 133 = 1095.77
y 134 = 1120.44
y 135 = 1145.59
y 136 = 1171.25
y 137 = 1197.41
y 138 = 1224.08
y 139 = 1251.28
y 140 = 1279
y 141 = 1307.25
y 142 = 1336.05
y 143 = 1365.39
y 144 = 1395.28
y 145 = 1425.73
y 146 = 1456.74
y 147 = 1488.33
y 148 = 1520.48
y 149 = 1553.22
y 150 = 1586.55
y 151 = 1620.46
y 152 = 1654.97
y 153 = 1690.08
y 154 = 1725.79
y 155 = 1762.11
y 156 = 1799.03
y 157 = 1836.58
y 158 = 1874.73
y 159 = 1913.51
y 160 = 1952.91
y 161 = 1992.93
y 162 = 2033.57
y 163 = 2074.83
y 164 = 2116.72
y 165 = 2159.24
y 166 = 2202.37
y 167 = 2246.13
y 168 = 2290.5
y 169 = 2335.5
y 170 = 2381.1
y 171 = 2427.32
y 172 = 2474.13
y 173 = 2521.55
y 174 = 2569.56
y 175 = 2618.16
y 176 = 2667.34
y 177 = 2717.08
y 178 = 2767.39
y 179 = 2818.25
y 180 = 2869.65
y 181 = 2921.57
y 182 = 2974.02
y 183 = 3026.96
y 184 = 3080.39
y 185 = 3134.3
y 186 = 3188.65
y 187 = 3243.45
y 188 = 3298.66
y 189 = 3354.28
y 190 = 3410.27
y 191 = 3466.62
y 192 = 3523.3
y 193 = 3580.29
y 194 = 3637.56
y 195 = 3695.1
y 196 = 3752.86
y 197 = 3810.83
y 198 = 3868.97
y 199 = 3927.25
y 200 = 3985.64
y 201 = 4044.12
y 202 = 4102.63
y 203 = 4161.15
y 204 = 4219.65
y 205 = 4278.08
y 206 = 4336.42
y 207 = 4394.61
y 208 = 4452.62
y 209 = 4510.41
y 210 = 4567.94
y 211 = 4625.16
y 212 = 4682.03
y 213 = 4738.52
y 214 = 4794.56
y 215 = 4850.13
y 216 = 4905.17
y 217 = 4959.63
y 218 = 5013.48
y 219 = 5066.66
y 220 = 5119.12
y 221 = 5170.83
y 222 = 5221.72
y 223 = 5271.76
y 224 = 5320.9
y 225 = 5369.08
y 226 = 5416.27
y 227 = 5462.41
y 228 = 5507.46
y 229 = 5551.38
y 230 = 5594.11
y 231 = 5635.61
y 232 = 5675.84
y 233 = 5714.75
y 234 = 5752.31
y 235 = 5788.47
y 236 = 5823.19
y 237 = 5856.44
y 238 = 5888.17
y 239 = 5918.35
y 240 = 5946.94
y 241 = 5973.91
y 242 = 5999.24
y 243 = 6022.88
y 244 = 6044.82
y 245 = 6065.02
y 246 = 6083.47
y 247 = 6100.13
y 248 = 6115
y 249 = 6128.04
y 250 = 6139.25
y 251 = 6148.62
y 252 = 6156.12
y 253 = 6161.76
y 254 = 6165.52
y 255 = 6167.41
... далее все тоже самое, симметрично


Умножаем все на 512 и получаем 510 461 706.2 км2 — Круто! Вот только, чтобы площадь измеренного геоида оказалась полной нужно добавить к этому числу площадь полюсов которых в SASPlanet нет. (сетка показывает от N85°03'04.06" до S85°03'04.06")

Пробуем разные способы узнать площадь сферы:

Способ №1
Замеряем ширину тайла на полюсе в том же z10 масштабе = 6 км 774.73 м умножаем на 512 и получаем длину окружности полюса 3 468.66176 км, соответственно площадь этой окружности = 957 445.4529 км2, добавляем площади 2-х полюсных окружности к тому что измерили и получаем площадь сферы 512 376 597.1 км2.
Это больше гугловского геоида (511 207 893.4 км2) на 1 168 703.75 км2

Способ №2
Отнимаем от гугловской сферы 511 207 893.4 км2 то что измерили в SASPlanet 510461706.2 км2 и получаем общую площадь 2-х полюсов 746 187.2 км2. Но длина окружности полюса в этом случае 2165.278839 км, что не соответствует длине измеренной в "SASPlanet", в способе №1 — 3 468.66176 км

Способ №3
Спросить у разработчиков:
— Какова площадь всего геоида, который обмеряется в SASPlanet или какова площадь отсутствующих полюсов (за пределами 85°03'04.06") по мнению разработчиков?
Последний раз редактировалось vasyaddd 19 сен 2015, 06:47, всего редактировалось 2 раз(а).
vasyaddd
Новичок
 
Сообщения: 6
Зарегистрирован: 03 июн 2015, 19:17
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.

Re: Нестыковки с площадью земли

Сообщение Parasite » 19 сен 2015, 04:39

vasyaddd писал(а):что не соответствует длине измеренной в "SASPlanet"

Feel free to submit patches ©
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Пред.След.

Вернуться в SAS.Планета

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

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