我有類似下面的許多部分文件:如何將文件讀取爲多個多邊形的嵌套座標列表?
[40.742742,-73.993847]
[40.739389,-73.985667]
[40.74715499999999,-73.97992]
[40.750573,-73.988415]
[40.742742,-73.993847]
[40.734706,-73.991915]
[40.736917,-73.990263]
[40.736104,-73.98846]
[40.740315,-73.985263]
[40.74364800000001,-73.993353]
[40.73729099999999,-73.997988]
[40.734706,-73.991915]
[40.729226,-74.003463]
[40.7214529,-74.006038]
[40.717745,-74.000389]
[40.722299,-73.996634]
[40.725291,-73.994413]
[40.729226,-74.003463]
[40.754604,-74.007836]
[40.751289,-74.000649]
[40.7547179,-73.9983309]
[40.75779,-74.0054339]
[40.754604,-74.007836]
我需要在每一部分作爲對座標列表的閱讀(每區一個額外的\n
分隔)。
在一個類似的文件我有(除相同,沒有額外的換行符休息),我繪製一條從整個文件一個多邊形。我可以使用下面的代碼中的座標讀取和matplotlib繪製:
mVerts = []
with open('Manhattan_Coords.txt') as f:
for line in f:
pair = [float(s) for s in line.strip()[1:-1].split(", ")]
mVerts.append(pair)
plt.plot(*zip(*mVerts))
plt.show()
我怎麼能完成同樣的任務,除了有許多超過1個多邊形,在我的文件中的每個多邊形通過一個額外的換行分隔?
爲什麼換行relavent?表單是'[#,#]'。你的意思是可能有'[#,#] [#,#] [#,#] \ n'這3個座標與其他座標分開嗎? – sln 2014-09-20 23:17:00
[#,#] \ n [#,#] \ n。 。 。 \ n [#,#] \ n \ n是一個多邊形,在換行之前有任意給定的座標數 – jqwerty 2014-09-20 23:18:34
那麼你可以將每行解析爲一個字符串,然後建立一個正則表達式來查找每一對。這是否是你有麻煩的正則表達式,比如去除裝飾'[,]'? – sln 2014-09-20 23:22:13