Rasterio не может открыть файлы .jp2 - PullRequest
0 голосов
/ 29 октября 2019

Я начинаю играть с GeoPySpark и внедряю пример ноутбука .

Я успешно получил изображения

!curl -o /tmp/B01.jp2 http://sentinel-s2-l1c.s3.amazonaws.com/tiles/32/T/NM/2017/1/4/0/B01.jp2
!curl -o /tmp/B09.jp2 http://sentinel-s2-l1c.s3.amazonaws.com/tiles/32/T/NM/2017/1/4/0/B09.jp2
!curl -o /tmp/B10.jp2 http://sentinel-s2-l1c.s3.amazonaws.com/tiles/32/T/NM/2017/1/4/0/B10.jp2

Вот скрипт:

import rasterio
import geopyspark as gps
import numpy as np

from pyspark import SparkContext

conf = gps.geopyspark_conf(master="local[*]", appName="sentinel-ingest-example")
pysc = SparkContext(conf=conf)

jp2s = ["/tmp/B01.jp2", "/tmp/B09.jp2", "/tmp/B10.jp2"]
arrs = []

for jp2 in jp2s:
    with rasterio.open(jp2) as f: #CRASHES HERE
        arrs.append(f.read(1))

data = np.array(arrs, dtype=arrs[0].dtype)
data

Сценарий вылетает, когда я поместил маркер здесь, со следующей ошибкой:

RasterioIOError: '/tmp/B01.jp2' not recognized as a supported file format.

Я скопировал код примера точно, объявление в Rasterio документирует его даже использует файлы .jp2 в примерах .

Я использую следующую версию Rasterio, установленную с pip3. У меня не установлена ​​Anaconda (портит мою среду Python) и не установлена ​​GDAL (она отказывается, это будет темой другого вопроса, если это мое единственное решение)

Name: rasterio
Version: 1.1.0
Summary: Fast and direct raster I/O for use with Numpy and SciPy
Home-page: https://github.com/mapbox/rasterio
Author: Sean Gillies
Author-email: sean@mapbox.com
License: BSD
Location: /usr/local/lib/python3.6/dist-packages
Requires: click-plugins, snuggs, numpy, click, attrs, cligj, affine
Required-by: 

Почемуон отказывается читать файлы .jp2? Есть ли способ превратить их во что-то полезное? Или вам известны примеры файлов, похожих на эти, в приемлемом формате?

...