[python]rasterio运行代码警告proj_create_from_database: Cannot find proj.db
这个报错要分原因还有rasterio版本讨论,因此官方给出了十分具体回答
Frequently Asked Questions
What does "RasterioIOError: file.ecw not recognized as a supported file format." mean?
This exception is raised when none of rasterio's format drivers can successfully open the specified dataset. In some cases it might be because the path is malformed, or the file is corrupted. Often, it is because your installation of rasterio does not provide the format driver. ECW, for example, is an optional format driver and is not provided by the rasterio wheels in the Python Package Index. We'd like to keep the size of wheels to < ~20MB, and that means some GDAL features and format drivers must be left out. Other distribution channels for rasterio, such as conda-forge, may have different and larger sets of format drivers.
To see a list of the format drivers provided by your rasterio installation, run in your shell
rio env --formats
or, in a python interpreter,
with rasterio.Env() as env:print(list(env.drivers().items()))
Where is "ERROR 4: Unable to open EPSG support file gcs.csv" coming from and what does it mean?
The full message is "ERROR 4: Unable to open EPSG support file gcs.csv. Try setting the GDAL_DATA environment variable to point to the directory containing EPSG csv files." The GDAL/OGR library prints this text to your process's stdout stream when it can not find the gcs.csv data file it needs to interpret spatial reference system information stored with a dataset. If you've never seen this before, you can summon this message by setting GDAL_DATA to a bogus value in your shell and running a command like ogrinfo:
$ GDAL_DATA="/path/to/nowhere" ogrinfo example.shp -so example INFO: Open of 'example.shp'using driver 'ESRI Shapefile' successful.Layer name: example Geometry: Polygon Feature Count: 67 Extent: (-113.564247, 37.068981) - (-104.970871, 41.996277) ERROR 4: Unable to open EPSG support file gcs.csv. Try setting the GDAL_DATA environment variable to point to the directory containing EPSG csv files.
If you're using GDAL software installed by a package management system like apt or yum, or Homebrew, or if you've built and installed it using configure; make; make install, you don't need to set the GDAL_DATA environment variable. That software has the right directory path built in. If you see this error, it's likely a sign that GDAL_DATA is set to a bogus value. Unset GDAL_DATA if it exists and see if that eliminates the error condition and the message.
Important
Activate your conda environments. The GDAL conda package will set GDAL_DATA to the proper value if you activate your conda environment. If you don't activate your conda enviornment, you are likely to see the error message shown above.
Why can't rasterio find proj.db (rasterio versions < 1.2.0)?
If you see rasterio.errors.CRSError: The EPSG code is unknown. PROJ: proj_create_from_database: Cannot find proj.db it is because the PROJ library (one of rasterio's dependencies) cannot find its database of projections and coordinate systems. In some installations the PROJ_LIB (PROJ < 9.1) | PROJ_DATA (PROJ 9.1+) environment variable must be set for PROJ to work properly.
Important
Activate your conda environments. The PROJ conda package will set PROJ_LIB (PROJ < 9.1) | PROJ_DATA (PROJ 9.1+) to the proper value if you activate your conda environment. If you don't activate your conda enviornment, you are likely to see the exception shown above.
Why can't rasterio find proj.db (rasterio from PyPI versions >= 1.2.0)?
Starting with version 1.2.0, rasterio wheels on PyPI include PROJ 7.x and GDAL 3.x. The libraries and modules in these wheels are incompatible with older versions of PROJ that may be installed on your system. If PROJ_LIB (PROJ < 9.1) | PROJ_DATA (PROJ 9.1+) is set in your program's environment and points to an older version of PROJ, you must unset this variable. Rasterio will then use the version of PROJ contained in the wheel.
参考文献:
https://github.com/rasterio/rasterio/blob/main/docs/faq.rst#why-cant-rasterio-find-projdb
相关文章:
[python]rasterio运行代码警告proj_create_from_database: Cannot find proj.db
这个报错要分原因还有rasterio版本讨论,因此官方给出了十分具体回答 Frequently Asked Questions What does "RasterioIOError: file.ecw not recognized as a supported file format." mean? This exception is raised when none of rasterios format …...
ThinkPHP5.1.C+CmsEasy-SQL注入
目录 1、ThinkPHP 中存在的 SQL注入 漏洞( select 方法注入) 1.1环境配置 1.1.1将 composer.json 文件的 require 字段设置成如下: 1.1.2设置application/index/controller/Index.php 文件 1.1.3在 application/database.php 文件中配置…...
Python 绘图进阶之词云图:文本数据的可视化艺术
Python 绘图进阶之词云图:文本数据的可视化艺术 引言 在数据科学和自然语言处理领域,词云图(Word Cloud)是一种常用的可视化工具。它通过直观的图形展示文本数据中的高频词汇,使得我们能够快速抓住文本内容的核心主题…...
【Windows】Q-Dir(资源管理器)软件介绍
软件介绍 Q-Dir是一款免费的文件管理器软件,它可以让您更方便地浏览和管理计算机上的文件和文件夹。与Windows自带的资源管理器相比,Q-Dir具有更多的功能和选项。 安装教程 软件下载完成,解压软件。 点击Q-Dir.exe即可打开软件。 功能…...
什么是令牌桶算法?工作原理是什么?使用它有哪些优点和注意事项?
大家好,我是鸭鸭! 此答案节选自鸭鸭最近弄的面试刷题神器面试鸭 ,更多大厂常问面试题,可以点击下面的小程序进行阅读哈! 目前这个面试刷题小程序刚出,有网页和小程序双端可以使用! 回归面试题…...
C++-类与对象(中上篇)
一、目标 1. 类的 6 个默认成员函数 2. 构造函数 3. 析构函数 二、对目标的介绍 1. 类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类。 空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生…...
链表 206.反转链表
一般方法 不需要一个个来回换,只需要改变链表的指向,即可完成 一个链表的头节点,也代表了整个链表 class Solution {public ListNode reverseList(ListNode head) {ListNode temp;ListNode cur head;ListNode pre null;while(cur ! null…...
Ubuntu18.04 配置EtherCAT主站IGH SOEM
IGH IGH 是开源的EtherCAT 主站软件 一、安装依赖 sudo apt update sudo apt install build-essential linux-headers-$(uname -r) mercurial autoconf libtool 也不知道安装的完全不完全 uname -r 可以查看内核,我安装的ubuntu18.04的内核版本是 5.4.0-84-gen…...
航空航天构型管理
构型管理(CM)被定义为在产品的生命周期中应用的SE技术和管理规程。CM的五个原则是:CM计划与执行、配置识别、配置变更和差异控制、配置状态核算和配置验证。 广义上的构型管理规划和管理是有效实施配置管理的关键。特别是在不同项目之间的差异中,构型管理…...
Visual Studio Code 安装与 C/C++ 语言运行总结
大家好,我是程序员小羊! 前言: Visual Studio Code(简称 VS Code)是由微软开发的一款轻量级、强大的代码编辑器,支持多种编程语言和开发框架。由于其丰富的插件生态系统和灵活的配置选项,VS…...
Science Robotics 受鳞片启发的可编程机器人结构,可同时进行形状变形和刚度变化
一、前言速览 生物有机体通常凭借复杂的结构表现出显著的多功能性,例如章鱼具有可以同时改变形状和刚度的能力。现有的仿生软体机器人要想实现这样的能力,往往需要繁琐的结构和复杂的控制系统。为此,来自新加坡南洋理工大学的研究人员从覆盖…...
SpringBoot 自定义 Starter 实现
一、定义,什么是Starter SpringBoot Starter 是”一站式服务(one-stop service)“的依赖 Jar 包: 包含 Spring 以及相关技术(比如Redis)的所有依赖提供了自动配置的功能,开箱即用提供了良好的…...
「Spring MVC」Session、Cookie
🎇个人主页:Ice_Sugar_7 🎇所属专栏:JavaEE 🎇欢迎点赞收藏加关注哦! Spring MVC 🍉Session & Cookie🍌联系与区别 🍉获取 Cookie🍉存储 & 获取 Sess…...
Java虚拟机:垃圾回收器
大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 037 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进一步完善自己对整个 Java 技术体系来充实自…...
ES6-ES13学习笔记
初识ES6 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 1997年:EC…...
【Qt开发】QtCharts图表——在ui上添加QChartView控件并进行绘图配置
【Qt开发】QtCharts图表——在ui上添加QChartView控件并进行绘图配置 文章目录 控件安装和模块导入在ui上添加QChartView控件QChartView图表配置附录:C语言到C的入门知识点(主要适用于C语言精通到Qt的C开发入门)C语言与C的不同C中写C语言代码…...
Android14 屏幕录制(屏幕投影)和音频播放采集
Android 5开始支持屏幕采集, Android 10支持音频播放采集,不过Android 14用前台服务做屏幕录制时要增加一些处理. 1. app manifest 需要增加: <manifest><uses-permission android:name"android.permission.FOREGROUND_SERVICE" /><uses…...
一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶
一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶 文章目录 前言一行实现88个群智能算法优化混合核极限学习机HKELM的多特征输入单输出的数据回归预测Matlab程序全家桶 一、HKELM模型1. 极限学习机(ELM࿰…...
redis面试(十五)公平锁队列重排
队列重拍 先说一下当前的加锁状态 anyLock由客户端A持有队列中是客户端B、客户端C并且客户端B现在是排在头部 那么队列重拍就是队列中某个客户端长时间没有重新申请加锁,没有刷新分数,就会被队列中挤掉。 假设这个长时间没有加锁的客户端是B。 总结 …...
python 基础语法os模块
一、os模块 待总结 二、os.path模块 1.abspath()方法--获取绝对路径 abspathO)方法用于返回文件或者目录的绝对路径。 语法格式如下: os .path.abspath(path) 参数说明: path:表示要获取绝对路径的相对路径,可以是文件也可以是目录。 返回值:返回获取到的绝…...
梯度在机器学习中的核心作用与优化实践
1. 梯度在机器学习中的核心概念第一次接触机器学习时,我盯着优化算法的代码百思不得其解——为什么调整参数时要计算这些神秘的"梯度"?直到亲眼看到梯度下降如何让模型误差像坐滑梯一样下降,才真正理解这个基础概念的力量。梯度本质…...
【仅剩217份】《C++高吞吐MCP网关内参手册》V2.3(含perf火焰图分析模板+Valgrind定制检测脚本+ASan生产环境绕过方案)
更多请点击: https://intelliparadigm.com 第一章:MCP网关核心概念与C高吞吐设计哲学 MCP(Message Coordination Protocol)网关是现代微服务架构中负责跨域消息路由、协议转换与流量整形的关键中间件。其核心职责并非简单转发&am…...
【C++高吞吐MCP网关实战权威指南】:20年架构师亲授零拷贝、无锁队列与百万QPS调优全链路
更多请点击: https://intelliparadigm.com 第一章:MCP网关核心概念与C高吞吐架构全景图 MCP(Message Control Protocol)网关是现代微服务通信基础设施中的关键中间件,专为低延迟、高并发的消息路由与协议转换设计。其…...
Klavis AI多语言支持终极指南:构建全球化AI应用的完整方案
Klavis AI多语言支持终极指南:构建全球化AI应用的完整方案 【免费下载链接】klavis Klavis AI: MCP integration platforms that let AI agents use tools reliably at any scale 项目地址: https://gitcode.com/GitHub_Trending/kl/klavis 在当今全球化的数…...
DamaiHelper:如何用智能自动化告别演唱会抢票焦虑?
DamaiHelper:如何用智能自动化告别演唱会抢票焦虑? 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 当热门演唱会门票开售时,你是否经历过这样的场景࿱…...
超详细 Kubectl 完整命令手册(生产级、全分类、带参数解释+实操示例)
超详细 Kubectl 完整命令手册 (生产级、全分类、带参数解释 实操示例) 一、基础语法 & 全局通用参数 1. 标准语法 kubectl 【子命令】【资源类型】【资源名称】【可选参数】2. 全局必用通用参数参数作用-n, --namespace指定命名空间-A, --all-names…...
迷你电吹风速修
署名 浙江 方位机主的一台迷你电吹风不能开机。观察电吹风,机主已经拆过进风网罩,动过电源进线,但是没有修复。1.拆手柄:用镊子工具撬出开关1,按钮2。再用力将手柄外壳用力推出,即可拆出内壳结构及电机。由…...
终极指南:理解CHIPageControl Puya的CADisplayLink驱动实时动画原理
终极指南:理解CHIPageControl Puya的CADisplayLink驱动实时动画原理 【免费下载链接】CHIPageControl A set of cool animated page controls written in Swift to replace boring UIPageControl. Mady by ChiliLabs - https://chililabs.io 项目地址: https://gi…...
LLM在Verilog代码生成中的技术演进与实践
1. LLM在Verilog代码生成中的技术演进作为一名在数字电路设计领域工作多年的工程师,我见证了硬件描述语言(Verilog)设计方式的革命性变化。传统的手动编写RTL代码方式正逐渐被基于大型语言模型(LLM)的自动化方法所补充甚至替代。Verilog代码生成不同于普通编程语言&…...
