本质上是用shp文件对范围以外的数据取空值,既可以用于绘图数据,也可用于河流地形等数据,仅需要提供一组经纬度
Example
% 安徽shp
region_ah = shaperead('S:\5.模式与编程学习\重要的画图数据\全国各省矢量图(全)-by 朱燕\anhui.shp');
% 河流文件
hyd2 = shaperead('S:\5.模式与编程学习\重要的画图数据\国家基础地理数据\hyd2_4m\hyd2_4l.shp');
hyd2_4lx=[hyd2(:).X];hyd2_4ly=[hyd2(:).Y];
% 利用安徽shp白化河流文件
inshp = inpolygon(hyd2_4lx,hyd2_4ly,region_ah.X,region_ah.Y);
hyd2_4lx = hyd2_4lx.*inshp;hyd2_4ly = hyd2_4ly.*inshp;
hyd2_4lx(hyd2_4lx==0) = nan;
hyd2_4ly(hyd2_4ly==0) = nan;
% 绘制地图
m_plot(region_ah.X,region_ah.Y,'Color', 'k' ,'LineWidth',2);hold on; %安徽省行政边界
m_plot(hyd2_4lx,hyd2_4ly,'color',[0.2 0.4 0.9],'LineWidth',1.5);hold on; %绘制一级河流