首页 / 浏览问题 / 组件GIS / 问题详情
点数组插值分析参数设置
7EXP 2020年07月30日

使用产品:iobjects .net 10i

使用Interpolate(InterpolationParameter, array<Point2D>[]()[], array<Double>[]()[], PrjCoordSys, Double, Datasource, String,PixelFormat)对点数组进行插值分析,点数组是三维场景中一个矩形范围内的随机点,我想把得到的栅格数据集添加到三维场景中,该如何设置PrjCoordSys

1个回答

添加到三维球面场景中的数据集要求是投影坐标或者是地理坐标,这两者坐标系都可以,可以在idesktop中查看到想要设置坐标系的epsgcode,代码直接通过PrjCoordSys.FromEPSGCode去设置坐标系。这个还需要根据你传入的点参数来看,如果你传入的点是(112,23)这种经度纬度形式的,那就去设置一个地理坐标系,比如wgs1984。如果你传入的点的坐标是xy形式的,就是xy值很大的话,就去设置一个投影坐标系,比如常用的3857

4,620EXP 2020年07月31日
您好,可以帮忙看一下代码吗?点是经纬度形式,我设置了4326,但是得到的数据集是null

 Datasource targetDatasource = m_workspace.Datasources[0];

String resultDatasetName = targetDatasource.Datasets.GetAvailableDatasetName("resultDatasetGrid");

InterpolationIDWParameter interpolationMethodIDWParam = new InterpolationIDWParameter();
interpolationMethodIDWParam.ExpectedCount = 5;
interpolationMethodIDWParam.Bounds = rect1;
interpolationMethodIDWParam.Power = 2;
interpolationMethodIDWParam.Resolution = 285;
interpolationMethodIDWParam.SearchMode = SearchMode.KdTreeFixedCount;

PrjCoordSys prjcoordsys = new PrjCoordSys();

prjcoordsys.FromEPSGCode(4326);

DatasetGrid resultInterpolationGrid = Interpolator.Interpolate(interpolationMethodIDWParam, m_points, values, prjcoordsys, 1, targetDatasource, resultDatasetName, SuperMap.Data.PixelFormat.Single);
...