
GDAL_Python.ppt
- Количество слайдов: 18
Geospatial Data Abstraction Library http: //www. osgeo. org http: //www. gdal. org
GDAL/OGR l GDAL - бібліотека абстракції геопросторових даних l l Можливість оброблення растрової гео-просторової інформації; Використовується як в комерційних (Arc. GIS) так і некомерційних програмних продуктах (QGIS); Створена як бібліотека С++, але є реалізація прив’язана до Python. Тісно пов’язані модулі Python: l l l Numeric – складні маніпуляції з масивами; Num. Py – наступне покоління Numeric; Картографічна бібліотека Python – http: //www. gispython. org/ Слайд 2
GDAL/OGR l Створено та підтримується організацією Open Source Geospatial Foundation (OSGeo) l Випускається під ліцензією вільного програмного забезпечення X/MIT; l OGR є частиною дерева вихідних кодів GDAL та надає схожі мож-ливості читання / запису / обробки векторних форматів гео-просторових даних. Слайд 3
Програмні продукти, які інтенсивно використовують GDAL/OGR Слайд 4
Чому варто використовувати GDAL/OGR? l Переваги l l Доступність для окремих осіб / компаній; Надзвичайно корисно використовувати розробникам – швидке виправлення BUG’ів (майже щотижневі оновлення); Відсутня прив’язка до ОС. Недоліки l l Немає вбудованого гео - процесору; Мала спільнота користувачів. ? ! Слайд 5
Формати даних l GDAL (gdalinfo --formats) Arc. Info grids, Arc. SDE raster, Imagine, Idrisi, ENVI, GRASS, Geo. TIFFHDF 4, HDF 5 l USGS DOQ, USGS DEM l ECW, Mr. SID l TIFF, JPEG 2000, PNG, GIF, BMP Більше можна дізнатися тут: http: //www. gdal. org/formats_lis t. html /OGR l l l OGR (ogrinfo l l --formats) ESRI формати, Arc. SDE Формати програмних продуктів Map. Info, GRASS, Microstation Відкриті формати – TIGER/Line, SDTS, GML, KML l Бази даних - My. SQL, Postgre. SQL, Oracle Spatial, Informix, ODBC Більше тут: http: //www. gdal. org/ogr_for mats. html l l Слайд 6
Робота з GDAL. Імпортування бібліотеки. l FWTools - набір Open. Source виконуваних файлів для ОС Windows(win 32) та Linux(x 86 32 bit), розроблених Франком Уормердамом (Frank Warmerdam). l Для роботи в середовищі потрібно імпортувати як gdal так і gdalconst l l FWTools: l import gdal, gdalconst. Python. Win: l Numeric, GDAL and OGR потрібно самостійно встановлювати (From osgeo import gdal, gdalconst). l Призначені для легкої та зручної експлуатації кінцевим користувачем. Примітка! Використання Gdalconst зводить до мінімуму можливість виникнення конфліктів імен. Слайд 7
Виклик методів. l Важливо! Методи класів бібліотеки GDAL можуть бути викликані до самого модуля, наприклад: l l l gp = arcgisscripting. create() driver = ogr. Get. Driver. By. Name('ESRIShapefile') Деякі ж методи викликаються до вже існуючих об’єктів: l l dsc = gp. Describe('landcover') ds = driver. Open('c: /test. shp') Слайд 8
Драйвери даних (1). l Драйвери – об’єкти класів бібліотеки, що несуть інформацію про взаємодію з даними конкретного типу (напр. Shape. File, Geo. TIFF). l l l Драйвер потрібний для зчитування / запису інформації; Перед використанням драйвер повинен бути зареєстрованим; Ідентифікатори драйверів (поле Code) доступні за адресою http: //www. gdal. org/formats_list. html Слайд 9
Драйвери даних(2). l Приклад реєстрації драйвера та вивід інформації про нього: l l Код: l from osgeo import gdal driver = gdal. Get. Driver. By. Name('GTiff') driver. Register() print(driver) Вивід: l <osgeo. gdal. Driver; proxy of <Swig Object of type 'GDALDriver. Shadow *' at 0 x 000002466330> > gdal. All. Register() дозволяє зареєструвати всі наявні в бібліотеці драйвери. Важливо! Працює для зчитування даних, але НЕ працює для запису! Слайд 10
Імпорт растрових даних. l Після реєстрації відп. драйверу, метод Open(<filename>, <GDALAccess>) використовується для імпорту даних в програмне середовище, наприклад: l from osgeo import gdal import sys driver = gdal. Get. Driver. By. Name('GTiff') driver. Register() fn = ‘PATHFILENAME. TIF' ds = gdal. Open(fn, GA_Read. Only ) #GA_Read. Only – тільки зчитування; #GA_Update – для зчитування та запису. if ds is None: print 'Unable to open %s' % fn sys. exit(1) Слайд 11
Обробка вийняткових ситуацій імпортту даних. from osgeo import gdal import sys #this allows GDAL to throw Python Exceptions gdal. Use. Exceptions() driver = gdal. Get. Driver. By. Name('GTiff') driver. Register() fn = ‘PathFilename. TIF' try: ds = gdal. Open(fn, GA_Read. Only ) except Runtime. Error, e: print 'Unable to open %s'% fn print e sys. exit(1) Замітка! Якщо закоментувати “print e”, то вивід помилки інтрепретації буде заблоковано. “e” – текст помилки інтерпретації коду. Слайд 12
OSGeo 4 W • OSGeo 4 W – програмний засіб з інтерфейсом командного рядка ОС Winddows, призначений для обробки супутникової інформації з використанням бінаріїв бібліотек GDAL та OGR. • Містить неповнофункціональний інтерпретатор Python Слайд 13
Обробка даних засобами OSGeo 4 W l Конкатенація каналів зображень l gdal_merge. py –o <output. tif> -separate <band 1. tif> … <band. N. tif> Слайд 14
Обробка даних засобами OSGeo 4 W l Зміна системи координат зображення l gdalwarp –tr x. Size y. Size –t_srs “[projection parameters]” <input. tif> <output. tif> l Системи координат зображень повинні співпадати у випадку, коли виникає потреба їх спільного тематичного використання. Слайд 15
Обробка даних засобами OSGeo 4 W l Обрізання зображень по векторному контуру l gdalwarp -dstnodata <value> -q -cutline <Shape. File. shp> -crop_to_cutline -of GTiff <input. tif> <output. tif> Слайд 16
Перелік корисної документації l l l Python: http: //www. python. org/doc/ GDAL: http: //www. gdal. org/, gdal. py, gdalconst. py (в каталозі fwtools/pymod) OGR: http: //www. gdal. org/ogr/, ogr. py Numeric: http: //numpy. scipy. org/#older_array Num. Py: http: //numpy. scipy. org Слайд 17
Кінець
GDAL_Python.ppt