首页 / 浏览问题 / 组件GIS / 问题详情
等值面OverlayAnalyst.Clip的问题
13EXP 2018年06月26日
ExtractIsoregion的间隔设置小了是不是会中途退出?

代码如下:

  SurfaceExtractParameter surfaceExtractParameter = new SurfaceExtractParameter();
  surfaceExtractParameter.Interval = 0.5;
  surfaceExtractParameter.SmoothMethod = SmoothMethod.BSpline;
  surfaceExtractParameter.Smoothness = 5;

  m_datasetVectorRegion = SuperMap.Analyst.SpatialAnalyst.SurfaceAnalyst.ExtractIsoregion(surfaceExtractParameter, pt3s, m_workspace.Datasources[0], name, 0.01, m_geo as GeoRegion);
m_datasetVectorRegion.PrjCoordSys = ld.PrjCoordSys;

。。。。

OverlayAnalyst.Clip(a,m_datasetVectorRegion ,....)

超图的老师好,现在发现相同的代码在不同的机器上执行,在执行OverlayAnalyst.Clip的过程中,其中一台出来完整的裁切结果,另外一台则只有一半的裁切结果,但是如果我把等值面提取参数的间隔设置大一些,即 surfaceExtractParameter.Interval的值设置大一点,则不会出现问题。我想问这是什么原因导致的?

另外附加再问一个问题,在提取等值面的过程中,如果 surfaceExtractParameter.Interval值大于参与插值的点的最大最小值之差,会不会出错?谢谢。

1个回答

您好!请问您两台机器使用的组件版本一致吗?还有两台机器使用的数据是否一样?

Interval是等值距。

提取的等值线一般用基准值和等值距两个参数来控制。基准值是作为一个生成等值线的初始起算值,并不一定是最小等值线的值;等值距是两条等值线之间的间隔值,由这两个参数可以来确定提取的等值线的值和个数。例如,基准值设为 0,等值距设为 50,则对于高程值范围在 120-999 的 DEM 栅格数据,提取的最小等值线为 150,最大等值线为 950,一共可以提取 17 条等值线。

我想如果您是相同数据,相同版本,是否出现完整裁切结果是与等值距没有关系的。

将等值距设置为大于参与插值点的最大值最小值之差本来就不和常理,您可以自己测试一下会不会出错。
3,357EXP 2018年06月27日
你好,感谢回复!

首先我保证两台机器上的版本相同,数据相同,生成的等值面相同的等值间距的结果也相同。问题是在于,当等值面的间距太密了之后(即interval小),使用OverlayAnalyst.Clip对等值面进行裁切的时候,两台机器运行结果不一致,裁切结果不一致的地方在于,性能好的机器出来的结果是正确的一个结果,而机器性能稍差的一台出来的裁切结果只包含另外一台的 一部分。
...