MATLAB-利用shp文件白化地图

本质上是用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; %绘制一级河流

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容