使用OGR和Shapely更有效吗?[关闭]
我正在寻找有关如何提高我的python代码效率的一些建议。通常,效率对我来说并不重要,但是我现在正在处理一个美国地点超过150万点的文本文件。使用给定的设置,在一点上运行操作大约需要5秒钟;我需要把这个数字降下来。 我正在使用三个不同的python GIS软件包对这些点进行一些不同的操作,并输出一个新的带分隔符的文本文件。 我使用OGR读取县边界shapefile并访问边界几何。 匀称检查某个点是否在这些县中的任何一个县内。 如果在1之内,则使用Python Shapefile库从边界.dbf中提取属性信息。 然后,我将两个来源的一些信息写入文本文件。 我怀疑效率低下在于存在2-3层的循环...不太清楚该怎么做。我特别希望与有经验的人一起使用这3个软件包中的任何一个,因为这是我第一次使用它们。 import os, csv from shapely.geometry import Point from shapely.geometry import Polygon from shapely.wkb import loads from osgeo import ogr import shapefile pointFile = "C:\\NSF_Stuff\\NLTK_Scripts\\Gazetteer_New\\NationalFile_20110404.txt" shapeFolder = "C:\NSF_Stuff\NLTK_Scripts\Gazetteer_New" #historicBounds = "C:\\NSF_Stuff\\NLTK_Scripts\\Gazetteer_New\\US_Counties_1860s_NAD" historicBounds = "US_Counties_1860s_NAD" writeFile = "C:\\NSF_Stuff\\NLTK_Scripts\\Gazetteer_New\\NewNational_Gazet.txt" #opens the point file, reads …