Для чего это?
OSMan предназначен для произвольного доступа к данным OSM с целью преобразований,
фильтрации по произвольным критериям, экспорта, импорта, препроцессинга для конверторов.
В некотором смысле это противоположность OSMOSIS-а с поточной моделью доступа.
Неосновные цели: простая процедура установки/удаления/настройки, гибкость в
использовании, простота расширения, скорость доступа к БД.
Из чего это?
OSMan - набор объектов OLE-автоматизации с возможностью доступа из любого языка
или среды с поддержкой доступа к объектам автоматизации (COM-интерфейс IDispatch),
в том числе все языки Windows Script Host (js, vbs), PHP5 для Windows, Visual Studio
C++, Delphi.
Системные требования - Win2k и выше.
Структура модульная. Модуль должен удовлетворять минимальным требованиям - быть
DLL и релизовывать интерфейс описания модуля.
Среда программирования Delphi 7. В качестве БД используется SQLite3. Также
используются разработки Troy Wolbrink (TNT controls), John O’Harrow (Fast Move),
base2 technologies(ZlibEx), Arnaud Bouchez(BZlib), Keith Wood (SAX for Pascal),
Брусникин И.В.(TDBF).
Что уже есть?
- Импорт OSM, OSC потоков;
- Экспорт OSM;
- Распаковка потоков bz2 и gz;
- Работа с БД через объектный интерфейс или через SQL;
- Фильтрация объектов ограничивающим прямоугольником, ограничивающим мультиполигоном,
функцией пользователя; - Чтение объектов через OSM-API c любого сервера;
- Импорт из файлов DBase (dbf) в произвольной кодировке;
- Работа с мультиполигонами произвольной сложности;
- Небольшая подборка примеров на JScript. Для работы примеров требуется Windows Script
Host (устанавливается по умолчанию c Windows, бесплатный).
Что будет?
Документация по API.
Расширение существующих и добавление новых функций, если OSMan окажется кому-либо
нужен.
Рефакторинг объектной модели, если будут предложены более логичные, эффективные,
красивые решения.
Если кому интересны исходники/бинарники/скрипты - пишите, постараюсь выложить в сеть.