当前位置: 首页 > 知识库问答 >
问题:

更改GeoPandas中的CRS

裴实
2023-03-14

我正在尝试更改geopandas数据帧的CRS。目前的CRS是:

Name: unknown
Axis Info [ellipsoidal]:
- lon[east]: Longitude (degree)
- lat[north]: Latitude (degree)
Area of Use:
- undefined
Datum: World Geodetic System 1984
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

当我尝试dfTrans.to_crs('epsg:4326')时,我得到以下错误:

pyproj.exceptions.CRSError: Invalid projection: epsg:4326: (Internal Proj Error: proj_create: cannot build geodeticCRS 4326: SQLite error on SELECT name, ellipsoid_auth_name, ellipsoid_code, prime_meridian_auth_name, prime_meridian_code, area_of_use_auth_name, area_of_use_code, publication_date, deprecated FROM geodetic_datum WHERE auth_name = ? AND code = ?: no such column: publication_date)

对于pyproj中的一个简单命令,pyproj.CRS.from_epsg(4326),我得到了相同的错误:

  File "pyproj/_crs.pyx", line 1738, in pyproj._crs._CRS.__init__
pyproj.exceptions.CRSError: Invalid projection: epsg:4326: (Internal Proj Error: proj_create: cannot build geodeticCRS 4326: SQLite error on SELECT name, ellipsoid_auth_name, ellipsoid_code, prime_meridian_auth_name, prime_meridian_code, area_of_use_auth_name, area_of_use_code, publication_date, deprecated FROM geodetic_datum WHERE auth_name = ? AND code = ?: no such column: publication_date)

我不知道发生了什么,但似乎有一个底层函数调用一个不存在的列。有没有办法解决这个问题?

共有1个答案

蒋承教
2023-03-14

我在使用Proj-5.x时也犯了同样的错误。“publication_date”列似乎是一个Proj-6或Proj-7项(两者都需要SQLite)

 类似资料:
  • 基本上,这个想法是在不使用Qgis的情况下自动化一些工作流。 我无法获得与Geopandas中Qgis功能“向点添加坐标”类似的结果,该功能允许您在当前投影中获取点的x、y坐标,并为表创建新属性。 所以我有一套我玩过的积分。原始形状文件的CRS为epsg 2154(Lambert 93)。我需要以与谷歌地图兼容的格式获取纬度和经度。 谷歌使用epsg 3857谷歌地图。 这个想法是切换到epsg

  • 问题内容: 我只是注意到,与JDK5相比,JDK 6设置默认TimeZone的方法有所不同。 以前,新的默认值将存储在线程局部变量中。使用JDK6(我刚刚查看过1.6.0.18),实现已更改,因此,如果用户可以写入“ user.timezone”属性,或者如果未安装SecurityManager,则时区将在VM范围内更改!否则,将发生线程局部更改。 我错了吗?这似乎是一个巨大的变化,我在网上找不到

  • 问题内容: 在IE 11中,ToLocaleDateString()获得了有趣的结果。返回的字符串在浏览器中看起来不错,例如“ 1/28/2014 11:00:46 AM”,但是如果我将该值复制并粘贴到纯文本编辑器中,它看起来像这样:“?1?/? 28?/?2014?11?:?00?:?46??AM”。 有趣的是,如果我将文本粘贴到Microsoft产品中,看起来还不错…问题是,如果您尝试以编程方

  • 问题内容: 我有一个班级,其显示设置设置为Java,现在我将其设置为,我知道我可以使用with 进行此操作,但是用班级进行清洁的最干净的方法是什么? 问题答案: 您 可以使用数组(MDC链接,MSDN链接) 来 执行操作,实际上是更改与类相关的样式规则,但是坦率地说,您最好拥有一个单独的样式来定义,然后删除该样式(如changelog所述)从元素开始,当您希望它们不再隐藏时。

  • 问题内容: 我已经升级了项目以使用go 1.11.2模块支持。但是,我遇到了一个非常烦人的问题。go.mod文件的CI不断变化。每天都有不同的文件。今天,go.sum中的行是: go.mod是: 我没有更新任何依赖项。他们没有锁!为什么不?如果依赖关系不断变化,这将是一个很大的问题。但是,我看不到其他人对此问题大喊大叫。所以我一定做错了。 我正在使用之前将其同步。这在本地有效,但不适用于Travi

  • 问题内容: 我的同事在工作中提出了一个我无法回答的问题(由于缺乏经验),该问题与跟踪表中相关字段的变化有关。 想象一下,我们有3个表,每个表20个字段。在此示例中,我们考虑这些表中的每一个都有2个字段,一个名为LastUpdatedOn,另一个名为LastUpdatedBy。 如果我们只想跟踪这3个表中的更改,而只跟踪几个特定字段,而没有为每个表创建包含更新前最新版本的历史表,那么我们如何跟踪这些