法律状态公告日
法律状态信息
法律状态
2022-10-21
未缴年费专利权终止 IPC(主分类):G01B 7/16 专利号:ZL2016109758593 申请日:20161107 授权公告日:20190723
专利权的终止
2019-07-23
授权
授权
2017-05-17
实质审查的生效 IPC(主分类):G01B7/16 申请日:20161107
实质审查的生效
2017-04-19
公开
公开
技术领域
本发明属于专题制图领域,具体涉及一种基于ArcEngine的构造大地测量成图方法及系统。
背景技术
在科学研究中分析结果的表达相当重要,结果表达的正确清楚与否直接影响读者对于分析结果的理解。通常情况下,地理图是地学工作者表达结果的重要方式,通过地图表达读者可以直观了解结果并进行主观评估。在构造大地测量学中,如何正确、生动、美观地表达构造地貌、形变场和震源机制解信息,是地学学者在科研过程中不可避免且具有重要意义的工作。
地学研究中常采用GMT(Generic Mapping tools)软件绘制各类地图,GMT是一个被地理学界广泛使用的绘图工具,可以绘制海岸线、国界、河流作为底图,调用资料库中的地理信息,表达用户输入的各种参数,比如颜色配置、边框文字配置,并结合科研表达的结果,如经度、纬度、形变大小,生成ps格式的地图文件。然而,GMT是个命令行工具,无法可视化绘图过程,用户很难做到一次性成图。为了获取理想的输出成图,用户通常需要多次调整绘图参数,时间成本较高。另外,GMT作为命令行工具,其学习成本高于可视化绘图工具。
发明内容
本发明要解决的技术问题是:提供一种基于ArcEngine的构造大地测量成图方法及系统,解决了GMT软件绘制构造地貌、形变场和震源机制解时无法可视化的问题。
本发明为解决上述技术问题所采取的技术方案为:一种基于ArcEngine的构造大地测量成图方法,其特征在于:它包括以下步骤:
构造地貌:借助ArcGIS图层功能,将构造所在区域的数字高程模型作为底图加载在地图上,用于表示构造地区的地貌;
绘制GPS形变场、水准形变场和震源机制解:
根据测站位置、水平形变值、水准形变值和形变中误差信息,于测站所在区域的数字高程模型上,使用ArcEngine调用三维地理信息系统可视化表达功能,在测站位置绘制GPS形变场和水准形变场;
根据震中位置、地震矩震级、两个P波初动节面的走向角、倾角和滑动角,于震中所在区域的数字高程模型上,使用ArcEngine调用三维地理信息系统可视化表达功能,在震中位置绘制震源机制解;
设置成图参数:
在绘制完成后,基于ArcGIS的布局视图,设置成图参数;
矢量输出成图。
按上述方法,它还包括以下步骤:
建立矢量图形库:
将绘制好的GPS形变场、水准形变场和震源机制解转换为矢量图形文件并存储;
所述的设置成图参数还包括:调用矢量图形库中的矢量图形文件,基于ArcGIS的布局视图,设置成图参数。
按上述方法,所述的GPS形变场和水准形变场的绘制包括以下步骤:
根据测站经纬度,确定水平形变或水准形变的起点;
在起点的经度方向和纬度方向分别加上两个方向上形变量与缩放因子之积,确定为水平形变的终点;在起点纬度方向加上水准形变量与缩放因子之积,确定为水准形变的终点;
使用ArcEngine的Polyline类组合水平形变的起点和终点、以及水准形变的起点和终点,并由制图线符号绘制用于表示形变的大小和方向的箭头,完成形变部分的绘制;
根据GPS测站经度向形变量和纬度向形变量的中误差及其相关系数,以水平形变终点作为误差椭圆中心,计算误差椭圆三要素:长轴、短轴和旋转角;然后使用ArcEngine的EllipticArc类构建缩放因子作用下的椭圆弧,并根据旋转角使用ITransform接口旋转椭圆弧;最后使用AddSegment方法转换得到大量椭圆点,以Polyline类连接椭圆点,完成GPS形变场误差椭圆的绘制;误差椭圆表示水平形变误差的大小;所述的缩放因子代表图形放大或缩小的程度,由用户设置。
按上述方法,所述的震源机制解的绘制包括以下步骤:
以地震矩震级乘以0.01倍的缩放因子,确定震源机制解的绘制半径;
以震中位置为圆心,震源机制解绘制半径为半径,使用ArcEngine中的ConstructCircle方法分别构建外圆圈和内圆圈,并借助Ring类填充外圆圈内部为白色;
将所述的两个P波初动节面记为节面1和节面2;
根据节面1的走向方位角,使用ArcEngine中的QueryPoint方法在内圆圈上寻找第一个走向圆弧的起点p1和终点p2,并以震源机制解绘制半径乘以节面1倾角的余弦值,得到第一个走向圆弧的弦高;根据起点p1、终点p2和弦高,使用ArcEngine中的ConstructEndPointChordHeight方法,在内圆圈内顺时针构建第一个走向圆弧,记为StrikeArc1;
根据节面2的走向方位角,使用ArcEngine中的QueryPoint方法在内圆圈上寻找第二个走向圆弧的起点p3和终点p4;在内圈圈上顺时针截取点p2到点p3的圆弧,记为Arc1,借助ICircularArc接口的IsMinor方法判断该圆弧是否为劣弧,若是则使用ICircularArc接口的Complement方法选取已有圆弧对应的另一部分弧段;此外,进一步判断节面1的滑动角是否为负,若是则继续选取已有圆弧对应的另一部分弧段,由此保证节面1滑动角为正时圆弧Arc1为优弧;
以震源机制解绘制半径乘以节面2倾角的余弦值,得到第二个走向圆弧的弦高,根据该走向圆弧的起点p3、终点p4和弦高,使用ArcEngine中的ConstructEndPointChordHeight方法,顺时针构建第二个走向圆弧,记为StrikeArc2;
在内圈圈上顺时针截取点p4到点p1的圆弧,记为Arc2,借助ICircularArc接口的IsMinor方法判断该圆弧是否为劣弧,若否则使用ICircularArc接口的Complement方法选取已有圆弧对应的另一部分弧段;
使用ArcEngine中的Ring类组合第一个走向圆弧StrikeArc1、圆弧Arc1、第二个走向圆弧StrikeArc2和、圆弧Arc2,并根据断层类型在构建的封闭区域内填充相应颜色。
按上述方法,所述的断层类型根据节面1滑动角的大小确定,当滑动角的绝对值小于等于45度或大于等于135度时,设定为走滑断层;当滑动角大于-135度并且小于-45度时,设定为正断层;当滑动角大于45度并且小于135度时,设定为逆冲断层。
按上述方法,所述的设置成图参数包括增加色带,用于在使用Polygon类在地图特定位置绘制的色带框中,借助PolygonElement类填充由GradientFillSymbol类构建的颜色带;颜色带的类型和颜色由用户设置。
按上述方法,所述的设置成图参数包括设置地图显示范围,由用户根据成图需要自行设置地图左上角点和右下角点的经纬度,确定地图显示范围。
一种基于ArcEngine的构造大地测量成图系统,其特征在于:它包括:
构造地貌模块,用于借助ArcGIS图层功能,将构造所在区域的数字高程模型作为底图加载在地图上,用于表示构造地区的地貌;
GPS形变场和水准形变场绘制模块,用于根据测站位置、水平形变值、水准形变值和形变中误差信息,于测站所在区域的数字高程模型上,使用ArcEngine调用三维地理信息系统可视化表达功能,在测站位置绘制GPS形变场和水准形变场;
震源机制解绘制模块,用于根据震中位置、地震矩震级、两个P波初动节面的走向角、倾角和滑动角,于震中所在区域的数字高程模型上,使用ArcEngine调用三维地理信息系统可视化表达功能,在震中位置绘制震源机制解;
成图参数设置模块,用于在绘制完成后,基于ArcGIS的布局视图,设置成图参数;
成图模块,用于在设置完成图参数后,矢量输出成图。
按上述系统,它还包括矢量图形库建立模块,用于将绘制好的GPS形变场、水准形变场和震源机制解转换为矢量图形文件并存储在矢量图形库中;
所述的参数设置模块还用于调用矢量图形库中的矢量图形文件,基于ArcGIS的布局视图,设置成图参数。
按上述系统,所述的参数设置模块还用于增加色带,在使用Polygon类在地图特定位置绘制的色带框中,借助PolygonElement类填充由GradientFillSymbol类构建的颜色带;颜色带的类型和颜色由用户设置。
本发明的有益效果为:
1、基于ArcEngine实现了构造大地测量成图的可视化:用户在绘制构造地貌、GPS形变场、水准形变场和震源机制解时,可以直接在地图上调整图形,避免了使用命令行反复调整参数,提高了绘图效率。
2、基于ArcEngine实现了构造大地测量成图的图层化:通过建立矢量图形库,将GPS形变场、水准形变场和震源机制解转换为矢量图形文件并存储,方便在ArcGIS中作为图层调用,在下一次绘图时只需要调用已有的矢量图形文件并设置一些绘制数据即可,无需二次绘制,进一步提高了绘图效率。
3、本发明的构造大地测量绘图操作更为简便直观。用户只需按格式准备数据文件,在交互界面中选择绘制数据,并设置少许必要参数后,即可快速获取高质量成图。
附图说明
图1为本发明一实施例的方法流程图。
图2为本发明一实施例的构造地貌的成图。
图3为本发明一实施例的GPS形变场的成图。
图4为本发明一实施例的水准形变场的成图。
图5为本发明一实施例的震源机制解的成图。
具体实施方式
下面结合具体实例和附图对本发明做进一步说明。
本发明提供一种基于ArcEngine的构造大地测量成图方法,如图1所示,它包括以下步骤:
S1、构造地貌:借助ArcGIS图层功能,将构造所在区域的数字高程模型作为底图加载在地图上,用于表示构造地区的地貌。
S2、绘制GPS形变场、水准形变场和震源机制解:
2.1、根据测站位置、水平形变值、水准形变值和形变中误差信息,于测站所在区域的数字高程模型上,使用ArcEngine调用三维地理信息系统可视化表达功能,在测站位置绘制GPS形变场和水准形变场。
GPS形变场和水准形变场的绘制包括以下步骤:
2.1.1、根据测站经纬度,确定水平形变或水准形变的起点;
2.1.2、在起点的经度方向和纬度方向分别加上两个方向上形变量与缩放因子之积,确定为水平形变的终点;在起点纬度方向加上水准形变量与缩放因子之积,确定为水准形变的终点;
2.1.3、使用ArcEngine的Polyline类组合水平形变的起点和终点、以及水准形变的起点和终点,并由制图线符号绘制用于表示形变的大小和方向的箭头,完成形变部分的绘制;
2.1.4、根据GPS测站经度向形变量和纬度向形变量的中误差及其相关系数,以水平形变终点作为误差椭圆中心,计算误差椭圆三要素:长轴、短轴和旋转角;然后使用ArcEngine的EllipticArc类构建缩放因子作用下的椭圆弧,并根据旋转角使用ITransform接口旋转椭圆弧;最后使用AddSegment方法转换得到大量椭圆点,以Polyline类连接椭圆点,完成GPS形变场误差椭圆的绘制;误差椭圆表示水平形变误差的大小;所述的缩放因子代表图形放大或缩小的程度,由用户设置。
2.2、根据震中位置、地震矩震级、两个P波初动节面的走向角、倾角和滑动角,于震中所在区域的数字高程模型上,使用ArcEngine调用三维地理信息系统可视化表达功能,在震中位置绘制震源机制解。
震源机制解的绘制包括以下步骤:
2.2.1、以地震矩震级乘以0.01倍的缩放因子,确定震源机制解的绘制半径;
2.2.2、以震中位置为圆心,震源机制解绘制半径为半径,使用ArcEngine中的ConstructCircle方法分别构建外圆圈和内圆圈,并借助Ring类填充外圆圈内部为白色;
将所述的两个P波初动节面记为节面1和节面2;
2.2.3、根据节面1的走向方位角,使用ArcEngine中的QueryPoint方法在内圆圈上寻找第一个走向圆弧的起点p1和终点p2,并以震源机制解绘制半径乘以节面1倾角的余弦值,得到第一个走向圆弧的弦高;根据起点p1、终点p2和弦高,使用ArcEngine中的ConstructEndPointChordHeight方法,在内圆圈内顺时针构建第一个走向圆弧,记为StrikeArc1;
2.2.4、根据节面2的走向方位角,使用ArcEngine中的QueryPoint方法在内圆圈上寻找第二个走向圆弧的起点p3和终点p4;在内圈圈上顺时针截取点p2到点p3的圆弧,记为Arc1,借助ICircularArc接口的IsMinor方法判断该圆弧是否为劣弧,若是则使用ICircularArc接口的Complement方法选取已有圆弧对应的另一部分弧段;此外,进一步判断节面1的滑动角是否为负,若是则继续选取已有圆弧对应的另一部分弧段,由此保证节面1滑动角为正时圆弧Arc1为优弧;
2.2.5、以震源机制解绘制半径乘以节面2倾角的余弦值,得到第二个走向圆弧的弦高,根据该走向圆弧的起点p3、终点p4和弦高,使用ArcEngine中的ConstructEndPointChordHeight方法,顺时针构建第二个走向圆弧,记为StrikeArc2;
2.2.6、在内圈圈上顺时针截取点p4到点p1的圆弧,记为Arc2,借助ICircularArc接口的IsMinor方法判断该圆弧是否为劣弧,若否则使用ICircularArc接口的Complement方法选取已有圆弧对应的另一部分弧段
2.2.7、使用ArcEngine中的Ring类组合第一个走向圆弧StrikeArc1、圆弧Arc1、第二个走向圆弧StrikeArc2和、圆弧Arc2,并根据断层类型在构建的封闭区域内填充相应颜色。其中,所述的断层类型根据节面1滑动角的大小确定,当滑动角的绝对值小于等于45度或大于等于135度时,设定为走滑断层;当滑动角大于-135度并且小于-45度时,设定为正断层;当滑动角大于45度并且小于135度时,设定为逆冲断层。
S3、设置成图参数:在绘制完成后,基于ArcGIS的布局视图,设置成图参数;
设置成图参数包括:1)增加色带,用于在使用Polygon类在地图特定位置绘制的色带框中,借助PolygonElement类填充由GradientFillSymbol类构建的颜色带;颜色带的类型和颜色由用户设置。2)设置地图显示范围,由用户根据成图需要自行设置地图左上角点和右下角点的经纬度,确定地图显示范围。
S4、矢量输出成图。
优选的,它还包括以下步骤:
建立矢量图形库:将绘制好的GPS形变场、水准形变场和震源机制解转换为矢量图形文件(.shp)并存储;shpfile字段包括ID、测站名“Name”、时间“Datetime”和几何形状“Shape”。
所述的设置成图参数还包括:调用矢量图形库中的矢量图形文件,基于ArcGIS的布局视图,设置成图参数。
一种基于ArcEngine的构造大地测量成图系统,它包括:
构造地貌模块,用于借助ArcGIS图层功能,将构造所在区域的数字高程模型作为底图加载在地图上,用于表示构造地区的地貌;
GPS形变场和水准形变场绘制模块,用于根据测站位置、水平形变值、水准形变值和形变中误差信息,于测站所在区域的数字高程模型上,使用ArcEngine调用三维地理信息系统可视化表达功能,在测站位置绘制GPS形变场和水准形变场;
震源机制解绘制模块,用于根据震中位置、地震矩震级、两个P波初动节面的走向角、倾角和滑动角,于震中所在区域的数字高程模型上,使用ArcEngine调用三维地理信息系统可视化表达功能,在震中位置绘制震源机制解;
成图参数设置模块,用于在绘制完成后,基于ArcGIS的布局视图,设置成图参数;
成图模块,用于在设置完成图参数后,矢量输出成图。
优选的,它还包括矢量图形库建立模块,用于将绘制好的GPS形变场、水准形变场和震源机制解转换为矢量图形文件并存储在矢量图形库中;
所述的参数设置模块还用于调用矢量图形库中的矢量图形文件,基于ArcGIS的布局视图,设置成图参数。
所述的参数设置模块还用于增加色带,在使用Polygon类在地图特定位置绘制的色带框中,借助PolygonElement类填充由GradientFillSymbol类构建的颜色带;颜色带的类型和颜色由用户设置。所述的参数设置模块还用于设置地图显示范围,由用户根据成图需要自行设置地图左上角点和右下角点的经纬度,确定地图显示范围。
下面以2015年Nepal地震为例,该地震发生在青藏高原和印度板块交界地区。
1、构造地貌的绘制成图
本绘图方法采用的坐标系统为WGS-84。在获取该区域的数字高程模型后,借助ArcGIS图层功能可以将其作为底图绘制在地图上,成图结果如图2所示。
2、GPS形变场的绘制成图
在示例区域解算GPS测站形变,将解算结果存储为.gps文件,为方便GPS形变场的绘制,自定义文件格式见表1,其中Site列为测站名,Long(deg)列为测站经度(单位为度),Lat(deg)列为测站纬度(单位为度),H(m)列为测站高度(单位为米),DisE(cm)列为东方向位移(单位为厘米),DisN(cm)列为北方向位移(单位为厘米),DisH(cm)列为垂直方向位移(单位为厘米),SigE(cm)列为东方向位移中误差(单位为厘米),SigN(cm)列为北方向位移中误差(单位为厘米),SigH(cm)列为垂直方向位移中误差(单位为厘米),Corr列为水平方向相关系数,Datetime列为测站观测时间(年/月/日,为方便显示,该列未列入表中)。表1同时给出用于GPS形变场绘制的实施例部分数据。
表1:实施例中GPS形变场绘制过程读取的部分形变数据
用户在GPS形变文件组织完成后,只需要在绘制GPS形变场对话框中选择该文件作为输入数据,并设定图形的缩放因子保证显示效果,点击“绘制”按钮即可使得程序执行技术方案中GPS形变场绘制的步骤。带有误差椭圆的矢量GPS形变场显示在数字高程模型底图上,输出成图如图3所示。
3、水准形变场的绘制成图
在示例区域解算测站水准形变,将解算结果存储为.lev文件,为方便水准形变场的绘制,自定义文件格式见表2,其中Site列为测站名,Long(deg)列为测站经度(单位为度),Lat(deg)列为测站纬度(单位为度),H(m)列为测站高度(单位为米),DisH(cm)列为垂直方向位移(单位为厘米),SigH(cm)列为垂直方向位移中误差(单位为厘米),Datetime列为测站观测时间(年/月/日)。表2同时给出用于水准形变场绘制的实施例部分数据。
表2:实施例中水准形变场绘制过程读取的部分形变数据
用户在水准形变文件组织完成后,只需要在绘制水准形变场对话框中选择该文件作为输入数据,并设定图形的缩放因子保证显示效果,点击“绘制”按钮即可使得程序执行技术方案中水准形变场绘制的步骤,由于水准形变场只表达于垂直方向,且不存在误差椭圆,因此其绘制过程相比GPS形变场的绘制更为简单。绘制完成后,水准形变场显示在数字高程模型底图上,输出成图如图4所示。
4、震源机制解的绘制成图
在示例区域解算震源机制解,将解算结果存储为.fms文件,为方便震源机制解的绘制,自定义文件格式见表4,其中Name列为地震名称,Long(deg)列为震中经度(单位为度),Depth(km)列为断层破裂深度(单位为千米),Mw列为地震矩震级,Strike1(deg)列为节面1的走向角(单位为度),Dip1(deg)列为节面1的倾角(单位为度),Rake1(deg)列为节面1的滑动角(单位为度),Strike2(deg)列为节面2的走向角(单位为度),Dip2(deg)列为节面2的倾角(单位为度),Rake2(deg)列为节面2的滑动角(单位为度),Datetime列为发震时间(年/月/日时:分:秒,为方便显示,该列未列入表中)。表3同时给出用于震源机制解绘制的实施例部分数据。
表3:实施例中震源机制解绘制过程读取的部分数据
用户在震源机制解文件组织完成后,需要在绘制震源机制解对话框中选择该文件作为输入数据,并设定图形的缩放因子保证显示效果,点击“绘制”按钮即可使得程序执行技术方案中震源机制解绘制的步骤。绘制过程中ICircularArc接口的Complement方法非常重要,它的功能是选取已有圆弧对应的另一部分弧段。借助该功能本方法保证了震源机制解中颜色填充的正确性,由此正确区分了压缩区和拉张区。另外,在绘图对话框中给出了用户断层类型选项:走滑断层、正断层和逆冲断层,用户可根据显示需求选择性绘制特定断层类型的震源机制解。本实施例中选择绘制所有断层类型的震源机制解,结果显示在数字高程模型底图上,输出成图如图5所示。
5、矢量图形文件的转换与存储
在绘制完成GPS形变场、水准形变场或震源机制解后,除了将其输出成图,还可以转换为矢量图形文件.shp并存储,方便后续工作的调用和即时修改。用户只需在矢量格式转换对话框中选择形变数据或震源机制解数据,并设置矢量文件输出路径,点击“转换”按钮即可完成转换和存储过程。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
机译: 基于使用总电台的参考点进行大地测量系统的大地测量系统
机译: 基于GPS的地面施工位置更新大地测量数据的大地测量测量系统
机译: 基于GPS的地面施工位置更新大地测量数据的大地测量测量系统