Matlab:矢量(X,Y)中的形状文件到光栅矩阵转换器

Matlab: Shape file in vector (X,Y) to raster matrix converter

我在将 X、Y 坐标为德国边界的形状文件转换为相同形状的光栅矩阵格式时遇到问题。我根本不知道在这种情况下使用哪种方法。如果有人能帮助我为这个应用程序找到正确的思维方式,我将不胜感激。

在MATLAB中可以很容易的得到。您需要在多边形中使用函数。此函数为您提供位于给定多边形内部和旁边的点的索引。一旦你知道了指数,你就可以得到你想要的。您可以查看以下演示:

x = [1 2 3 4 3 2]';
y = [4 5 5 4 3 3]';
k = boundary(x,y);
x0 = min(x) ; x1 = max(x) ;
y0 = min(y) ; y1 = max(y) ;
[X,Y] = meshgrid(linspace(x0,x1),linspace(y0,y1)) ;
idx = inpolygon(X(:),Y(:),x(k),y(k)) ;
X(~idx) = NaN ; 
Y(~idx) = NaN ;
plot(x,y,'.r')
hold on
patch(x(k),y(k),'k') ;
plot(X(idx),Y(idx),'.r')

只需将上面的 (x,y) 替换为您的形状文件坐标,您就会得到想要的。