SASGIS

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


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003324SAS.Планета[All Projects] Хотелкаpublic13-03-2018 12:2828-08-2024 16:00
Reporterzed 
Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusconfirmedResolutionopen 
PlatformOSOS Version
Product Version160707 
Target Version24xxxxFixed in Version 
Summary0003324: Добавить алгоритм расчёта площадей из GeographicLib
DescriptionУ нас эта библиотека сейчас используется для расчёта расстояний, но как оказывается, она умеет считать и площади (и периметры) полигонов (описание для С++, но функционал доступен и из Си API: GeographicLib::PolygonAreaT).

Сейчас у нас для расчёта площади используется копи-паста из QGIS и переход на библиотечный алгоритм мне видится более разумным. Можно сделать 2 алгоритма и вынести в настройки, какой конкретно использовать.
Additional InformationНа заметку: алгоритм из GeographicLib работает с простыми полигонами без самопересечений. Так что предварительно полигоны надо "упрощать" при помощи Clipper-а или ещё как.
TagsNo tags attached.
Attached Files

- Relationships
related to 0003755resolvedzed Неверный подсчет площади 

-  Notes
(0020081)
zed (manager)
01-04-2021 17:06

Уже и QGIS переходит на эту библиотеку: https://github.com/qgis/QGIS/pull/41726
(0020492)
zed (manager)
28-08-2024 15:55
edited on: 28-08-2024 16:00

Текущий алгоритм у нас так же не поддерживает самопересечения. Всё ровно так же, как описано в справке к geographiclib:

Arbitrarily complex polygons are allowed. In the case self-intersecting
of polygons the area is accumulated "algebraically", e.g., the areas of
the 2 loops in a figure-8 polygon will partially cancel.

Надо что-то думать.


- Users who viewed this issue
User List Anonymous (1737x), ingener (1x), zed (10x), stepanxxx (1x), vdemidov (2x), OfK (1x), kalakotkas (1x), Eduard_68 (1x), VadimK (1x), ygorigor (1x), bk99 (1x)
Total Views 1757
Last View 27-09-2024 07:15

- Issue History
Date Modified Username Field Change
13-03-2018 12:28 zed New Issue
13-03-2018 12:28 zed Status new => confirmed
01-04-2021 17:06 zed Note Added: 0020081
01-04-2021 17:07 zed Relationship added related to 0003755
28-08-2024 15:55 zed Note Added: 0020492
28-08-2024 16:00 zed Note Edited: 0020492 View Revisions
28-08-2024 16:00 zed Note Edited: 0020492 View Revisions



Copyright © 2007 - 2024 SAS.Planet Team