需要帮助python地理空间脚本

时间:2015-02-21 00:15:45

标签: python

对此很新,很高兴来到这里。

我有一个我正在处理的python脚本,脚本的主要目的是从我的计算机上的.txt文件中获取一个城市列表,并让脚本吐出一个字典,其中键是城市名称并且值是作为点对象的位置。此外,我必须使用这个点对象字典和新文件位置,并将新值写入文本文件,其中包含行中的数据(字典中坐标旁边的城市名称)。

在过去的两周里,我确实花费了大约30个小时的时间,而且仍然没有运气让它完全发挥作用。现在,城市名称和坐标将打印在python shell中,只有城市名称将打印到文本文件中,但我无法将城市名称和坐标组合在一个字典中打印成一个文本文件。

我正在使用名为locations.pyc的python模块,此模块的目的是上网,访问Google服务器,然后引入与列表中的城市名称相关联的坐标。这些城市都在阿拉斯加州。

到目前为止这是脚本。

import location         # calls the location module in file


def getFileList(path):
    f = open(path, "r")
    f.readline()
    fileList = []       # removes column header
    for line in f:
        fileList.append(line.strip())
    f.close()
    return fileList


class Point:
    def __init__(self, x = 0, y = 0):
        self.x = float(x)
        self.y = float(y)


def makeCitiesDict(citiesList):
    CitiesDict = dict()
    for city in citiesList:
        loc = location.getaddresslocation(city)
        x = loc[0]
        y = loc[1]
        CitiesDict[city] = Point(x, y)

    return CitiesDict

def writeDictFile(aDict):
    txt_file = open(r"Alaska.txt",'w')
    txt_file.writelines(myCitiesDict)
    txt_file.close()

myCities = getFileList(r"cities_Small.txt")

myCitiesDict = makeCitiesDict(myCities)

print myCitiesDict

for key in myCitiesDict:
    point = myCitiesDict[key]
    print point.x,point.y

以下是我尝试使用的.txt城市列表的缩短版本。我不得不缩短它,因为谷歌每天只允许通过IP地址访问1,000个地点。

规范名称 安克雷奇,安克雷奇,阿拉斯加州,美国 安德森,阿拉斯加州,美国 安戈,阿拉斯加州,美国 Atqasuk,阿拉斯加州,美国 巴罗,阿拉斯加州,美国

非常感谢任何帮助!

埃里克

0 个答案:

没有答案