我有下面的代码。它将一个CSV文件加载到内存中。这个文件包含不同多边形的坐标。这个文件的每一行都有X,Y坐标和一个字符串,它告诉这个数据点属于哪个多边形。在MATLAB中同时绘制和填充不同的多边形
Poly1,X1,Y1 Poly1,X2,Y2 ... Poly1,X100,Y100 Poly2,X1,Y1 .....
的index.csv文件具有数据点(行数)的数量为在文件Polygons.csv每个多边形:例如名为“POLY 1”与100个数据点polygone在此文件等具有100行。这些细节并不重要。问题是: 我可以使用下面的代码成功提取每个多边形的数据点。 但是,当我绘制不同多边形的线相互连接并且情节看起来很糟糕。我需要将多边形分开(它们连接并重叠某些区域)。我认为通过使用“填充”我可以更好地看到它们。但是“填充”只是填充它可以找到的每个多边形,这是不可取的。我只想填充多边形内部。有人能帮我吗?如果有必要,我还可以向您发送我的数据点,它们小于200Kb。 感谢
[coordinates,routeNames,polygonData] = xlsread('Polygons.csv');
index = dlmread('Index.csv');
firstPointer = 0
lastPointer = index(1)
for Counter=2:size(index)
firstPointer = firstPointer + index(Counter) + 1
hold on
plot(coordinates(firstPointer:lastPointer,2),coordinates(firstPointer:lastPointer,1),'r-')
lastPointer = lastPointer + index(Counter)
end
我收到此错误: ???对于'cell'类型的输入参数,未定义的函数或方法'eq'。 错误==> testPoly at 4 polyIndex = routeNames == polyName; %#查找多边形点的索引 – Hossein 2010-05-31 21:31:12
尝试'ismember(routeNames,polyName)'而不是.. – Amro 2010-05-31 21:48:53
@Amro:谢谢。我输入它太快,错过了。 ;)它现在应该工作。 – gnovice 2010-05-31 22:43:04