我有大约一百万行带有经纬度的数据,并且还会有更多数据。即使现在从 SQLite 文件读取数据(我用 pandas 读取它,然后为每一行创建一个点)也需要很多时间。
现在,我需要在这些点上建立一个空间联合,以获得每个点的邮政编码,我真的很想优化这个过程。
所以我想知道:是否有任何相对简单的方法来并行化这些计算?
最佳答案
我假设您已经实现了 GeoPandas 但仍然遇到困难?
您可以通过进一步散列坐标数据来改进这一点。类似于谷歌如何散列其搜索数据。一些数据库已经提供对这些类型的操作的支持(例如mongodb)。想象一下,如果您获取坐标的第一个(左侧)数字,并将每组对应的数据放入单独的 sqlite 文件中。每个数字都可以是指向要查找的正确文件的哈希值。现在,假设您的哈希查找相比之下花费的时间最少,您的查找时间已缩短了 20 倍 (range(-9,10)
)
关于python - geopandas 的最快方法(读取和空间连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35581528/