Заранее оговорюсь что данная статья не претендует на подробное изучение стандартов WMS или огромных возможностей набора библиотек Geotools. Это лишь простое HOWTO(или если хотите, считайте это учебно-демонстрационной задачей), которого для выполнения своих задач я не нашел ни на Хабре ни где либо еще в полноценном варианте.
Постановка задачи
Задача заключается в том чтобы реализовать WMS отдающий прозрачный слой в формате PNG с нанесенными на него точками координаты которых записаны где-то в базе данных(способ хранения не столь важен). Уже в WMS клиенте этот слой можно накладывать на изображение другой карты.
Кратко о WMS
WMS это Web-сервис предоставляющий доступ к картографической информации по HTTP протоколу. Описание стандарта можно найти здесь http://www.opengeospatial.org/standards/wms. Параметры сервису передаются в Get-запросе. Стандарт WMS предусматривает три типа запроса.
- GetCapabilities(обязательный) – Данный запрос возвращает информацию о возможностях сервиса, таких как набор слоев, стилей, возвращаемых форматах в виде XML-документа соответствующего XSD приведенному в описании стандарта.
- GetMap(обязательный) – Основной тип запроса для WMS. Возвращает изображение, заданных в параметрах запроса размеров и формата, географической информации в области координат(BBOX) заданной системы координат.
- GetFeatureInfo(опциональный) – Этот запрос возвращает более подробную информацию о географических объектах на карте полученной в предыдущем запросе. Не все WMS соответствующие стандарту обязаны поддерживать данный тип запроса. В случае если этот запрос не поддерживается сервис возвращает исключение OperationNotSupported.
Более подробную информацию ищите в документах по ссылке выше.
Читать полностью »