0

我将点 shapefile 读入 Fiona 集合。shapefile 包含 920 万个点。这些点包括文字地址和邮政编码。我有另一张桌子,里面有大约 500 万个地址。我想将点的坐标加入到这个表中。

我正在尝试将 Fiona 集合读入 Python 字典,如果某些记录不满足条件,则排除它们。我的处理器以 3.2Ghz 运行,我有 16Gb 的 RAM。阅读用了一个多小时。我猜结果字典太大而无用。按照我的方法:

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

总的来说,我想要的是用各自的坐标对地址表进行地理编码。有什么简单的方法可以做到这一点?

4

0 回答 0