View Issue Details

IDProjectCategoryView StatusLast Update
0002134SAS.ПланетаХотелка / Feature requestpublic27-09-2019 07:33
Reporternetsky Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status confirmedResolutionopen 
Product Version121010 
Target Version50xxxx 
Summary0002134: Отображение векторных карт
DescriptionДобавить отображение векторных карт. Например OSM в формате CGMAP.
Tagsвекторные карты

Relationships

related to 0002135 confirmed Добавить offline прокладку маршрута по векторным картам 

Activities

vdemidov

30-08-2013 07:55

manager   ~0012679

Last edited: 30-08-2013 08:06

Конечно нужно. Добавляйте.
PS: Самому очень хотелось бы такого, но увы сложность добавления превышает все мыслимые для меня пределы.

vasketsov

30-08-2013 09:03

manager   ~0012681

Если автор предлагает отображать оффлайновую карту (типа того же польского формата), которую надо скачивать заранее и которую сас принципиально не сможет качать сам, то достаточно растеризатор из этого формата, возможно даже внешний скрипт. По сути - те же метки, только в профиль. Ведь редактирование-то не просят ))).

А если предлагается скачивать векторные тайлы карт типа OSM (к сожалению, автор не указал, чего хочет, скачку или offline) - это сразу бред ввиду проигрыша по всем направлениям, и по скорости, и по трафику, и по размеру кэша на диске. Даже только лишь начиная грубую оценку для OSM, уже понимаешь, что всяко проще выкачать векторную выгрузку и работать с ней. Хотя по идее импортировать оттуда полигоны как метки не сложнее, чем из росреестра или НЯК.

vdemidov

30-08-2013 09:21

manager   ~0012682

>Если автор предлагает отображать оффлайновую карту (типа того же польского формата), которую надо скачивать заранее и которую сас принципиально не сможет качать сам, то достаточно растеризатор из этого формата, возможно даже внешний скрипт. По сути - те же метки, только в профиль. Ведь редактирование-то не просят ))).
Ну я понял именно так, но даже в таком виде сделать приемлемый потайловый растеризатор для векторной карты задача весьма и весьма сложная.

netsky

30-08-2013 09:27

reporter   ~0012683

Я вот чего хочу :)
http://peirce.gis-lab.info/daily
Это векторные карты для навиков под ситигидом. Сами карты весят куда меньше чем выкаченные тайлы + куча времени экономиться на загрузке.
Можно не обязательно привязываться к ситигиду. Они есть и под навител, и под гармин.
Редактирование естественно не требуется.
Вот мы в октябре гоним в экспедицию в Белоруссию. И сейчас я выкачиваю нужные мне масштабы карты OSM. Качаются долго, места занимают много. Потом поиск и прокладка маршрута без инета не работает.
А так слил векторную карту в 100 метров и всё здорово.
Вот такая хотелка :)

vasketsov

30-08-2013 09:41

manager   ~0012684

Ну может где-то есть уже, возможно скрипт, возможно у какой-нибудь софтины можно дотянуться до него через typelib. Писать с нуля конечно жестоко, а и бессмысленно.

У GPSMapEdit например можно открыть файл MP (а может и не только MP) и пройтись по всем объектам, аттачам и т.п. и в принципе нарисовать объекты по координатам. Один серьёзный минус - это всё на уровне документа, а не видимой области, но там хотя бы у объекта есть аналог Bounds. Но всё равно сложность работы мягко говоря невелика, надо тупо сесть и сделать, всё во время упирается, но вообще говоря сейчас в сасе есть всё что нужно, чтобы MP рисовать. Причём даже наверное если сразу на весь экран, а не потайлово, будет сильно быстрее.

vasketsov

30-08-2013 09:43

manager   ~0012685

>сейчас я выкачиваю нужные мне масштабы карты OSM
>Качаются долго, места занимают много.
>Потом поиск и прокладка маршрута без инета не работает
Всё куда проще )))))))))))))))
Скачайте GPSMapEdit.
Скачайте карты OSM в формате для Garmin (они с исходниками MP).
Открывайте MP в GME - и будет вам полное счастье.

vasketsov

30-08-2013 12:12

manager   ~0012690

SHAPE:
http://habrahabr.ru/post/123394/
А файл MP относительно легко и относительно беспотерьно перегоняется в SHP.

serbod

25-09-2019 12:46

reporter   ~0019332

Last edited: 25-09-2019 12:47

Я делаю опенсорсную бесплатную библиотеку для отрисовки векторной карты на Паскале, на основе osmscoutlib. Лицензия LGPL 2.1.

Принцип работы:
- загрузка стилей и данных карты из файлов (есть импорт из MP)
- анализ массива треков и полигонов, отсечение невидимых, конвертация координат в пиксели, спрямление мелких деталей (меньше 2 пикселей)
- подбор стиля отрисовки для каждого отображаемого элемента (цвет, толщина и стиль линий, заливка, эффекты)
- подготовка и размещение значков и текста, вычисление оптимального угла и места размещения каждой буквы, контроль пересечения и плотности надписей
- отрисовка фоновых элементов (вода/суша, растровые тайлы)
- отрисовка полигонов (поля, леса, здания, водоемы, участки)
- отрисовка треков (дороги, реки, границы)
- отрисовка текста и значков

помимо этого есть:
- геокодер (поиск объектов по названию/адресу)
- маршрутизатор (поиск оптимального маршрута с учетом условий проходимости)
- растеризатор AggPas (проверен на Lazarus)
- растеризатор FMX.Canvas (проверен на Delphi 10.3 под Windows и Android)

Проблемы:
- нет импорта карты из OSM
- нет импорта стилей из MapCSS
- нет сохранения импортированных данных в БД или файлы
- нет сквозного использования данных (адреса, маршруты) из разных кусков карт, только отрисовка
- нет отрисовки в виде сцены OpenGL

исходники: https://github.com/serbod/osmap

vdemidov

26-09-2019 08:16

manager   ~0019335

> растеризатор FMX.Canvas
Ну, вот где-то здесь все удобство и заканчивается, а начинаются танцы с отедельными dll и всем прочим. САС это VCL

serbod

27-09-2019 06:27

reporter   ~0019349

Для VCL годится растеризатор AggPas. Можно и VCL.Canvas, если в нем есть сглаживание линий и текста. Без сглаживания будет очень страшная картинка.

vdemidov

27-09-2019 07:33

manager   ~0019350

> годится растеризатор AggPas
Или я не там искал, или проэкт скорее мертв чем жив. Последняя версия 2008 год.

> VCL.Canvas
Ну его нафиг.

На самом деле нужен растеризатор который для каждого тайла сможет его нарисовать и отдать растр в 32-х битном формате.

В общем можно думать и пытаться реализовывать. Осталось найти кого-нибудь, кому это интересно и кто будет заниматься.

Issue History

Date Modified Username Field Change
30-08-2013 07:46 netsky New Issue
30-08-2013 07:55 vdemidov Status new => confirmed
30-08-2013 07:55 vdemidov Product Version => 121010
30-08-2013 07:55 vdemidov Target Version => 50xxxx
30-08-2013 07:55 vdemidov Note Added: 0012679
30-08-2013 08:06 vdemidov Note Edited: 0012679
30-08-2013 08:07 vdemidov Issue cloned: 0002135
30-08-2013 08:07 vdemidov Relationship added related to 0002135
30-08-2013 08:08 vdemidov Summary Работа с векторными картами => Отображение векторных карт
30-08-2013 08:08 vdemidov Description Updated
30-08-2013 08:10 vdemidov Tag Attached: векторные карты
30-08-2013 09:03 vasketsov Note Added: 0012681
30-08-2013 09:21 vdemidov Note Added: 0012682
30-08-2013 09:27 netsky Note Added: 0012683
30-08-2013 09:41 vasketsov Note Added: 0012684
30-08-2013 09:43 vasketsov Note Added: 0012685
30-08-2013 12:12 vasketsov Note Added: 0012690
13-07-2019 14:30 RIXXX Issue cloned: 0003506
25-09-2019 12:46 serbod Note Added: 0019332
25-09-2019 12:47 serbod Note Edited: 0019332
26-09-2019 08:16 vdemidov Note Added: 0019335
27-09-2019 06:27 serbod Note Added: 0019349
27-09-2019 07:33 vdemidov Note Added: 0019350
08-08-2025 13:24 zed Category Хотелка => Хотелка / Feature request