一种适用于多投影遥感影像的海岸线数据快速自动叠加方法与流程

文档序号:11135354阅读:628来源:国知局
一种适用于多投影遥感影像的海岸线数据快速自动叠加方法与制造工艺

本发明属于遥感图像分析领域,涉及了一种适用于多投影遥感影像的海岸线数据快速自动叠加方法。



背景技术:

海岸线数据是遥感图像处理领域中非常重要的基础数据。海岸线数据在遥感图像分割、近海岸地物识别、海上船只检测等诸多领域有着至关重要的作用。

然而,传统的海岸线数据具有数据规模大、投影单一的特点。无法满足各种投影的遥感影像数据处理及显示要求。而传统处理此问题的方法是将海岸线数据人工进行投影转换,再进行叠加显示。可以发现,传统方法不仅消耗时间长,且处理方法不能满足其他投影的遥感数据的需求。并且,遥感影像通常只涉及到部分的海岸线,传统全部加载海岸线的方式存在加载速度过慢、浏览显示存在卡顿现象等不足。

因此,如何针对不同投影的遥感图像数据快速的、自动的叠加海岸线数据,对遥感图像处理与分析领域有着至关重要的作用。

SHAPELIB是针对矢量文件进行读取、写入等操作的开源库。GDAL是一个转换各种栅格数据格式的库,包括读取、写入、转换、处理各种栅格数据格式。利用GDAL和SHAPELIB库能够方便的进行遥感影像数据、海岸线数据的读取。



技术实现要素:

本发明的目的是克服现有技术的不足,提出一种适用于多投影遥感影像的海岸线数据快速自动叠加方法。

适用于多投影遥感影像的海岸线数据快速自动叠加方法,包括如下步骤:

1)读取遥感图像中的投影坐标系、左上角坐标、分辨率、遥感图像宽度、遥感图像高度5个参数;

2)根据步骤1)得到的参数计算遥感影像范围矩阵的左上角和右下角坐标;

3)对步骤2)得到的范围矩阵进行扩充,使其宽度、高度均为1000的整数倍,接着对扩充后的范围建立内存格网索引;

4)判断海岸线文件和遥感图像文件的投影坐标系是否一致;

5)如果海岸线文件和遥感图像文件的投影坐标系不一致,则需要将步骤3)得到格网矩阵坐标进行投影转换,得到与海岸线坐标一致的矩阵坐标,如果一致,则进行步骤6);

6)利用SHAPELIB获取每个格网中的海岸线对象;

7)如果海岸线文件和遥感图像文件的投影坐标系不一致,则将步骤5)中获取到的对象也进行投影转换,使对象的坐标与遥感图像文件中的坐标系一致,否则进行步骤8);

8)根据遥感影像当前显示大小,从内存索引中实时获取显示对象,并将获取到的对象进行绘制。

上述方案中,各步骤可采用如下优选方式:

所述步骤2)中计算公式为:

xmin=xlt-width*xres (1)

ymin=ylt-height*yres (2)

xmax=xlt+width*xres (3)

ymax=ylt+height*yres (4)

其中,(xlt,ylt)是遥感图像左上角的坐标,width是遥感图像的宽度,height代表遥感图像的高度,xres是遥感图像的横向分辨率,yres是遥感图像的纵向分辨率;(xmin,ymin)代表当前显示范围的左上角坐标,(xmax,ymax)代表当前显示范围的右下角坐标。

所述的步骤3)中内存格网索引为一个包含数据对象、格网范围、是否有数据的标识的一系列对象,其具体建立方式为:将显示范围矩阵划分为多个1000x1000的格网,并利用SHAPELIB开源库获取每个格网中的海岸线对象,并在海岸线对象填充的过程中标识该格网是否包含海岸线。

所述步骤4)中的判断遥感图像和海岸线文件的投影是否一致,其判断方法为:

abs(ffalse_easting-ff'alse_easting)<0.0001 (5)

abs(ffalse_northing-ff'alse_northing)<0.0001 (6)

abs(fscale_factor-fs'cale_factor)<0.0001 (7)

abs(fcentral_meridian-fc'entral_meridian)<0.0001 (8)

abs(flatitude_origin-fl'atitude_origin)<0.0001 (9)

其中,abs是绝对值函数,ffalse_easting和f'false_easting分别代表遥感图像投影坐标系和海岸线投影坐标的东伪偏移,ffalse_northing和f'false_northing分别代表遥感图像投影坐标系和海岸线投影坐标的北伪偏移,fscale_factor和f'scale_factor分别代表遥感图像投影坐标系和海岸线投影坐标的比例因子,fcentral_meridian和f'central_meridian分别代表遥感图像投影坐标系和海岸线投影坐标的中央经线,flatitude_origin和f'latitude_origin分别代表遥感图像投影坐标系和海岸线投影坐标的起始原点;

当遥感图像坐标系和海岸线坐标系均满足式5)至式9)时,则认为两者坐标系一致,否则判定为不一致。

所述的步骤5)的实现方式为:建立坐标原始坐标系统、建立目标坐标系统,并利用ProjNet开源库,实现坐标从原始坐标系统到目标坐标系统的转换。

所述的步骤8)中实时获取显示对象的方法为:将当前遥感影像显示范围矩阵与格网求交,绘制与其有交集的格网数据;获取遥感影像当前显示范围的公式如下:

xmin=xlt-width*xres*ratio (11)

ymin=ylt-height*yres*ratio (12)

xmax=xlt+width*xres*ratio (13)

ymax=ylt+height*yres*ratio (14)

其中,(xlt,ylt)是遥感图像左上角的坐标,width是遥感图像的宽度,height代表遥感图像的高度,xres是遥感图像的横向分辨率,yres是遥感图像的纵向分辨率,ratio代表当前遥感图像的缩放因子;(xmin,ymin)代表当前显示范围的左上角坐标,(xmax,ymax)代表当前显示范围的右下角坐标。

本发明能够使用一套海岸线数据满足不同投影坐标系的遥感影像数据海岸线叠加需求。同时,提出了内存格网索引,能够满足以最小的内存耗费满足遥感影像范围内的海岸线快速叠加显示。

附图说明

图1为海岸线格网索引构建及查询图。

图2为提取到的海岸线。

具体实施方式

下面结合附图和实施例对本发明做进一步说明。

以某沿海地区遥感影像为基础,采用本发明方法进行海岸线数据的快速自动叠加,方法包括如下步骤:

1)读取遥感图像中的投影坐标系、左上角坐标、分辨率、遥感图像宽度、遥感图像高度5个参数;

2)根据步骤1)得到的参数计算遥感影像范围矩阵的左上角和右下角坐标;其计算公式为:

xmin=xlt-width*xres (1)

ymin=ylt-height*yres (2)

xmax=xlt+width*xres (3)

ymax=ylt+height*yres (4)

其中,(xlt,ylt)是遥感图像左上角的坐标,width是遥感图像的宽度,height代表遥感图像的高度,xres是遥感图像的横向分辨率,yres是遥感图像的纵向分辨率。(xmin,ymin)代表当前显示范围的左上角坐标,(xmax,ymax)代表当前显示范围的右下角坐标。

3)对步骤2)得到的范围矩阵进行扩充,使其宽度、高度均为1000的整数倍,接着对扩充后的范围建立内存格网索引,并获取每个格网中的海岸线对象。内存格网索引是一个包含数据对象、格网范围、是否有数据的标识的一系列对象,其具体建立方式为,将显示范围矩阵划分为多个1000x1000的格网,并利用SHAPELIB开源库获取每个格网中的海岸线对象,并在海岸线对象填充的过程中标识该格网是否包含海岸线。

4)判断海岸线文件和遥感图像文件的投影坐标系是否一致;其判断方法为:

abs(ffalse_easting-f'false_easting)<0.0001 (5)

abs(ffalse_northing-f'false_northing)<0.0001 (6)

abs(fscale_factor-f'scale_factor)<0.0001 (7)

abs(fcentral_meridian-f'central_meridian)<0.0001 (8)

abs(flatitude_origin-f'latitude_origin)<0.0001 (9)

其中,abs是绝对值函数,ffalse_easting和f'false_easting分别代表遥感图像投影坐标系和海岸线投影坐标的东伪偏移,ffalse_northing和f'false_northing分别代表遥感图像投影坐标系和海岸线投影坐标的北伪偏移,fscale_factor和f'scale_factor分别代表遥感图像投影坐标系和海岸线投影坐标的比例因子,fcentral_meridian和f'central_meridian分别代表遥感图像投影坐标系和海岸线投影坐标的中央经线,flatitude_origin和f'latitude_origin分别代表遥感图像投影坐标系和海岸线投影坐标的起始原点。当遥感图像坐标系和海岸线坐标系均满足式5)至式9)时,则认为两者坐标系一致,否则判定为不一致。

5)如果海岸线文件和遥感图像文件的投影坐标系不一致,则需要将步骤3)得到格网矩阵坐标进行投影转换,得到与海岸线坐标一致的矩阵坐标,如果一致,则进行步骤6)。对范围矩阵进行投影坐标转换的具体实现方式为:建立坐标原始坐标系统、建立目标坐标系统,并利用ProjNet开源库,实现坐标从原始坐标系统到目标坐标系统的转换。

6)利用SHAPELIB获取每个格网中的海岸线对象。

7)如果海岸线文件和遥感图像文件的投影坐标系不一致,则将步骤5)中获取到的对象也进行投影转换,使对象的坐标与遥感图像文件中的坐标系一致,否则进行步骤8)。

8)根据遥感影像当前显示大小,从内存索引中实时获取显示对象,并将获取到的对象进行绘制;其实时获取显示对象的方法为:将当前遥感影像显示范围矩阵与格网求交,绘制与其有交集的格网数据;获取遥感影像当前显示范围的公式如下:

xmin=xlt-width*xres*ratio (11)

ymin=ylt-height*yres*ratio (12)

xmax=xlt+width*xres*ratio (13)

ymax=ylt+height*yres*ratio (14)

其中,(xlt,ylt)是遥感图像左上角的坐标,width是遥感图像的宽度,height代表遥感图像的高度,xres是遥感图像的横向分辨率,yres是遥感图像的纵向分辨率,ratio代表当前遥感图像的缩放因子。(xmin,ymin)代表当前显示范围的左上角坐标,(xmax,ymax)代表当前显示范围的右下角坐标。

图1展示了采用上述方法在遥感影像上加载海岸线数据。为了验证本发明的有效性,本文采用ARCGIS软件对不同投影的遥感影像数据进行海岸线叠加显示,具体显示结果如表1。

表1

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1