繁体   English   中英

Rasterio 无法打开.jp2 文件

[英]Rasterio unable to open .jp2 files

我开始使用 GeoPySpark 并正在实现一个示例 notebook

我成功检索了图像

!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 文件? 有没有办法将它们转换为可用的东西? 或者您是否知道任何与这些格式相似且格式可接受的示例文件?

我陷入了同样的境地。

我使用了pyvips package 并解决了。

import pyvips

image = pyvips.Image.new_from_file("000240.jp2") image.write_to_file("000240.jpg")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM