- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 python 中将 jp2 栅格产品作为栅格打开,但当我们使用“raterio”和“gdal”包时没有成功。
我收到此错误:
RasterioIOError: 'b4.jp2' not recognized as a supported file format.
RuntimeError: `b4.jp2' not recognized as a supported file format.
我确实设法使用“glymur”包将它们作为常规矩阵打开,但随后我丢失了地理数据。
如果有人知道其他页面可以将 jp2 作为光栅打开,我会很高兴知道!
我尝试遵循这个答案:Python3.7 rasterio library cant open jp2由 conda 安装 fiona或:https://gis.stackexchange.com/questions/250833/gdal-missing-jp2-driver-files-how-to-install-them/250837#250837并尝试安装:conda create -n mynewenv -c conda-forge gdal rasterio
但我仍然遇到同样的错误。
b4 = rasterio.open('b4.jp2')
b4 = rasterio.open('b4.jp2', driver= 'JP2OpenJPEG')
最佳答案
这与您尝试过的非常相似,但这个过程对我有用。注意:我指定我想要一个 python 3.7 环境。从 anaconda 提示符处:
conda create --name testing python=3.7
conda activate testing
conda install -c conda-forge gdal rasterio
验证安装是否正确:
(testing) C:\Users\dan>python
Python 3.7.3 | packaged by conda-forge | (default, Jul 1 2019, 22:01:29) [MSC v.1900 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import rasterio
>>> import gdal
>>> gdal.VersionInfo()
'3000100'
>>> rasterio.gdal_version()
'3.0.1'
并检查以确保支持 .jp2
驱动程序。从 anaconda 提示符处:
rio env --formats
返回一个包含条目的长列表:
JML: OpenJUMP JML
JP2OpenJPEG: JPEG-2000 driver based on OpenJPEG library
JPEG: JPEG JFIF
这是来自 conda env export
的导出:
name: testing
channels:
- conda-forge
- defaults
dependencies:
- affine=2.3.0=py_0
- attrs=19.3.0=py_0
- boost-cpp=1.70.0=h6a4c333_2
- bzip2=1.0.8=hfa6e2cd_1
- ca-certificates=2019.9.11=hecc5488_0
- certifi=2019.9.11=py37_0
- cfitsio=3.470=hfa6e2cd_2
- click=7.0=py_0
- click-plugins=1.1.1=py_0
- cligj=0.5.0=py_0
- curl=7.65.3=h4496350_0
- expat=2.2.5=he025d50_1004
- freetype=2.10.0=h563cfd7_1
- freexl=1.0.5=hd288d7e_1002
- gdal=3.0.1=py37h2fee047_10
- geos=3.7.2=he025d50_2
- geotiff=1.5.1=h6e819c3_4
- gettext=0.19.8.1=hb01d8f6_1002
- glib=2.58.3=hc0c2ac7_1002
- hdf4=4.2.13=hf8e6fe8_1002
- hdf5=1.10.5=nompi_ha405e13_1104
- icu=64.2=he025d50_1
- jpeg=9c=hfa6e2cd_1001
- kealib=1.4.10=hf7dc31f_1005
- krb5=1.16.3=hdd46e55_1001
- libblas=3.8.0=14_mkl
- libcblas=3.8.0=14_mkl
- libcurl=7.65.3=h4496350_0
- libffi=3.2.1=h6538335_1006
- libgdal=3.0.1=h2491c49_10
- libiconv=1.15=hfa6e2cd_1005
- libkml=1.3.0=h4ece8bf_1010
- liblapack=3.8.0=14_mkl
- libnetcdf=4.7.1=nompi_h8d74e2a_101
- libpng=1.6.37=h7602738_0
- libpq=11.5=hb0bdaea_1
- libspatialite=4.3.0a=hee5a54d_1031
- libssh2=1.8.2=h642c060_2
- libtiff=4.0.10=h6512ee2_1003
- libxml2=2.9.10=h9ce36c8_0
- lz4-c=1.8.3=he025d50_1001
- numpy=1.17.3=py37hc71023c_0
- openjpeg=2.3.1=hb24c2e3_1
- openssl=1.1.1c=hfa6e2cd_0
- pcre=8.43=h6538335_0
- poppler=0.67.0=h92819f6_7
- poppler-data=0.4.9=1
- postgresql=11.5=h06f7779_1
- proj=6.2.0=ha7a8c7b_1
- pyparsing=2.4.2=py_0
- python=3.7.3=h510b542_1
- rasterio=1.1.0=py37h2617b1b_0
- snuggs=1.4.7=py_0
- tbb=2018.0.5=he980bc4_0
- tiledb=1.6.2=h30b6f50_1
- tk=8.6.9=hfa6e2cd_1003
- xerces-c=3.2.2=h6538335_1004
- xz=5.2.4=h2fa13f4_1001
- zlib=1.2.11=h2fa13f4_1006
- zstd=1.4.0=hd8a0e53_0
- intel-openmp=2019.4=245
- m2w64-expat=2.1.1=2
- m2w64-gcc-libgfortran=5.3.0=6
- m2w64-gcc-libs=5.3.0=7
- m2w64-gcc-libs-core=5.3.0=7
- m2w64-gettext=0.19.7=2
- m2w64-gmp=6.1.0=2
- m2w64-libiconv=1.14=6
- m2w64-libwinpthread-git=5.0.0.4634.697f757=2
- m2w64-xz=5.2.2=2
- mkl=2019.4=245
- msys2-conda-epoch=20160418=1
- pip=19.3.1=py37_0
- setuptools=41.6.0=py37_0
- sqlite=3.30.1=he774522_0
- vc=14.1=h0510ff6_4
- vs2015_runtime=14.16.27012=hf0eaf9b_0
- wheel=0.33.6=py37_0
- wincertstore=0.2=py37_0
prefix: C:\Anaconda2\envs\testing
证明它有效:
(testing) C:\Users\RDCRLDDH>python
Python 3.7.5 (default, Oct 31 2019, 15:18:51) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import rasterio
>>> ds = rasterio.open(r"C:\Users\RDCRLDDH\Desktop\T36QVM_20191023T082009_B01.jp2")
>>> ds.crs
CRS.from_epsg(32636)
>>> ds.read(1)
array([[2372, 2344, 2312, ..., 1423, 1406, 1481],
[2326, 2292, 2279, ..., 1492, 1462, 1495],
[2317, 2271, 2261, ..., 1529, 1517, 1511],
...,
[1958, 1946, 1947, ..., 1697, 1734, 1730],
[1960, 1960, 1967, ..., 1714, 1758, 1721],
[1959, 1957, 1960, ..., 1769, 1752, 1701]], dtype=uint16)
>>> ds.transform
Affine(60.0, 0.0, 399960.0,
0.0, -60.0, 2700000.0)
>>>
从spyder中,您可以使用以下命令查看spyder正在运行的位置
import sys
print(sys.executable)
您应该看到类似以下内容:
C:\Anaconda2\envs\testing\pythonw.exe
安装目录C:\Anaconda2\
取决于你安装anaconda的位置,但后面部分envs\testing\pythonw.exe
应该是相同的。
关于python - 无法使用 python rasterio、gdal 打开 jp2 (来自哨兵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58524048/
我在网上搜索但没有找到任何合适的文章解释如何使用 javascript 使用 WCF 服务,尤其是 WebScriptEndpoint。 任何人都可以对此给出任何指导吗? 谢谢 最佳答案 这是一篇关于
我正在编写一个将运行 Linux 命令的 C 程序,例如: cat/etc/passwd | grep 列表 |剪切-c 1-5 我没有任何结果 *这里 parent 等待第一个 child (chi
所以我正在尝试处理文件上传,然后将该文件作为二进制文件存储到数据库中。在我存储它之后,我尝试在给定的 URL 上提供文件。我似乎找不到适合这里的方法。我需要使用数据库,因为我使用 Google 应用引
我正在尝试制作一个宏,将下面的公式添加到单元格中,然后将其拖到整个列中并在 H 列中复制相同的公式 我想在 F 和 H 列中输入公式的数据 Range("F1").formula = "=IF(ISE
问题类似于this one ,但我想使用 OperatorPrecedenceParser 解析带有函数应用程序的表达式在 FParsec . 这是我的 AST: type Expression =
我想通过使用 sequelize 和 node.js 将这个查询更改为代码取决于在哪里 select COUNT(gender) as genderCount from customers where
我正在使用GNU bash,版本5.0.3(1)-发行版(x86_64-pc-linux-gnu),我想知道为什么简单的赋值语句会出现语法错误: #/bin/bash var1=/tmp
这里,为什么我的代码在 IE 中不起作用。我的代码适用于所有浏览器。没有问题。但是当我在 IE 上运行我的项目时,它发现错误。 而且我的 jquery 类和 insertadjacentHTMl 也不
我正在尝试更改标签的innerHTML。我无权访问该表单,因此无法编辑 HTML。标签具有的唯一标识符是“for”属性。 这是输入和标签的结构:
我有一个页面,我可以在其中返回用户帖子,可以使用一些 jquery 代码对这些帖子进行即时评论,在发布新评论后,我在帖子下插入新评论以及删除 按钮。问题是 Delete 按钮在新插入的元素上不起作用,
我有一个大约有 20 列的“管道分隔”文件。我只想使用 sha1sum 散列第一列,它是一个数字,如帐号,并按原样返回其余列。 使用 awk 或 sed 执行此操作的最佳方法是什么? Accounti
我需要将以下内容插入到我的表中...我的用户表有五列 id、用户名、密码、名称、条目。 (我还没有提交任何东西到条目中,我稍后会使用 php 来做)但由于某种原因我不断收到这个错误:#1054 - U
所以我试图有一个输入字段,我可以在其中输入任何字符,但然后将输入的值小写,删除任何非字母数字字符,留下“。”而不是空格。 例如,如果我输入: 地球的 70% 是水,-!*#$^^ & 30% 土地 输
我正在尝试做一些我认为非常简单的事情,但出于某种原因我没有得到想要的结果?我是 javascript 的新手,但对 java 有经验,所以我相信我没有使用某种正确的规则。 这是一个获取输入值、检查选择
我想使用 angularjs 从 mysql 数据库加载数据。 这就是应用程序的工作原理;用户登录,他们的用户名存储在 cookie 中。该用户名显示在主页上 我想获取这个值并通过 angularjs
我正在使用 autoLayout,我想在 UITableViewCell 上放置一个 UIlabel,它应该始终位于单元格的右侧和右侧的中心。 这就是我想要实现的目标 所以在这里你可以看到我正在谈论的
我需要与 MySql 等效的 elasticsearch 查询。我的 sql 查询: SELECT DISTINCT t.product_id AS id FROM tbl_sup_price t
我正在实现代码以使用 JSON。 func setup() { if let flickrURL = NSURL(string: "https://api.flickr.com/
我尝试使用for循环声明变量,然后测试cols和rols是否相同。如果是,它将运行递归函数。但是,我在 javascript 中执行 do 时遇到问题。有人可以帮忙吗? 现在,在比较 col.1 和
我举了一个我正在处理的问题的简短示例。 HTML代码: 1 2 3 CSS 代码: .BB a:hover{ color: #000; } .BB > li:after {
我是一名优秀的程序员,十分优秀!