双重搜索geoJson的更有效方法,用于循环Python

时间:2018-06-25 13:14:17

标签: python-3.x for-loop geojson shapely.geometry

在geoJson文件中进行双循环搜索的最有效(或Python方式)是什么?

我想找到开始或结束坐标等于点坐标的线串。我的意思是,我需要首先遍历点文件,然后遍历线串文件,并在坐标相等的情况下将其转储到新的geojson文件中。

您可以在下面看到我的代码:

for j, feature2 in enumerate(nav['features']):
    if feature2['properties']['gp'] in ('RTE', 'RTB', 'RTA'):
        for i, feature in enumerate(tra['features']):                
            segment = LineString(
                [Point(feature['geometry']["coordinates"][0]), Point(feature['geometry']["coordinates"][1])])
            if Point(poi) != Point(segment.coords[0]) and Point(poi) != Point(segment.coords[1]):
                continue

之后,我会对这些点进行一些计算并将其转储到新文件中。

我的点文件包含〜10k和线串文件〜90k对象,现在处理需要一天以上的时间。 我发现similar topic,但对我来说似乎没有任何作用

我将感激任何有关如何更优雅,更有效地处理此问题的想法!

0 个答案:

没有答案