С какими форматами файлов для векторной графики может работать Lazarus\FreePascal? Чтение-изменение-запись.
Возникла небольшая тема, нужно сделать что-то вроде ГИСа. Т.е. есть карты (рисунки) и база данных с кучей точек (на местности), где производились заборы проб почвы. Эти точки нужно привязать к карте, чтобы кликнул и получил информацию. В битмапе расположение точки можно определить только на рисунке фиксированного размера, а оисунок необходимо увеличивать-уменьшать, поэтому я думаю использовать векторную графику.
Может быть кто-то раньше работал с подобной темой и есть мысли по этому поводу?
Векторная графика
Модератор: Модераторы
Alex2013
Нет. Мы на 1000 км севернее и 4000 восточнее.
Нет. Мы на 1000 км севернее и 4000 восточнее.
Vadim писал(а):С какими форматами файлов для векторной графики может работать Lazarus\FreePascal? Чтение-изменение-запись.
Все зависит от объёмов данных, небольшие - то подойдут файловые.. как правило все они уже есть в fpc. Кроме закрытых.
если геоданных много - то смотрите в сторону базы данных. Например OpenStreetmap- данные хранит в PostgreSQL.
olegy писал(а):Например OpenStreetmap- данные хранит в PostgreSQL.
Да, интересная штука. Надо с ней поближе познакомиться...
В битмапе расположение точки можно определить только на рисунке фиксированного размера, а оисунок необходимо увеличивать-уменьшать, поэтому я думаю использовать векторную графику.
Немного не так... Рисунок может масштабирован, у вас отображатся пиксель битмапа может на весь экран.. как и вся картинка умещатся в один экранный пиксель..
При малых расстояниях - можно считать, что гео-сетка ложится без изкажений на растовую. XY легко преобразуется в широту/долготу и наоборот.
На картах google,yandex, openstreetmap - в веб браузерах рисуются тайлы - это уже отрендеренные картинки, которые ложатся на гео-сетку в виде плиток, при удалении/приближении они сами масштабируются и по мере изменения дальше зума - заменяются на другие.
Если нужен хардкор - то можете рисовать все в векторах, но тут уже придется уходить на аппаратное ускорение графики.
посмотрите BGRAControls, у его есть слои и прозрачность. Нижний слой заполняете картой, масштабируете до определенного значения, подменяете уже новой картинкой под данный масштаб. А точки/значки просто рисуете согласно координатам.
