我正在尝试读取shapefile并使用matplotlib对其进行绘制。这是代码:
import matplotlib.pyplot as plt
import shapefile
shpFilePath = "D:\test.shp"
listx=[]
listy=[]
test = shapefile.Reader(shpFilePath)
for sr in test.shapeRecords():
for xNew,yNew in sr.shape.points:
listx.append(xNew)
listy.append(yNew)
plt.plot(listx,listy)
plt.show()
但是,我得到了连接多边形的线。如何绘制多边形,使它们成为shapefile中的方式。这是使用ArcGIS打开时的图和shapefile的屏幕截图。
不熟悉shapefile阅读器,但是我可以告诉您,您只是将文件中的所有点附加到一个大列表中,而没有将每个形状分成其组成部分。您需要向每个形状点附加形状的大列表
对。必须找到一种方法来分离形状。但这是我目前无法做到的。
—
statBeginner 2015年
@DanPatterson您可以指定在设法分离形状后如何在同一图形中绘制多个形状吗?如果我对每种形状都使用plt.plot(listx,listy),它每次都会不断生成新的图形,而不是使用相同的图形。
—
statBeginner 2015年