SASGIS - SAS.Планета |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0002536 | SAS.Планета | Рефакторинг | public | 08-11-2014 12:44 | 11-12-2014 15:08 |
|
Reporter | zed | |
Assigned To | | |
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | confirmed | Resolution | open | |
Platform | | OS | | OS Version | |
Product Version | 140505 | |
Target Version | 29xxxx | Fixed in Version | | |
|
Summary | 0002536: Сделать парсер kml на базе libkml |
Description | У гугла есть опенсорсная (New BSD License) референсная реализация парсера kml файлов: https://github.com/google/libkml с поддержкой всех фич kml 2.2. Помимо kml, либа умеет парсить gpx и csv файлы.
Библиотека написана на С++ и к сожалению, не имеет Си обёртки, поэтому нельзя просто взять и заюзать её в Delphi. Предварительно нужно написать небольшой врапер на Си, предоставляющий минимально-необходимый API для парсинга kml. |
Steps To Reproduce | |
Additional Information | |
Tags | csv, google, google earth, gpx, kml, kmz, импорт |
Relationships | related to | 0000425 | resolved | zed | Добавить обработку <Folder> при импорте из .kml | related to | 0002331 | confirmed | | Дублирование трека при импорте kml | related to | 0000426 | resolved | zed | Добавить обработку <LineStyle>, <PolyStyle> при импорте из .kml |
|
Attached Files | |
|
Issue History |
Date Modified | Username | Field | Change |
08-11-2014 12:44 | zed | New Issue | |
08-11-2014 12:50 | zed | Description Updated | bug_revision_view_page.php?rev_id=6307#r6307 |
08-11-2014 12:53 | zed | Tag Attached: csv | |
08-11-2014 12:53 | zed | Tag Attached: google | |
08-11-2014 12:53 | zed | Tag Attached: google earth | |
08-11-2014 12:53 | zed | Tag Attached: gpx | |
08-11-2014 12:53 | zed | Tag Attached: kml | |
08-11-2014 12:53 | zed | Tag Attached: kmz | |
08-11-2014 12:55 | zed | Relationship added | related to 0000425 |
08-11-2014 13:12 | zed | Relationship added | related to 0002331 |
08-11-2014 13:13 | zed | Relationship added | related to 0000426 |
08-11-2014 13:13 | zed | Tag Attached: импорт | |
10-12-2014 10:33 | vdemidov | Status | new => confirmed |
10-12-2014 10:33 | vdemidov | Target Version | => 29xxxx |
11-12-2014 12:07 | zed | Note Added: 0015037 | |
11-12-2014 13:42 | vdemidov | Note Added: 0015038 | |
11-12-2014 14:26 | zed | Note Added: 0015039 | |
11-12-2014 15:08 | vdemidov | Note Added: 0015040 | |
Notes |
|
(0015037)
|
zed
|
11-12-2014 12:07
|
|
|
|
|
Честно говоря делать С обертку над С++ кодом, что бы потом сделать Delphi обертку над С либой это не то чем хочется заниматься. Гораздо лучше сделать COM-подобную обертку над С++ кодом и сразу использовать ее из кода на Delphi. И если бы не делфовские строки, то это было бы и не сложно сделать. Но вот строки...... |
|
|
(0015039)
|
zed
|
11-12-2014 14:26
|
|
Да, тоже вариант. А строки придётся конвертировать в любом случае, что в Си-обёртке, что в COM.
Вот, кстати, ещё ссылка в тему: Using C++ objects in Delphi |
|
|
|
> А строки придётся конвертировать в любом случае, что в Си-обёртке, что в COM.
А это приводит нас к тому, что нужно или в программе везде использовать WideString строки, которые можно вернуть из COM, или опять делать еще один слой оберток на Delphi, что приводит нас опять к куче бесполезной работы как с точки зрения написания кода, так и с точки зрения производительности. Печалька :( |
|