3. 3 из 34
X
Y
Z
навигация
картография
дистанционное
зондирование
POI
Где?
Что рядом?
Сколько (по
площади, по длине,
по времени)?
4. 4 из 34
ГИС = Геометрии (CАПР) +
Атрибутика (БД)
Название Население Площадь
Объект:
Астрахань 527345 70*10^6 (46.33333,48.00000)
5. 5 из 34
Послойная организация данных
Уличная сеть
Землепользование
АТД
Гидрография
Рельеф
Космосъемка
6. 6 из 34
Системы координат
● Географические
– -180 ... 180, -90 ... 90
– Сложности в визуализации
● Прямоугольные
– -100000[0] ... 100000[0]
– Искажения из-за
перепроецирования
● Локальные
– не связаны с
географической
7. 7 из 34
● Данных много и они разные
● Нормативно-правовая конъюнктура
● Как правило все очень закрыто
● Зоопарки всего!
Is spatial special?
9. 9 из 34
Объём
● OpenStreetMap - 4309M точек GPS, 2565М
точечных, 256М линейных объектов, 2М
отношений
● Космосъемка - MODIS (10.6 миллионов бит
данных в секунду ~ 106 Гб данных в день)
10. 10 из 34
Форматы
70 векторных форматов данных (ESRI Shape, GeoJSON, GML, GPX)
130 растровых форматов данных (GeoTIFF, IMG, NetCDF, GRASS
raster)
11. 11 из 34
Тематика
«80% данных так или иначе связаны с
географией»
US Office of Management and Budget, 2002
13. 13 из 34
Право
● Существенная регуляция деятельности
● Лицензирование отменено только пару лет назад
● Секретность
● Списки секретного - секретны
● Все планы от 50.000 и детальнее - секретны
● Снимки с зарубежных спутников — скоро будут не
секретны
● Не обязательно иметь допуск чтобы "попасть"
21. 21 из 34
Форматы
● ESRI Shape
– все понимают
– бинарный
– ограничение на длину строки
● CSV/GeoJSON
– легко читать в негео ПО
– много геометрии не сохранишь
● OSM XML:
– нет жесткой структуры
● GeoTIFF
22. 22 из 34
Экосистема открытого ПО ГИС
Десктоп БД Веб Базовое ПО
23. 23 из 34
Базовое ПО
● GDAL, GEOS/JTS, Proj
● Форматная абстракция
● Геометрические операции
● Работа с системами координат
24. 24 из 34
Примеры
Конвертация данных:
ogr2ogr -f "GeoJSON" -where "VAL=1" output.tab input.shp
Перевод из одной СК в другую:
ogr2ogr -s_srs "EPSG:4326" -t_srs "EPSG:900913" -f "ESRI Shapefile"
output.shp input.shp
Выборка по географической области:
ogr2ogr -clipsrc 41.4 46.4 41.6 46.6 output.shp input.shp
Создание растрового стэка:
gdal_merge.py -o output.tif band1.tif band2.tif band3.tif band4.tif
band5.tif -separate
Экстракция изолиний определенной высоты сразу в БД:
gdal_contour -a elev -f PostgreSQL -fl 1000 1100 1120 -nln cont
mydem.tif "PG:host=localhost user=iampg password=iampgpass
dbname=iamgis"
27. 27 из 34
Примеры
Вернуть GeoJSON:
SELECT ST_AsGeoJSON(the_geom) FROM input WHERE name
ILIKE ‘somename’;
Расстояние между двумя точками:
SELECT distance(setsrid((MakePoint(1622794, 150532)),2285),
setsrid((MakePoint(1622845, 150937)),2285));
Буферизация с упрощением:
SELECT ST_Buffer(ST_Simplify(the_geom, 700), 9000)
from oblasts where name ilike 'somename';
28. 28 из 34
Клиентское настольное ПО
● ПО ГИС общего назначения: QGIS/GRASS
● Визуализация и обработка данных
● Формирование геоданных
● Работа с атрибутивной информацией
● Модули расширения (C++/Python)
33. Клиентские библиотеки для веб
33 из 34
● Leaflet/Openlayers, JavaScript
● Забирает от картографического веб-сервера или из базы
растр/вектор (WMS, тайлы, WFS)
● Настроить символику (если надо, вектор)
● Пользовательские интерфейсы
34. 34 из 34
gis-lab.info/forum
github.com/nextgis