GIS-LAB

Географические информационные системы и дистанционное зондирование

PostGIS 1.4.0

Максим Дубинин, 25.07.2009

Разработчики PostGIS с юмором

after a long period of meditation and soul searching

выпустили новую версию PostGIS 1.4.

Вкратце, помимо ошибок, разработчики уделили много внимания:

  • новой документации
  • системе сборки, отладки и тестов
  • поддержке PostgreSQL 8.4
  • улучшению производительности.

?з нового, чуть подробнее:

  • Улучшение производительности всех функций обработки геометрии
  • ST_Union() – использует высокоскоростные каскадные операции объединения геометрии вместо старых построчных, если компилируется с GEOS 3.1+ (подробнее). Подобная функциональность также реализована в Java Topology Suite. Увеличение скорости на тестовых наборах данных в 100 и более раз.

  • ST_Intersects(), ST_Contains(), ST_Within() теперь используют более быстрый алгоритм, если компилируется с GEOS 3.1+
  • ST_ContainsProperly() – возвращает истину, если объект B пересекает внутреннюю область A, но не его границу, требует GEOS 3.1+.
  • ST_IsValidReason() возвращает текст правильная или нет геометрия, если неправильная возвращает также объяснение почему. требует GEOS 3.1+. Удобно использовать вместе с ST_IsValid.
  • ST_GeoHash() возвращает геометрии в виде GeoHash. Не работает с геометриями в системах координат отличных от географических. Например точка с координатами 50,50 будет закодирована как v0gs. Цель GeoHash, как других сервисов укорачивающих URL, сократить длину строки адреса, при этом кодирование происходит по иерархическому географическому принципу.
  • ST_LineCrossingDirection() – возвращает один из семи типов пересечений двух LineStrings.
  • Парсер геометрии стал использовать HINT и возвращает более осмысленные сообщения об ошибках с их местоположением в геометрии. Например:
postgis=# select 'MULTIPOYGON(((0 0, 0 0, 0 0,0 0),(0 0, 0 0, 0 0,0
0),(0 0, 0 0, 0 0,0 0),(0 0, 0 0, 0 0,0 0),(0 0, 0 0, 0 0,0
0)))'::geometry;
ERROR:  parse error - invalid geometry
HINT:  You must specify a valid OGC WKT geometry type such as POINT,
LINESTRING or POLYGON
  • ST_LocateBetweenElevations – возвращает набор геометрий в определенном диапазоне высот
  • ST_AsGeoJSON() конвертирует геометрию в GeoJSON
  • Populate_Geometry_Columns() автоматически добавлять записи в geometry_columns для TABLES и VIEWS
  • ST_MinimumBoundingCircle() возвращает наименьшую окружность описанную вокруг геометрии
  • Ядро работы с геометрией выделено в отдельную библиотеку, liblwgeom, что позволило существенно сократить код и упростить shp2pgsql/pgsql2shp. Разработана также система модульных тестов для liblwgeom.
  • Переработка Shp2pgsql и pgsql2shp с использованием общего кода из liblwgeom
  • Мульти-платформенный интерфейс для загрузки shape-файлов на GTK+

  • Новая система сборки, использующая бустрэппер “pgxs” PostgreSQL
  • Формализована и упрощена система отладки
  • Расширена поддержка дуг CIRCULARSTRING,  COMPOUNDCURVE и CURVEPOLYGON из спецификации SQL/MM Spatial.
  • Улучшены документация и руководство, теперь они содержат иллюстрации и графики с примерами. Примеры собираются автоматически с помощью ImageMagick из текстовых WKT геометрий. Пример иллюстрации для ST_Crosses (все случаи возвращают истину):

  • Документация собирается в PDF с помощью  PDF DbLatex
  • Дополнительная документация для разработчика в Doxygen
  • Улучшение системы логов
  • Улучшена поддержка OpenSolaris и MSVC
  • Улучшена поддержка KML
  • Новая система тестирования
  • Поддержка PostgreSQL 8.4
ST_LineCrossingDirection() returns crossing directions

Комментарии (7) к статье “PostGIS 1.4.0”

  1. voltron says:

    Надо будет попробовать. А работы по переводу мануала(ов) планируются?

    • sim says:

      Да, надо этим потихоньку начать заниматься. Для начала изучить вопрос как сделать лучше. У нас сейчас на сайте перевод 1.3.4 в html и pdf, сделанный вручную, но на будущее хотелось бы собирать также как собирают сами PostGIS’овцы, ну и способ отслеживания изменений по версиям, чтобы не просматривать все для новой версии. Есть ли желающие изучить вопрос?

  2. Olax says:

    Как получить этот “Мульти-платформенный интерфейс для загрузки shape-файлов на GTK+ ” ???
    Буду благодарен

  3. Olax says:

    А кто нить может собрать этот “Мульти-платформенный интерфейс” под винду?
    Мучительно не хватает – мне таких данных около 6 гиг перегонять.
    Было бы очень хорошо упростить этот процес.
    тестовую поддержку гарантирую.

    • sim says:

      заведите тему в форуме с запросом – обсудим, задача решается несколькими путями

  4. […] Улучшенный графический интерфейс для загрузки shape-файлов. Несмотря, что этот интерфейс был заявлен еще в 1.4, попытки скомпилировать его похоже никому не удались. […]

Оставтьте комментарий к sim


(Геокруг)

Если Вы обнаружили на сайте ошибку, выберите фрагмент текста и нажмите Ctrl+Enter