GDAL

Поделись знанием:
(перенаправлено с «OGR»)
Перейти к: навигация, поиск
Geospatial Data Abstraction Library
Тип

Геоинформационная система

Разработчики

Open Source Geospatial Foundation

Написана на

C/C++

Операционная система

Кроссплатформенное ПО

Лицензия

MIT

Сайт

[www.gdal.org/ l.org]

К:Википедия:Статьи без изображений (тип: не указан)

GDAL (англ. Geospatial Data Abstraction Library — библиотека абстракции гео-пространственных данных) — библиотека для чтения и записи растровых и векторных гео-пространственных форматов данных, выпускаемая под Open Source лицензией X/MIT организацией Open Source Geospatial Foundation(OSGeo). Библиотека предоставляет вызывающим приложениям единую абстрактную модель данных для всех поддерживаемых форматов. При сборке можно также включить дополнительные утилиты. С помощью этих утилит можно выполнять конвертацию и обработку данных используя интерфейс командной строки.

Сопутствующая библиотека OGR, являющаяся частью дерева исходных кодов GDAL, предоставляет похожие возможности для векторных данных.

Первоначально GDAL разрабатывался Фрэнком Вармердамом вплоть до выпуска версии 1.3.2, после которого поддержкой проекта стал заниматься комитет GDAL/OGR Project Management Committee под контролем OSGeo.

Пакет GDAL/OGR считается важным проектом в Open Source, а также и в коммерческих кругах ГИС в связи с широким распространением и обширным набором функциональности. По словам одного из руководителей OSGeo Ховарда Батлера «Я представляю себе GDAL аналогом glibc/glibc++ в сфере программного обеспечения ГИС. Эта библиотека открыта, предоставляет базовую функциональность. Я не могу понять, как можно сделать что-либо без неё.»





Примеры использования

Утилиты GDAL/OGR

Конвертация данных

Конвертация данных из формата Shapefile в формат BNA[1] с фильтрацией по паркам и лесам:

ogr2ogr -where "type=forestpark" -f "BNA" osm_forest_parks.bna osm_landuse.shp

Экспорт данных из формата Shapefile в СУБД PortgreSQL с фильтрациев по коду страны(380 — Украина) с индикацией прогресса(-progress):

ogr2ogr -progress -f "PostgreSQL" PG:"dbname=ukraine user=bogdan password=qwerty" \
        -where "country_id=380" -nln public.borders Data/World.shp

Обработка данных

Использование библиотеки GDAL/OGR в программах

Благодаря библиотеке SWIG пакет GDAL/OGR может быть использован не только в C/C++-программах, но и в программах, написанных на более высокоуровневых языках, таких как Python, Java, C# и т. д. Используя обёртки(bindings) для этих языков, программист может иметь доступ ко всем возможностям библиотеки GDAL. Чтобы продемонстрировать использование обёрток, программисты GDAL добавили в дерево исходных кодов аналоги стандартных утилит GDAL/OGR, написанные на поддерживаемых обёртками языках[2][3].

Python

# -*- coding: utf-8 -*-
import sys

# Импортируем модуль ogr из пакета osgeo
from osgeo import ogr

inData = ogr.Open(sys.argv[1])
if inData is None:
    print 'Error: open failed'
    sys.exit(1)

inLayer = inData.GetLayer(0)
# Устанавливаем фильтр поля 'country' на значение '380'
inLayer.SetAttributeFilter('Country=380')

for feature in inLayer:
    name = feature.GetFieldAsString(feature.GetFieldIndex("Name"))
    geom = feature.GetGeometryRef()
    area = geom.GetArea()
    # Печатаем: название площадь
    print name, area

Программы, использующие GDAL/OGR

Некоторые программы используют библиотеки GDAL/OGR, чтобы читать и записывать различные ГИС-форматы:

  • Quantum GIS — свободная кроссплатформенная геоинформационная система, написанная на Qt.
  • GRASS — свободная кроссплатформенная геоинформационная система с мощным интерфейсом командной строки.
  • GvSIG — свободная кроссплатформенная геоинформационная система, написанная на Java.
  • MapServer — открытая среда разработки гео-пространственных Интернет-приложений.
  • Google Earth — проект компании Google, в рамках которого в сети Интернет были размещены спутниковые фотографии всей земной поверхности.
  • R — язык программирования и среда для статистического анализа. Существуют расширения для анализа гео-пространственных данных.
  • ArcGIS — семейство программных продуктов американской компании ESRI. Начиная с версии 9.2 может использовать GDAL для работы с некоторыми форматами файлов[4]

Напишите отзыв о статье "GDAL"

Примечания

  1. [www.softwright.com/faq/support/boundary_file_bna_format.html Boundary file(.bna) format]. [www.webcitation.org/69VFDQJRj Архивировано из первоисточника 29 июля 2012].
  2. [trac.osgeo.org/gdal/browser/trunk/gdal/swig/python/samples /trunk/gdal/swig/python/samples — GDAL]
  3. [trac.osgeo.org/gdal/browser/trunk/gdal/swig/java/apps /trunk/gdal/swig/java/apps — GDAL]
  4. [webhelp.esri.com/arcgisdesktop/9.2/body.cfm?tocVisable=1&ID=2458&TopicName=Supported%20raster%20dataset%20file%20formats ArcGIS 9.2 Desktop Help: Supported raster dataset file formats]. ESRI (15 августа 2007). [www.webcitation.org/69VFDuicO Архивировано из первоисточника 29 июля 2012].

См. также

Ссылки

  • [gdal.org/ Официальный веб-сайт]
  • [trac.osgeo.org/gdal/ Баг-трекер и Вики проекта на сайте OSGeo]
  • [trac.osgeo.org/gdal/wiki/FAQ GDAL/OGR FAQ] — Часто задаваемые вопросы

Отрывок, характеризующий GDAL

– А, и Иванушка тут, – сказал князь Андрей, указывая улыбкой на молодого странника.
– Andre! – умоляюще сказала княжна Марья.
– Il faut que vous sachiez que c'est une femme, [Знай, что это женщина,] – сказал Андрей Пьеру.
– Andre, au nom de Dieu! [Андрей, ради Бога!] – повторила княжна Марья.
Видно было, что насмешливое отношение князя Андрея к странникам и бесполезное заступничество за них княжны Марьи были привычные, установившиеся между ними отношения.
– Mais, ma bonne amie, – сказал князь Андрей, – vous devriez au contraire m'etre reconaissante de ce que j'explique a Pierre votre intimite avec ce jeune homme… [Но, мой друг, ты должна бы быть мне благодарна, что я объясняю Пьеру твою близость к этому молодому человеку.]
– Vraiment? [Правда?] – сказал Пьер любопытно и серьезно (за что особенно ему благодарна была княжна Марья) вглядываясь через очки в лицо Иванушки, который, поняв, что речь шла о нем, хитрыми глазами оглядывал всех.
Княжна Марья совершенно напрасно смутилась за своих. Они нисколько не робели. Старушка, опустив глаза, но искоса поглядывая на вошедших, опрокинув чашку вверх дном на блюдечко и положив подле обкусанный кусочек сахара, спокойно и неподвижно сидела на своем кресле, ожидая, чтобы ей предложили еще чаю. Иванушка, попивая из блюдечка, исподлобья лукавыми, женскими глазами смотрел на молодых людей.
– Где, в Киеве была? – спросил старуху князь Андрей.
– Была, отец, – отвечала словоохотливо старуха, – на самое Рожество удостоилась у угодников сообщиться святых, небесных тайн. А теперь из Колязина, отец, благодать великая открылась…
– Что ж, Иванушка с тобой?
– Я сам по себе иду, кормилец, – стараясь говорить басом, сказал Иванушка. – Только в Юхнове с Пелагеюшкой сошлись…
Пелагеюшка перебила своего товарища; ей видно хотелось рассказать то, что она видела.
– В Колязине, отец, великая благодать открылась.
– Что ж, мощи новые? – спросил князь Андрей.
– Полно, Андрей, – сказала княжна Марья. – Не рассказывай, Пелагеюшка.
– Ни… что ты, мать, отчего не рассказывать? Я его люблю. Он добрый, Богом взысканный, он мне, благодетель, рублей дал, я помню. Как была я в Киеве и говорит мне Кирюша юродивый – истинно Божий человек, зиму и лето босой ходит. Что ходишь, говорит, не по своему месту, в Колязин иди, там икона чудотворная, матушка пресвятая Богородица открылась. Я с тех слов простилась с угодниками и пошла…
Все молчали, одна странница говорила мерным голосом, втягивая в себя воздух.
– Пришла, отец мой, мне народ и говорит: благодать великая открылась, у матушки пресвятой Богородицы миро из щечки каплет…
– Ну хорошо, хорошо, после расскажешь, – краснея сказала княжна Марья.
– Позвольте у нее спросить, – сказал Пьер. – Ты сама видела? – спросил он.
– Как же, отец, сама удостоилась. Сияние такое на лике то, как свет небесный, а из щечки у матушки так и каплет, так и каплет…
– Да ведь это обман, – наивно сказал Пьер, внимательно слушавший странницу.
– Ах, отец, что говоришь! – с ужасом сказала Пелагеюшка, за защитой обращаясь к княжне Марье.
– Это обманывают народ, – повторил он.
– Господи Иисусе Христе! – крестясь сказала странница. – Ох, не говори, отец. Так то один анарал не верил, сказал: «монахи обманывают», да как сказал, так и ослеп. И приснилось ему, что приходит к нему матушка Печерская и говорит: «уверуй мне, я тебя исцелю». Вот и стал проситься: повези да повези меня к ней. Это я тебе истинную правду говорю, сама видела. Привезли его слепого прямо к ней, подошел, упал, говорит: «исцели! отдам тебе, говорит, в чем царь жаловал». Сама видела, отец, звезда в ней так и вделана. Что ж, – прозрел! Грех говорить так. Бог накажет, – поучительно обратилась она к Пьеру.
– Как же звезда то в образе очутилась? – спросил Пьер.
– В генералы и матушку произвели? – сказал князь Aндрей улыбаясь.
Пелагеюшка вдруг побледнела и всплеснула руками.
– Отец, отец, грех тебе, у тебя сын! – заговорила она, из бледности вдруг переходя в яркую краску.
– Отец, что ты сказал такое, Бог тебя прости. – Она перекрестилась. – Господи, прости его. Матушка, что ж это?… – обратилась она к княжне Марье. Она встала и чуть не плача стала собирать свою сумочку. Ей, видно, было и страшно, и стыдно, что она пользовалась благодеяниями в доме, где могли говорить это, и жалко, что надо было теперь лишиться благодеяний этого дома.
– Ну что вам за охота? – сказала княжна Марья. – Зачем вы пришли ко мне?…
– Нет, ведь я шучу, Пелагеюшка, – сказал Пьер. – Princesse, ma parole, je n'ai pas voulu l'offenser, [Княжна, я право, не хотел обидеть ее,] я так только. Ты не думай, я пошутил, – говорил он, робко улыбаясь и желая загладить свою вину. – Ведь это я, а он так, пошутил только.