首页 / 浏览问题 / 云GIS / 问题详情
关联外表数据提取等值线
18EXP 2017年08月22日
先上代码

join = new SuperMap.REST.JoinItem({
            foreignTableName : "t_ceshi",                                       //外表名称
            joinFilter : "p_yewei.name=t_ceshi.WellName",            //关联条件
            joinType : "LEFTJOIN"                                                    //关联类别
        }),
queryParam = SuperMap.REST.FilterParameter({
            name : "p_yewei@gis",
            joinItems : [ join ]
        }),

params = new SuperMap.REST.DatasetSurfaceAnalystParameters({
            extractParameter : surfaceAnalystParameters,
            filterQueryParameter : queryParam,
            dataset : "p_yewei@gis",
            resolution : document.getElementById("txt").value,
            zValueFieldName : "WellLevel"   
        });

p_yewei为点数据集,

t_ceshi为外表,是supermap库下的同义词,从另一个库查询的,该外表关联查询数据有效。

问:zValueFieldName属性如何设置?写外表字段会提示该字段不存在,是配置有误,还是与其他什么有关?

2 个回答

功能已经实现啦。

改用SuperMap.REST.GeometrySurfaceAnalystParameters几何对象表面分析参数类。

通过关联查询,得到点数据集的坐标和对应外表的用来提取的数据。

配置参数   pints:表面分析的坐标点数组,zValues:表面分析的坐标点Z值数据。

就能从外表提取等值线啦。

感谢回答。

结贴!
18EXP 2017年08月23日
您好,您这里joinFileter的关联条件写反了,应该是 t_ceshi.WellName=p_yewei.name,并且在queryParam里添加 attributeFilter: p_yewei.SmID>0 以确保queryParam有效。
1,695EXP 2017年08月23日
多谢,可问题还在zValueFieldName 属性,写外表的字段会提示字段不存在。

当外部表是自己创建的业务表,而非桌面软件iDesktop新建的表时,这是你需要设置fields参数,设置返回的字段数组,这样才会得到外部表的字段。具体您可以参考http://blog.csdn.net/supermapsupport/article/details/49998205

...