Posts

Showing posts from June, 2007

Google Earth: Наблюдаем за восходом солнца

Гуляя в просторах интернет набрел на интересную статью: Наблюдаем за восходом солнца в Google Earth

Google Mapplets: Начинаем работу

Итак, мы прочитали статью Google Mapplets: Концепция и примеры. Введение или ее оригинальный вариант на сайте Google, теперь хотим сделать что-нибудь сами. Разумеется, не для своей учетной записи в Google, а в общем доступе на своем сайте :-D Я не буду разделять маплеты и просто Google Maps API, хотя это не одно и то же, но из маплета можно скопировать код в обычную веб-страничку, также можно код Google Maps API оформить как маплет (не всегда, об этом пойдет речь в последней статье цикла). Будем просто рассматривать способы создания нужных нам приложений, а для удобства я использую название "маплет" как для кода Google Maps API в веб-страницах, так и для Google Mapplets. В тех случаях, когда речь будет идти исключительно о технологии Mapplets мы будем пользоваться термином "настоящий" маплет. Первым делом нам нужно получить некий ключ, который позволит запускать маплеты со своего сайта. Дело в том, что скрипт, обслуживающий маплеты, проверяет этот самый ключ и если

Google Mapplets: Концепция и примеры. Введение

Image
Оригинальный документ находится по адресу http://www.google.com/apis/maps/documentation/mapplets/ . Далее идет близкий к оригиналу перевод введения в технологию маплетов из официальной документации. В следующих статьях мы уже не будем придерживаться оригинала, а вместо этого рассмотрим все пункты, отраженные в документации на примерах. Маплеты (Google Mapplets) это мини-приложения, которые можно встраивать в сайт, использующий технологию Google Maps. Примеры использования включают в себя поиск местоположения, отображение текущей погоды и измерение дистанции. Маплеты представляют собой набор инструментов, которые предоставляет Вам Google для управления картой путем программирования на Javascript вызовов Google Maps API. Маплеты пока доступны только в предварительной версии для разработчиков Google Maps по адресу http://maps.google.com/preview Сегодня маплеты новинка, в которой могут быть обнаружены ошибки, документация также еще далека от идеала. Желающие могут присоединиться к группе

GPSBabel: загрузка и получение данных с GPS-приемника и преобразование формата

GPSBabel преобразует путевые точки (waypoints), трэки (tracks) и маршруты (routes) из одного формата в другой, поддерживая стандартные картографические форматы (common mapping format), включая Delorme, Streets and Trips, а также COM-порт и USB загрузку и выгрузку для GPS приемников, таких как Garmin и Magellan. Программа позволяет легко загрузить нужные данные в GPS приемник или получить данные с приемника. Также есть функции пространственного анализа и возможна работа в режиме реального времени (в связке с Google Earth). GPSBabel работает со следующими форматами: Cetus, CoPilot Flight Planner, CSV, Custom CSV, Delorme Street Atlas, Delorme Street Atlas 2004 Plus, Delorms GPS Log, Delorme routes, DNA, EasyGPS Binary, Fugawi, Garmin serial, Geocaching.com loc, GeocachingDB, Geoniche, GPilotS, GPSDrive, GPSman, GPSPilot, gpsutil, GPX, Holux, IGC, Magellan serial, Magellan SD, Magellan Navigator Companion, Mapopolis.Com Mapconverter, Mapsend, Mapsource, Maptech, Microsoft Streets and Trip

PostGIS: Пространственный анализ в PostGIS с использованием множества координатных систем

В случае, если мы хотим воспользоваться функциями пространственного анализа в PostGIS, особых сложностей не возникает. Другое дело, если необходимо “на лету” выполнять различные трансформации координат. Рассмотрим следующий случай: в таблице house хранится пространственная информация в градусах WGS84 (идентификатор системы координат 4326), а мы ищем объект, заданный координатами в Пулково 1942-го года (идентификатор системы координат 28408). Описания координатных систем хранятся в таблице spatial_ref_sys, по SRID=4326 можно найти информацию о мировой системе координат, а по SRID=28408 - российской. По умолчанию все координаты имеют SRID=-1, например: GeometryFromText('POINT(43 56)',-1) - точка с неопределенной системой координат. Функцией SETSRID можно указать систему координат, при этом просто меняется идентификатор SRID в записи, но никаких вычислений не происходит. Пересчет координат из одной системы координат в другую выполняет функция transform, при этом изменяется как чис

Google Earth: конвертация в формат KML шейпфайлов (shp) и трэков (nmea, gpx)

Image
Недавно захотелось посмотреть некоторые трэки на карте Google Earth, для чего я начал искать способ конвертации шейпфайлов в формат KML, который можно открыть в этой программе. Оказалось, что все не так просто, хотя проще, чем кажется :-) Вариантов много, начиная от модулей к ESRI ArcView и другим ГИС и вьюверам и заканчивая отдельными утилитами. Вот как раз последние меня и интересовали. Библиотека GDAL/OGR поддерживает формат KML, только нужно брать и компилировать исходники из CVS-репозитория. Или скачать уже скомпилированные. Например, можно использовать пакет программ FWTools (скомпилирован для Windows и Linux). ogr2ogr -f KML track.kml track.shp А вот так можно преобразовать из формата GPX: gpx2shp -t track.gpx ogr2ogr -f KML track.kml track_trk.shp Здесь ключ -t у тилиты gpx2shp означает, что нужно конвертировать только трэк, при этом к названию файла добавляется постфикс _trk. В моем случае в шейпфайле содержится именно трэк и этот ключ не обязателен, но так мы точно знаем, чт

Mapserver: Использование библиотеки OGR

Документ содержит информацию об использовании в картсервере векторных источников данных, поддерживаемых библиотекой OGR. Последнее обновление: 14-11-2004 Введение Картсервер поддерживает доступ к векторным данным в форматах, отличных от шейпфайлов, используя библиотеку OGR. Нижеследующий документ описывает процесс включения поддержки OGR в картсервер. Далее предполагается, что вы: Уверенно разбираетесь в проектах для картсервера и особенно в настройке файла проекта. Имеете навыки компиляции и нуждаетесь в компиляции собственной версии картсервера с поддержкой OGR. Что такое OGR? Библиотека простых функций OGR это написанная на C++ библиотека с открытым исходным кодом (а также набор утилит командной строки), обеспечивающая чтение (в некоторых случаях и запись) различных форматов векторных данных, включая шейпфайлы ESRI и MapInfo mid/mif и TAB файлы. Зачем нужно использовать OGR в картсервере? Библиотека простых функций OGR позволяет картсерверу отображать различные векторные данны

Mapserver: растры (перевод)

Растры В документе рассказывается о методах работы с растрами, используя картсервер Последнее обновление: 14/11/2004 Введение Картсервер поддерживает отрисовку растров множества различных форматов. Ниже перечислены некоторые из поддерживаемых форматов и приведены рекомендации по работе с ними. Далее предполагается, что вы разбираетесь в настройках файла проекта, но еще не знакомы со специфичными аспектами использования растровых данных. Как добавить растр в файл проекта? Добавление простого растрового слоя может выглядеть, как представлено в примере ниже. Путь к файлу данных (DATA) указывается относительно директории SHAPEPATH, аналогично тому, как это делается для шейпфайлов. LAYER NAME "JacksonvilleNC_CIB" DATA "Jacksonville.tif" TYPE RASTER STATUS ON END Кроме указанных инструкций, растры поддерживают также директивы PROJECTION, METADATA, PROCESSING, MINSCALE, и MAXSCALE информацию. Растровые слои не могут содержать подписей, запросов, директив CONNECTION

Mapserver: быстрый старт (перевод)

Быстрый старт Документ рассказывает о компонентах картографического сервера и их совместной работе. Последнее обновление: 13/11/2004 Элементы картографического сервера Самый простой путь использования картографического сервера заключается в его запуске как CGI приложения через ваш HTTP сервер. Этот путь рекомендуется использовать в случае, когда вы не нуждаетесь в более сложном приложении на основе MapScript, которое будет напрямую использовать MapServer API. Картографическое CGI приложение использует следующие ресурсы: HTTP сервер, например, Apache или Internet Information Server, Приложение MapServer, Файл инициализации, в котором хранятся настройки приложения MapServer для первого запуска (опционально), Файл проекта (Mapfile), в котором содержится информация о данных, Файл шаблона, в котором настраивается пользовательский интерфейс приложения для работы через браузер клиента, База пространственных данных (GIS dataset). Рекомендуется установка MapServer в CGI-BIN директории HTTP сер

Mapserver: движок для публикации растровых и векторных карт

В последний год замечаю значительный интерес к работе с GPS приемниками, электронным картам и сопутствующим вопросам. Тем не менее, информация в сети на эти темы очень скудна, а то, что есть, далеко не полно и многократно дублируется. Все это навело меня на мысль опубликовать собственные наработки за несколько лет, благо материалов накопилось немало. Мною выполнены такие проекты, как разработка картсервера и спутниковой навигационной системы для ГУВД Нижнего Новгорода (лично представлял в рамках проекта "Дозор-Антитеррор" в ГУВД), работа с фондом имени Бортника по программе "Старт", разработка мобильного клиента (мидлета) для просмотра карты и поиска объектов на сотовом телефоне (разработка была показана в местных новостях по инициативе компании Мегафон в рамках выполненного для них проекта по передаче видео на сотовый телефон через сеть EDGE/GPRS) и другие. В проектах участвовали и другие люди, но я всегда был ведущим разработчиком и единственным специалистом по ГИ

Quantum GIS (QGIS): обзор

Image
Quantum GIS (QGIS) представляет собой геоинформационную систему, построенную на платформе Linux/Unix. QGIS поддерживает различные векторные и растровые форматы, а также предоставляет доступ к базам данных. Перечислим основные возможности системы: Поддержка таблиц PostGIS с пространственными данными Поддержка форматов shapefiles (шейпфайлы), покрытий ArcInfo, файлов Mapinfo, и других форматов, доступных через OGR Поддержка растров Идентификация объектов Отображение аттрибутивных таблиц Возможности выбора объектов Экспорт в map-файл Mapserver Планируемые возможности: Редактирование shapefiles и слоев PostGIS Генерирование выходных карт Поддержка скриптов Поддержка метаданных Quantum GIS 0.8.0 ('Titan') Текущая версия QGIS имеет номер 0.8.1 и была выпущена 15 июня 2007 года. В этой версии устранены замеченные ошибки. Предыдущая версия с номером 0.8.0 выпущена 29 декабря 2006 года. Что нового в версии 0.8 Поддержка WMS Улучшено редактирование векторной и атрибутивной информации Фу

PostGIS: начинаем работу с модулем пространственных операций PostGIS для СУБД PostgreSQL

PostGIS добавляет поддержку геоданных в ОР (объектно-реляционную) СУБД PostgreSQL. таким образом, PostGIS делает возможным работу сервера PostgreSQL с пространственными данными, создавая таким образом прекрасное хранилище для GIS. Примечание: PostgreSQL самостоятельно поддерживает пространственные типы данных, так что на самом деле PostGIS предоставляет скорее удобный интерфейс управления, нежели просто возможность хранения данных. В этом случае становится возможным сохранение целых векторных слоев, а не просто точек или полигонов. PostGIS/PostgreSQL включает следующие возможности: Поддержку стандартов OpenGIS Consortium (OGC) Поддержку текстовых и двоичных представлений геоинформационных объектов Быстрое пространственное индексирование, используя GiST Функции геоанализа PostgreSQL JDBC доступ к геоданным Поддержку функций доступа в соответствии со спецификацией OGC Инициализация PostGIS Включить поддержку языка PL/pgSQL: create function plpgsql_call_handler() returns opaque as 

ПУБЛИКАЦИЯ ВЕКТОРНЫХ КАРТ

Подготовка векторных карт к виду, пригодному для их использования в геоинформационных системах (ГИС), является необходимой частью процесса создания карты. Однако в настоящее время практически все отечественные карты не могут быть загружены в ГИС без значительных доработок, а зачастую требуется их векторизация заново. Причиной являются как множественные нарушения топологии, так и проблемы денормализации пространственных и метаданных. В России повсеместно используются векторные карты в файловом формате программы MapInfo, значительно реже - в форматах ArcView, ArcGIS и других, в то время как в мировой практике большие массивы пространственных данных сохраняют в так называемых пространственных хранилищах данных (spatial datasets), представляющих собой реляционные или объектно-реляционные базы данных (БД) с поддержкой геометрических типов данных и операций над ними. Примером таких баз данных являются PostgreSQL с модулем PostGIS и Oracle. Применение указанного подхода обеспечивает логическу

ПУБЛИКАЦИЯ РАСТРОВЫХ КАРТ

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

ПРОЕКТИРОВАНИЕ ГЕОИНФОРМАЦИОННЫХ СИСТЕМ

Существует множество определений географических информационных систем (ГИС), которые зачастую противоречивы. Кроме того, ни одно из известных автору определений не может являться основой построения реальной ГИС. В то же время понятие геоинформационной системы может быть получено на основе определения системы. В общем случае, система представляет собой совокупность частей и взаимодействий между ними. Тогда информационную систему мы можем определить как множество информации и заданные над этим множеством операции, то есть приходим к понятию теоретико-множественной модели, давно известной математикам. Заметим, что определение множества требует от нас лишь одного: задания критерия принадлежности элементов множеству. То есть, если для любого элемента мы можем однозначно указать, входит он в множество или нет, множество определено. Для географической информации могут быть определены следующие типы информации: точка, линия и полигон. Аттрибутивную информацию можно представлять строками и числ