Skyline的分析模块中一直有一个等高线的专题图功能,这个功能一直都被我忽略这,老版本接口不开放,而且就固定那些颜色没什么意思,6.5 版本把这个功能的接口开放出来了那就有点意思了。
先来说CreateGontourMap接口的参数。
//一组矩形的坐标。UpperLeftX, UpperLeftY, LowerRightX,LowerRightY,
//定义等高兴专题图样式,是线还是色差。 这个里我定义的是色差。
ContourDisplayStyle DisplayStyle = ContourDisplayStyle .CDS_CONTOUR_STYLE_COLORS;
//画板的ID,定义使用什么样的色差类型。 这个GUID值来自 TerraExplorerPro安装目录下 xml文件中的定义。 一会详细解释
string PaletteID = "9fecd8a0-6e3b-11e0-ae3e-0800200c9a66" ;
//组ID
string GroupID = "" ;
string Description = "ContourMap" ;
//根据参数创建一个等高线的专题图,返回专题图对象
IContourMap65 iContourMap = sg65.Analysis.CreateContourMap(UpperLeftX, UpperLeftY, LowerRightX, LowerRightY, DisplayStyle, PaletteID, GroupID, Description);
IColor65 iColor65 = sg65.Creator.CreateColor((int) Color.Red.R, (int )Color.Red.G, ( int)Color .Red.B);
iContourMap.ContourLinesColor = iColor65;
//定义专题图对象的采样间隔
iContourMap.ContourLinesInterval = 1;
//定义等高线专题图的覆盖类型,是区域还是全球。
//iContourMap.CoverageArea = CoverageArea.CA_ENTIRE_TERRAIN;
效果如下:
下面详细说明一下
string PaletteID = "9fecd8a0-6e3b-11e0-ae3e-0800200c9a66" ;
开发文档是这么写的。
PaletteID The GUID for the palette. GUIDs are listed in the palette XMLs found in the Pseudo directory, which is located under the [TerraExplorer installation]\ Lang\1033 folder and under %APPDATA%\Skyline\TerraExplorer.
这个是调色板的GUID.GUID列在调色板中的XML虚拟目录中找到,它位于下 TerraExplorer安装目录下的Lang\1033\Pseudo。
找一个出来看一下。 划横线的就是GUID的值。
<?xml version=' 1.0' encoding=' ISO8859-1' ?>
<?xml-stylesheet type='text/xsl' href='Pseudo.xsl'?>
<!--Skyline TerraBuilder Pseudo File Copyright (c) 2002)-->
<PseudoColors>
<Caption> Gray</Caption >
<GUID> E7B822F7-380F-4d67-B050-85E870D5301F </GUID>
<Range>
< Max>2200.000000 </Max>
< Min>-350.000000 </Min>
</Range>
<Data>
< Num>2 </Num>
< Node>
< Val>2200.000000 </Val>
< Color>FFFFFF </Color>
</ Node>
< Node>
< Val>-350.000000 </Val>
< Color>303030 </Color>
</ Node>
</Data>
</PseudoColors>
CreateSlopeMap 创建效果如下代码下载