从点制作 geopandas 数据框,然后投影 gpd,出现错误:无法转换朴素几何图形。请先在对象上设置一个crs

2024-04-20

我将带有纬度/经度的数据集转换为 geopandas 数据框(我们称之为 gpd)。 gpd 没有 CRS,我试图使用以下命令将此 gpd 投影到“EPSG:3857”:

gpd = gpd.to_crs("EPSG:3857")

我收到一条错误消息“无法转换朴素几何图形。请先在对象上设置 CRS”。这是否意味着对于任何没有CRS的gpd,我必须先为其分配一个CRS,然后将其重新投影到我感兴趣的CRS,例如从4326到3857:

gpd.crs =“EPSG:4326”

gpd = gpd.to_crs("EPSG:3857")

我的困惑是 CRS 和投影之间的差异,以及为什么在这种情况下我不能直接使用 3857。另外, pyproj 项目提到了重新投影地理数据有一些变化 https://pyproj4.github.io/pyproj/stable/gotchas.html并给出了有关如何投影地理数据的建议,我不清楚细节,有人可以根据他们所做的更改就如何适当地投影/重新投影地理数据提供一些建议吗?谢谢。


您需要先定义 crs,然后才能对其进行投影。如果您的 .shp 文件没有附带的 .prj 文件,则经常会发生这种情况。

import geopandas as gpd
gdf = gpd.read_file('GSHHS_c_L1.shp')
print(gdf.crs)
None

#this is how we define the projection
gdf.crs = "EPSG:4326"
print(gdf.crs)
EPSG:4326

#In Jupyter if you don't use a print statement, but shift+enter, you'll get this for your crs

<Geographic 2D CRS: EPSG:4326>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
Area of Use:
- name: World
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

定义您的 crs 后,您就可以对其进行投影。

#this is how we project the data
gdf = gdf.to_crs("EPSG:3857")
# this will display crs information in jupyter
gdf.crs

<Projected CRS: EPSG:3857>
Name: WGS 84 / Pseudo-Mercator
Axis Info [cartesian]:
- X[east]: Easting (metre)
- Y[north]: Northing (metre)
Area of Use:
- name: World - 85°S to 85°N
- bounds: (-180.0, -85.06, 180.0, 85.06)
Coordinate Operation:
- name: Popular Visualisation Pseudo-Mercator
- method: Popular Visualisation Pseudo Mercator
Datum: World Geodetic System 1984
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从点制作 geopandas 数据框,然后投影 gpd,出现错误:无法转换朴素几何图形。请先在对象上设置一个crs 的相关文章

  • 使用 Cartopy 合并国家/地区

    我正在使用以下代码制作一张瑞典 挪威和芬兰作为一个区域的地图 然而 我正在为此挣扎 我正在关注这个示例 Python Mapping in Matplotlib Cartopy Color One Country from shapely
  • Folium 中的 HeatMapWithTime 插件

    我能够创建热图 但点未显示 import folium import folium plugins as plugins import numpy as np import pandas as pd import geopandas as
  • 如何确定 matplotlib 轴对象的投影(2D 或 3D)?

    在 Python 的 matplotlib 库中 很容易在创建时指定坐标区对象的投影 import matplotlib pyplot as plt from mpl toolkits mplot3d import Axes3D ax pl
  • 使用Geopandas,如何通过采样方法在每个多边形中随机选择5个点

    我想根据随机采样方法在每个多边形中选择 5 个点 每个多边形中需要 5 个点坐标 纬度 经度 来识别种植的是哪种作物 使用 geopandas 有什么想法吗 非常感谢 我的建议包括对形状边界框内的随机 x 和 y 坐标进行采样 然后检查采样
  • 图像坐标到世界坐标opencv

    我使用 opencv 校准了我的单色相机 现在我知道相机的相机固有矩阵和畸变系数 K1 K2 P1 P2 K3 K4 K5 K6 假设相机位于 x y z 位置并进行 Roll Pitch Yaw 旋转 当相机看着地板 z 0 时 如何获取
  • GeoPandas 中的格式/圆形数字图例标签

    我正在寻找一种方法来格式化 舍入这些地图中的数字图例标签 plot GeoPandas 中的函数 例如 gdf plot column pop2010 scheme QUANTILES k 4 这给了我一个有很多小数位的图例 我希望图例标签
  • 如何设置QGraphicsScene/View到特定的坐标系

    我想在a中绘制多边形QGraphicsScene但多边形具有纬度 经度位置 在等距柱状投影中 坐标来自 90 180 gt 180 90 我怎样才能设置QGraphicsScene QGraphicsView这样的预测 非常感谢 Carlo
  • 将点投影到平面上的投影矩阵

    如何确定 4x4S矩阵 以便 P 在 XZ Y 0 平面上投影到 Q 中 Q S P 射线有坐标r t L t P L 这是组件形式 r x L x t P x L x r y L y t P y L y r z L z t P z L z
  • 使用 linq 解析样式属性集合

    我想解析 SVG 样式属性 它只是一个分隔字符串 例如 填充 e2b126 描边 010101 描边宽度 0 3177 描边斜接限制 10 into a Dictionary
  • Geopandas PostGIS 连接

    我最近开始在 python 中使用 Geopandas 进行一些空间工作 并且对此非常满意 我目前正在尝试阅读 PostGIS 功能 但不太了解如何参数化数据库连接 而且似乎不清楚在文档中 GeoDataFrame from postgis
  • Conda 包冲突,Geopandas

    在通过 conda forge 命令在终端中失败后 尝试在我的环境中安装 geopandas 时 我收到以下错误 有没有办法更新和修复这个问题 Output in format Requested package gt Available
  • 虚线等值线地图箱图中的选择行为

    我正在尝试修改 Plotly Dash Choropleth Mapbox 图的标准选择行为 默认行为是 经典 的 Shift 选择进行多选 按住 Shift 并单击 套索选择 每个新选择都会添加到选择池中 当不再按下 Shift 键时 任
  • Cesium JS 椭球切平面计算

    Problem 我对铯如何计算大地测量和地心表面法线有点困惑 根据计算法线生成的平面实际上并不与给定点的椭球面相切 而且 根据大地表面法线创建的平面与根据地心表面法线生成的平面完全相同 示例以及为什么我需要这个 In this 沙堡 htt
  • 使用 GeoPandas 将点几何图形转换为线串

    我有一个地理数据框gdf看起来像这样 longitude latitude geometry 8628 4 890683 52 372383 POINT 4 89068 52 37238 8629 4 890500 52 371433 PO
  • 将 GeoDataFrame 多边形转换为 kml 文件

    我有一个 geopandas GeoDataFrame 其中包含各种多边形和颜色 我用它来绘制气象数据 我问的另一个问题here https stackoverflow com questions 35516318 plot colored
  • matplotlib:半球/楔形的自定义投影

    我正在看定制投影 http matplotlib sourceforge net examples api custom projection example htmlmatplotlib 库中的示例 我正在尝试修改它以仅绘制南半球 我已将
  • 使用相机将 3D 透视投影到 2D 屏幕上的基本渲染(无需 opengl)

    假设我有一个如下的数据结构 Camera double x y z ideally the camera angle is positioned to aim at the 0 0 0 point double angleX angleY
  • 投影 - 将 3d 转换为 2d

    我有问题或者很好 我不知道如何将具有 x y z 值的 3d 点转换为 2d 点 我必须绘制投影 其中我确实有点的 x y z 值 但我不知道如何将它们转换为 2d 以便我可以将它们移动到我的轴上 我一直在浏览维基和谷歌 但是我不太确定应该
  • 从点制作 geopandas 数据框,然后投影 gpd,出现错误:无法转换朴素几何图形。请先在对象上设置一个crs

    我将带有纬度 经度的数据集转换为 geopandas 数据框 我们称之为 gpd gpd 没有 CRS 我试图使用以下命令将此 gpd 投影到 EPSG 3857 gpd gpd to crs EPSG 3857 我收到一条错误消息 无法转
  • 如何使用 rgdal 包将 NAD 83 坐标转换为纬度和经度?

    我有坐标 所有这些都应该位于 DC 但我不知道如何将它们从 NAD 83 转换为 R 中的纬度和经度 我正在使用spTransform rgdal 包中的函数并收到有关不合格数据的错误 library rgdal nad83 coords

随机推荐

  • iOS 8 中的嵌套 UICollectionViews、自动布局和旋转

    我开始在一个大型项目中使用 AutoLayout 并对它感到非常惊讶 但是 现在我必须调整项目以适应旋转和尺寸类别 并且我在让视图正确运行方面遇到了很大的麻烦 基本问题是我有UICollectionViews with 再次包含 UICol
  • JS 数组显示的用户个人资料图片不正确 - 如何解决此问题?

    抱歉 这篇文章很长 但我不确定如果没有所有代码 问题是否会出现 我正在使用 parse com 和 JavaScript SDK 下面的代码是我的用户个人资料页面的一部分 它在屏幕上向他们显示他们的个人资料图片并允许他们更改它 更改个人资料
  • WatiN UnauthorizedAccessException 错误

    使用 NUnit 和 WatiN 运行任何测试时 我收到 UnauthorizedAccessException 错误 Test Test IndexTests Can Do failed WatiN Core Exceptions Ele
  • 禁用/启用 div 中的所有元素[重复]

    这个问题在这里已经有答案了 如何快速禁用 启用任何 div 中的所有元素 输入 链接和 jQ 按钮 链接没有 禁用 属性 因此您必须更加努力 my div find input prop disabled true my div a cli
  • 在 SQL-CLR 触发器或存储过程中创建套接字

    我在 SQL Server 2008 中有一个 SQL CLR 触发器 它向套接字服务器发送消息 它工作正常 但我需要 TCP 客户端保持与其通信的服务器的连接 为了做到这一点 我必须创建一些保持活动状态的线程 因此 我创建了一个线程 将消
  • 在 Puppeteer 中连接浏览器

    是否可以将浏览器连接到 puppeteer 而无需在 puppeteer 中实例化它 例如 像普通用户一样运行 chromium 实例 然后将其连接到代码中的 puppeteer 实例 答案是 是 和 否 您可以使用以下方式连接到现有的co
  • 选中复选框并存储在数组中 javascript

    任何人都可以告诉我如何检查并将复选框选中的值添加到数组中 单击时获取选中的值并将其存储在 JavaScript 中的数组中 这是我的代码 function ajax city var xmlhttp try xmlhttp new XMLH
  • jQuery 动画数字计数器从零到值

    我创建了一个脚本来将数字从零动画化到它的值 Working jQuery Counter 0 animate Counter Single text duration 1000 easing swing step function Sing
  • 如何禁用 EditText 中的 SwiftKey(第三方键盘)行为?

    我在 Android 应用程序中使用标准的 EditText 控件 此 EditText 的输入只能从应用程序的内置键盘插入 When SwiftKey 第三方键盘应用程序 安装在设备上 它会导致奇怪的行为 例如光标跳动 并在某些文本下方添
  • Windows 自动化 telnet

    我想运行一组通常在 telnet 中运行的命令 来自 c 例如我想运行以下命令 using System using System Diagnostics namespace InteractWithConsoleApp class Pro
  • 隐藏在ios 9中的附件栏

    嗨有人可以帮我吗 我想在 ios 9 中隐藏键盘上的附件栏 它的工作发现直到 ios 8 但在 ios 9 我无法隐藏附件栏我厌倦了这段代码但它不工作 for UIView possibleFormView in keyboardWindo
  • 外部 API 的 CORS 问题 - 通过 PostMan 工作,但不能使用 Axios 进行 HTTP 请求 [重复]

    这个问题在这里已经有答案了 正在开发一个涉及汽车数据的新 Laravel 项目 并找到了一个免费的查找 API http www carqueryapi com documentation api usage 一个示例端点是 https w
  • 发送和接收短信以验证手机号码

    我正在尝试在不使用第三方的情况下进行手机号码验证 为此 我的逻辑是这样的 用户输入带有国家 地区代码的手机号码 当他们点击验证按钮时 意图将使用随机唯一 ID 向用户定义的手机号码发送一条短信 之后应用程序广播将等待 2 分钟 当它收到短信
  • Android 中的 Javascript“document.cookie”?

    我需要帮助如何正确使用 javascript 文档 cookie 或者 如何在 Android 网络浏览器中从 javascript 编写 cookie 我已确保在设置中启用了 cookie 当我检查时 通过使用 navigator coo
  • 是否可以在不使用 WMI 的情况下获取网络适配器的 PnPDeviceId?

    我一直在尝试使用 p invoke setupapi 调用获取给定网络适配器的 PnPDeviceId 但没有成功 我不情愿地决定使用 WMI 如下所示 public static string GetPnpDeviceId string
  • 汉明窗有什么用?

    我正在使用一些执行傅里叶变换的代码 以计算音频样本的倒谱 在计算傅里叶变换之前 它会对样本应用汉明窗 for int i 0 i lt SEGMENTATION LENGTH i timeDomain i float 0 53836 0 4
  • 有时 listView.getChildAt(int index) 返回 NULL (Android)

    我有一个带有自定义适配器的 listView 当发生某些事情 在子视图中单击 时 我会进行一些计算并修改子视图 如果满足某些条件 则应修改与单击的子项无关的其他子项 这有时有效 但有时失败 DDMS 说视图为空 让我向您展示代码 if in
  • 使用 AJAX/jQuery 加载页面和 History.pushState() 方法保留浏览器“后退”按钮功能

    我想在通过 AJAX jQuery 加载页面时保留后退按钮功能load方法 并通过将 URL 推送到浏览器栏history pushState方法 当单击浏览器后退按钮并且第一次单击仅恢复上一个 URL 但不加载上一个页面时 就会出现此问题
  • Extjs + D3:渲染冲突

    当我结合 Extjs 和 D3 时 我正在挖掘一些非常有趣的东西 一般来说 ExtJS渲染整个页面的主框架 D3渲染该框架中某个div的动态图 由于Extjs中的渲染逻辑相当复杂 因此我放置D3渲染逻辑的位置似乎至关重要 这里我尝试了两种
  • 从点制作 geopandas 数据框,然后投影 gpd,出现错误:无法转换朴素几何图形。请先在对象上设置一个crs

    我将带有纬度 经度的数据集转换为 geopandas 数据框 我们称之为 gpd gpd 没有 CRS 我试图使用以下命令将此 gpd 投影到 EPSG 3857 gpd gpd to crs EPSG 3857 我收到一条错误消息 无法转