python - 数据集、连接、创建坐标和错误
问题描述
我正在尝试找到一种可以获取纬度和经度的方法,并将它们放入一个集合中,使其看起来像一个坐标,然后我可以将其插入以进行更多分析。我正在尝试连接,但它不会产生一对坐标。另一个问题是,在一种情况下,当我分别按此顺序需要它们时,我将纬度和经度翻转了。
import geopandas as gpd
fp = "/Users/nsnsksksks/Documents/nsnsnsns/NGGE6AFL.shp"
data = gpd.read_file(fp)
enugu = data.loc[data['ADM1FIPSNA'] == 'Enugu']
for var in enugu:
long = str(enugu.LONGNUM)
lat = str(enugu.LATNUM)
loc = lat + ', ' + long
print(loc)
解决方案
我不确定您到底想要什么作为输出(您提到了集合,但我不会将坐标保存在集合中,因为纬度和经度可能会混淆,您可能想确保知道什么是数字。如果你想了解更多关于集合的信息,你可以阅读https://realpython.com/python-sets),所以我制作了两个示例版本。
如果您只想要单独的字符串,例如“20.23425,14.14145”,那么:
for long, lat in zip(enugu.geometry.x, enugu.geometry.y):
coords = str(long) + ", " + str(lat)
#You can do something with your coords then..
如果你想要元组列表,那么:
coords = []
for long, lat in zip(enugu.geometry.x, enugu.geometry.y):
coords.append((long, lat))
这个结果将是:[ (12.2134, 12.1452), (34.2524, 21.1201), ... ]
您可以轻松地将此代码调整为您可能需要的任何数据结构,例如 2d numpy 数组等
推荐阅读
- c++ - `std::sample()` 的输出序列是否遵循输入序列的顺序?
- python-3.x - 使用快速排序对区间进行模糊排序
- mongodb - 更新 MongDB 中数组的最后一个元素
- docker - 使用端口 1376 启动 docker swarm 后,无法 docker init 或 docker leave
- python - 如何遍历城市列表以计算它们之间的距离
- macos - 为什么现在自制软件中没有很多不同公式的安装选项?
- css - 为什么 flex-item 的 z-index 不能与 Safari 中的“溢出:隐藏”一起使用?
- scala - 从scala中的字符串列表中使用自定义名称在循环中创建数据框
- node.js - 如何使用 Firebase 云功能向客户端(Swift)发送条带响应
- bash - 插入页面参数的 API 循环