Создание образа докера, содержащего огр, скомпилированный с современным пространством - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь запустить команду ogr2ogr, для которой требуется версия GDAL, созданная с достаточно новым SpatiaLite, чтобы иметь функцию ST_MakeValid --- из групп обсуждения , кажется, 4.0 +

Однако версия gdal в ubuntugis имеет то, что выглядит как современная версия gdal

$ gdalinfo --version
GDAL 2.2.4, released 2018/03/19

И у меня есть современный пространственный объект:

$ sudo apt-get install libspatialite-dev spatialite-bin libspatialite7
... already installed

$ spatialite
SpatiaLite version ..: 4.3.0a   Supported Extensions:

но команда ogr2ogr, похоже, не скомпилирована с версией пространственного объекта, которая находится в репозиториях как отдельный бинарный файл, а скорее чем-то более старым.(Я не могу сказать, как проверить, с какой версией он скомпилирован, просто что эта команда, которая успешно выполняется, когда она обновлена, не работает )

Вот мой Dockerfile:

FROM ubuntu:18.04
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \
 && apt-get install -y software-properties-common \
 && add-apt-repository ppa:ubuntugis/ubuntugis-unstable -y && apt-get update \
 && apt-get install --yes gdal-bin curl \
 && curl -LKS 'https://github.com/OpenDataDE/State-zip-code-GeoJSON/raw/master/ks_kansas_zip_codes_geo.min.json' -o  ks_kansas_zip_codes_geo.min.json \ 
 && ogrinfo --version \ 
 && ogr2ogr -f GeoJSON -dialect sqlite -sql "select ST_MakeValid(geometry),STATEFP10,ZCTA5CE10,GEOID10,CLASSFP10,MTFCC10,FUNCSTAT10,ALAND10,AWATER10,INTPTLAT10,INTPTLON10,PARTFLG10 from \"ks_kansas_zip_codes_geo.min\"" clean.json ks_kansas_zip_codes_geo.min.json

Что можно изменить в репозиториях или как вручную скомпилировать gdal, чтобы получить версию пространственного объекта, содержащую функцию ST_MakeValid?

Примечания

Сбор результатов поискаэто может иметь значение:

Обновления dockerfile

FROM ubuntu:18.04
ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update \ 
 && apt-get install -y software-properties-common \
 && add-apt-repository ppa:ubuntugis/ubuntugis-unstable -y \
#    # INSTALLING GRASS DOES NOT SEEM HELPFUL
#       && add-apt-repository ppa:grass/grass-devel -y \
 && apt-get update \
 && apt-get install --yes curl git autoconf libtool \
#   # TRIED RTTOPO FROM HERE:
#   #   http://postgis.17.x6.nabble.com/Why-can-t-PostGIS-configure-find-libgeos-c-td3552982.html
#   # AND HERE:
#   #   https://gitlab.com/rttopo/rttopo
#   # DOES NOT SEEM FRUITFUL
#       apt-get install --yes libgeos-dev \ 
#       && git clone https://gitlab.com/rttopo/rttopo.git \
#       && cd rttopo && ./autogen.sh  && ./configure --enable-rttopo=yes --with-geosconfig=/usr/bin/geos-config  && make && make install   \
#       && cd \
 && apt-get install --yes gdal-bin  \
 && curl -LKS 'https://github.com/OpenDataDE/State-zip-code-GeoJSON/raw/master/ks_kansas_zip_codes_geo.min.json' -o  ks_kansas_zip_codes_geo.min.json \ 
 && ogrinfo --version \
 && ogr2ogr -f GeoJSON -dialect sqlite -sql "select ST_MakeValid(geometry),STATEFP10,ZCTA5CE10,GEOID10,CLASSFP10,MTFCC10,FUNCSTAT10,ALAND10,AWATER10,INTPTLAT10,INTPTLON10,PARTFLG10 from \"ks_kansas_zip_codes_geo.min\"" clean.json ks_kansas_zip_codes_geo.min.json
...