SASGIS

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


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003339SAS.Планета[All Projects] Хотелкаpublic30-05-2018 17:0315-06-2018 17:22
Reportercycler 
Assigned Tozed 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version.Nightly 
Target Version181221Fixed in Version181221 
Summary0003339: Определённым образом форматировать KML-файл при экспорте меток
DescriptionОпределённым образом форматировать экспортируемый KML-файл, а именно:
- оставлять только 6 знаков после десятичной точки для координат (сейчас 12 знаков, например 56.137743160286. Это даст точность +/- 10см)
- отсортировать xml-ноды по алфавиту по значению тега <name>

Steps To ReproduceПри выгрузке меток в KML отрезать от значения координат каждой метки лишние знаки, чтобы оставалось только 6 знаков после десятичной точки.

Прогонять все ноды <Placemark> через функцию сортировки по значению ноды <Placemark> -> <name>
Additional InformationЗачем - работаем группой над большими треками, выгружаем на гитхаб. Если формат файла будет структурированным, то легче сможем отслеживать правки отдельных участников. Сокращение десятичных знаков нужно для уменьшения и так большого размера файла.
В случае если сообщество посчитает внедрение озвученной хотелки излишеством, были бы благодарны за указание на способ самостоятельно внести коррективы в код SAS.
Спасибо!
Tagskml, VIP, XML, трек, форматирование, экспорт
Attached Files

- Relationships
related to 0003237resolvedzed Неверный размер некоторых иконок при экспорте в KML файл 
related to 0003343resolvedzed При экспорте в KML масштаб шрифта метки считается относительно НЕ дефолтного шрифта 

-  Notes
(0018304)
zed (manager)
30-05-2018 18:25

Я бы не сказал, что это излишество, но очевидно, что делать это надо через конфиг. Чтобы тот кому нужно особое поведение, мог поднастроить экспорт под себя.

Способ сделать это самостоятельно:
- установить Delphi 2007 - Tokyo (какая больше нравится)
- клонировать репо с сорцами SAS и установить зависимости
- внести правки и сделать pull-реквест

Или можете написать отдельную утилиту которая будет проходиться по готовому kml и обрезать знаки после запятой, делать сортировку, и всё ,что вы там ещё можете придумать для оптимизации своих внутренних процессов. Не обязательно же весь функционал интегрировать именно в SAS.
(0018308)
cycler (reporter)
01-06-2018 05:30

Могли бы ткнуть пожалуйста в сорцах, где именно происходит выгрузка метки в Kml?
(0018309)
vdemidov (manager)
01-06-2018 05:57

Ну, экспорт в kml живет в u_ExportMarks2KML.pas, как ни странно.
Форматирование координат в текст - функция PointToKml
Сортировку папок и меток добавлять нужно в AddTree и AddMarks соответственно.
(0018310)
cycler (reporter)
02-06-2018 14:43
edited on: 02-06-2018 14:46

Мне хватит мозгов вот тут добавить round и 6 знаков после запятой

(\sas_team-sas.planet.src-be7c71bcf893\Src\Vector\u_ExportMarks2KML.pas)
function PointToKml(const APoint: TDoublePoint): AnsiString; inline;
begin
  Result := R2AnsiStrPoint(APoint.X) + ',' + R2AnsiStrPoint(APoint.Y) + ',0 ';
end;

Но не хватит мозгов добавить round с Х знаками после запятой, которое будет браться из конфига с подстановкой дефолтного значения если в конфиге об этом ничего нет, и с проверкой, чтобы это было именно число в разумных пределах (5-12)
Мог бы пожалуйста кто-то это вместо меня сделать?

(0018311)
zed (manager)
02-06-2018 15:49

Если готовы заплатить за свою хотелку, то я могу ей заняться. Пишите мне на [email protected].
(0018315)
zed (manager)
07-06-2018 19:58

От cycler получено 2000 руб, так что берусь за реализацию.

Помимо форматирования координат и сортировки, буду делать опцию для возможности задать абсолютный путь (или url) к иконке. Всеми этими настройками можно будет управлять из гуя.
(0018316)
zed (manager)
09-06-2018 21:01

Уже можно тестировать через редактирование SASPlanet.ini:

[ExportMarks2KML]
; 0 - выкл; 1 - вкл
UseCoordFormatting=1
; число знаков после запятой (допустимые значения: [4..12])
CoordPrecision=6
; 0 - не сортировать; 1 - asc; 2 - desc
SortingType=1
; 0 - выкл; 1 - вкл
UseAbsPathToIcon=1
AbsPathToIcon=https://example.com/path-to-icons/

По-умолчанию, думаю можно включить прямую сортировку и лимит числа знаков после запятой - 6.
(0018321)
zed (manager)
13-06-2018 11:44

Сделал гуи. Вызывается из "Управления метками" (иконка с синей шестерёнкой на панели).
(0018333)
cycler (reporter)
15-06-2018 17:18

Работает отлично! Спасибо Большое!!!

По мотивам этого тикета всплыла проблема с некорректным подсчетом масштаба текста иконки, оформил её в тикет http://www.sasgis.org/mantis/view.php?id=3343

Дополнительная связь с тикетом http://www.sasgis.org/mantis/view.php?id=3237 (определение масштабов иконок)

- Users who viewed this issue
User List Anonymous (2698x), stepanxxx (1x), Elbrussoid (1x), omen98 (1x), ygorigor (1x), zed (23x), cycler (17x), vdemidov (5x), netsky (1x)
Total Views 2748
Last View 18-02-2025 22:59

- Issue History
Date Modified Username Field Change
30-05-2018 17:03 cycler New Issue
30-05-2018 17:05 cycler Tag Attached: kml
30-05-2018 17:05 cycler Tag Attached: XML
30-05-2018 17:05 cycler Tag Attached: трек
30-05-2018 17:05 cycler Tag Attached: экспорт
30-05-2018 17:05 cycler Tag Attached: форматирование
30-05-2018 18:25 zed Note Added: 0018304
01-06-2018 05:30 cycler Note Added: 0018308
01-06-2018 05:57 vdemidov Note Added: 0018309
02-06-2018 14:43 cycler Note Added: 0018310
02-06-2018 14:46 cycler Note Edited: 0018310 View Revisions
02-06-2018 15:49 zed Note Added: 0018311
07-06-2018 19:50 zed Assigned To => zed
07-06-2018 19:50 zed Status new => assigned
07-06-2018 19:50 zed Target Version => 181221
07-06-2018 19:51 zed Tag Attached: VIP
07-06-2018 19:58 zed Note Added: 0018315
09-06-2018 21:01 zed Note Added: 0018316
13-06-2018 11:44 zed Note Added: 0018321
13-06-2018 11:44 zed Status assigned => feedback
15-06-2018 17:18 cycler Note Added: 0018333
15-06-2018 17:18 cycler Status feedback => assigned
15-06-2018 17:21 zed Relationship added related to 0003237
15-06-2018 17:21 zed Relationship added related to 0003343
15-06-2018 17:22 zed Status assigned => resolved
15-06-2018 17:22 zed Fixed in Version => 181221
15-06-2018 17:22 zed Resolution open => fixed



Copyright © 2007 - 2025 SAS.Planet Team