地理编码:地址表:将菲奥娜集读入Python字典需要大量提姆

2024-05-16 22:55:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我把一个点形状的读物读入菲奥娜的集合中。shapefile包含920万个点。点包括文本地址和邮政编码。我还有一张桌子,有大约50万个地址。我想把这些点的坐标和这个表连接起来。在

我试图把菲奥娜集读入一个Python字典,如果不满足条件,就排除一些记录。我的处理器运行速度为3.2Ghz,内存为16Gb。阅读花了一个多小时。我想由此产生的词典太大了,用不上了。遵循我的方法:

import fiona
import numpy

fiona_collection = fiona.open('addresses_points.shp') #the points file has a lot of addresses, most of them are not interesting for me.
mycity_addresses = {}
mycity_postcodes = xrange(1000, 20001) #series of postcodes I do want to read
for i in fiona_collection:
    rec = fiona_collection.next()
    if int(rec['properties']['Postcode'][:4]) in mycity_postcodes:
        mycity_addresses[rec['id']] = rec

总的来说,我想要的是用相应的坐标对地址表进行地理编码。做这件事的简单方法是什么?在


Tags: of方法inimportforaddresses地址points