软件环境 SuperMapObjects .NET实现内容 在将经纬度的数据动态地添加到地图窗口中时,由于地图坐标系可能存在多种情况,针对坐标系的不同,如何实现动态数据能够与地图叠加显示呢?本文将介绍如何根据地图不同的坐标系,将经纬度的数据动态的添加在地图当中正确显示。背景介绍平面无投影:指物体在地图上没有对应的地理位置,一般用来作为与地理位置无关的数据的坐标参考,平面坐标系是一个二维坐标系,原点坐标为(0,0),数据中每一个点的坐标是由其距水平和垂直的X 轴和 Y轴的距离确定。具体坐标显示如图一,图一中是将经纬度坐标的数据显示在平面坐标系上的坐标显示,其经纬度的值被作为对象的X,Y坐标值显示:
地理坐标系:表示物体的确切地理位置,通过经纬度来描述其空间位置信息,通常的表现形式为经度值在±180°,纬度值在±90°。如图二所示:投影坐标系:地球椭球体表面是曲面,而地图通常要绘制在平面图纸上,因此制图时首先要把曲面展为平面。然而球面是个不可展的曲面,换句话说,就是把它直接展为平面时,不可能不发生破裂或褶皱。若用这种具有破裂或褶皱的平面绘制地图,显然是不实用的,所以必须采用特殊的方法将曲面展开,使其成为没有破裂或褶皱的平面,于是就出现了地图投影。常用的地图投影有高斯克吕格投影,阿尔伯斯投影,兰伯特投影,墨卡托投影等,坐标位数通常比较长,一般的坐标显示是:X为6 位,Y为7 位。如图三所示:
具体实现 由于有三种不同的坐标系统,因此,在将经纬度的地物添加到地图的时候,会分为平面坐标系,地理坐标系,投影坐标系三种情况。【情况一】 平面无投影:当地图是平面坐标系,添加的数据是地理坐标系时,会出现两种情况:一、添加的数据在地图范围内,可以正常的添加显示在地图中,其经纬度的值会作为点X,Y的坐标添加到地图当中,如图四所示:
二、添加的数据不在地图范围内,无确的添加在地图当中。这种情况下,地图的坐标系有两种可能,一:数据坐标没有意义,是错误值;二:地图坐标系非常大,且没有设置在正确坐标系。针对第一种情况,建议通过数据配准,更正错误数据,将其配准在正确的地理位置上;第二种情况,建议与数据提供方联系,设置正确坐标系后,动态添加经纬度点对象的方法类似【情况三】。
【情况二】地理坐标系当地图为地理坐标系,添加的数据也是地理坐标系时,如果数据在同一地理范围内,可以添加到地图窗口进行显示。如图五所示:
【情况三】投影坐标系当添加的地图坐标系为投影坐标系,数据的坐标系为地理坐标系时,数据无常显示,如图六。地理坐标系的显示方式和投影坐标系的显示方式是不同的,地理坐标系的显示方式是球面的显示方式,而投影坐标系的显示方式是平面的。因此,两个坐标系的对象不能同时显示在一个窗口中。 那么如何能将一个地理坐标系的对象显示在投影坐标的地图中呢?就需要将添加的对象进行投影转换,而后才可以将对象添加到正确的地理位置上。进行投影转换的方法为CoordSysTranslator类的三个静态方法Covert(),Forward(),Inverse(),三种方法分别是针对于不同的对象和坐标系而言的,本例中待转换的对象为二维点,转换的类型为将地理坐标系的数据转换到投影坐标系中,因此使用的方法是CoordSysTranslator.Forward()。假设以获取待添加的二维点集,为point2ds,并将具有目标投影的数据集添加到地图窗口中,为dataset。 投影转换的主要代码为:
Datasetdataset = mapControl.Map.Layers[0].Dataset; PrjCoordSys prjCoordSys =dataset. PrjCoordSys; bool result =CoordSysTranslator.Forward(point2ds, prjCoordSys);
投影转换后的效果如下图四:总结 综上所述,无论是使用SuperMapDeskpro .NET 还是用SuperMapObjects .NET,是添加对象还是添加数据集到地图窗口中,希望有正确显示,前提都需要待添加的数据和地图的地理信息相同,只有有了正确的地理信息基础,才能将同一地理范围内的对象添加到同一地图窗口进行显示。在使用桌面产品SuperMapDeskpro .NET 可以使用地图属性的动态投影功能,将后添加的数据动态的投影到地图的投影坐标系上,从而实现相同的显示效果。
根据经纬网,可以快速判断该地区的位置,进而判断该地的气候、洋流、盛行风、地形等。经纬网的阅读,主要有以下步骤:
(1)辨别东经西经、北纬南纬。①自西向东,逐渐增大的为东经,逐渐减小的为西经;②自南向北,逐渐增大的为北纬,逐渐减小的为南纬。
(2)与几条重要的经纬线比对。0°经线穿过非洲、120°E经线在北京右侧、100°W位于北美洲中间、0°纬线横穿非洲和南美洲亚马逊平原、北回归线穿过撒哈拉沙漠、南回归线穿过澳大利亚。
图1 经纬网示意图
2、气压带与风带假设地球是一个光滑的球体,在热力、动力的作用下,形成了“七压六带”。春分和秋分时,南北半球的气压带和风带恰好对称,它们的的纬度位置和风向分别为:
(1)气压带
①赤道低气压带:分布在0°±5°,盛行上升气流;
②副热带高气压带:30°±5°,盛行下沉气流;
③副极地低气压带:60°±5°,暖空气爬升;
④极地高气压带:85°~90°,盛行下沉气流。
(2)风带
①信风带:分布在5°~25°,北半球为东北风,南半球为东南风;
②盛行西风带:35°~55°,北半球为西南风,南半球为西北风;
③极地东风带:65°~85°,北半球为东北风,南半球为东南风;
判断风向的3个步骤:①垂直于气压带;②由高压指向低压;③北半球向右偏转,南半球向左偏转。气压带与风带的位置,会随着太阳直射点的移动而移动,夏季(北半球)向北移动5°,冬季(北半球)则向南移动5°。
图2 气压带与风带的位置(春分/秋分)
例题图3 例题
答案:B、B
精讲精析:(1)分析该地的气候。①从西向东,经度逐渐减小,因此为西经;从南向北,经度逐渐减小,因此为南纬,因此甲地的经纬度范围为:60°W~70°W,15°S~20°S;②从纬度上可以判断,甲地应该为热带草原气候,热带草原气候存在着干、湿两季,与题干中描述的“5~8月份降水稀少”一致,因此甲地为热带草原气候。
(2)分析气温及降水特点的成因。①由于甲地的纬度较低,为热带气候,因此气温年较差较小;②由于甲地位于20°S左右,夏季(南半球)受到东南信风带的控制,冬季(南半球)受到副热带低气压带的影响,而5~8月份恰好为南半球的冬季,因此此时受到副热带高气压带的影响,盛行下沉气流,降水稀少;③该地距海较近,且坡向朝向正东、东北,因此为东北风、东风和东南风的迎风坡,从海上吹来的东南信风遇到迎风坡的阻挡,会产生较多的降水,因此该地区的夏季为湿季,降水较多。
总结热带草原气候、热带季风气候本节例题的解题思路为:①根据经纬度,判断该地的气候;②根据纬度位置、气压带与风带、地形,分析该地的气温与降水特点。其中热带草原气候在考试中经常出现,热带草原气候与热带季风气候,要注意分清,一个为“干湿两季”,一个为“旱雨两季”:
(1)热带草原气候
成因①:受赤道低气压带、信风带的交替控制。全年高温,有明显的干、湿两季,其中信风带控制时为干季,赤道低气压带控制时为湿季;
成因②:受东北/东南信风带、副热带高气压带的交替控制,信风带控制时为湿季,副热带高气压带控制时为干季;
(2)热带季风气候
成因:海陆热力性质的差异、气压带风带的季节移动。
气候热点:全年高温,有明显的旱、雨两季,冬季风控制时为旱季,夏季风控制时为雨季。
图4 热带草原气候与热带季风气候
【每晚20:00,每日一题,学好地理】