首页 / 浏览问题 / 组件GIS / 问题详情
iobjects java
209EXP 2018年10月23日
组织点对象的时候,使用的是哪个类,具体的方法是什么??

1个回答

你好,你说的组织点对象是什么意思?说一下你具体的需求。
9,302EXP 2018年10月24日

就是我通过iclient  获取 到一个面数据,然后传到iobjects java  后台,之后转换为iobjects java方法中的面数据集,然后通过iobjects java方法组织一个点数据集,然后通过空间查询的方式来讲两者进行相交,来查询出来在该面数据集中的点的相关信息

你说的组织点是传入一个已经有了的点数据集还是构造一个点数据集?
我的是在oracle数据库中有这个点的数据,并且发布到了iserver上了,现在需要根据这个点的数据来构造一个点数据集 ,来和通过iclient获取的面数据集来进行空间查询相交来查询出,面数据集范围内的点的数据
你可以用Java组件打开这个数据集,用DatasourceConnectionInfo这个接口来打开数据源,然后从数据源中去获取这个点数据集

请问一下,我如果通过iclient  绘制多边形,然后把绘制的面对象传到后台,使用iobjects java  进行接收,那么我应该在js中向后台传递什么数据呢?是features还是Recordset 呢?传递的时候怎样传递json串,用iobjects java  中的那个类来进行接收呢?

你好,可以传入GeoJson数据,在Java组件中可以用Toolkit这个类的GemetryToGeoJson方法将GeoJson转换为geometry;也可以用ImportSettingGeoJson类导入geojson数据信息。
我现在通过前台传递{"type":"Polygon","coordinates":[[[116.36359687805,39.913230026489],[116.40204902649,39.908766830688],[116.35690208435,39.896407211548],[116.36359687805,39.913230026489]]]}
通过iobject java 转换为Geometry 之后,怎样把他转换成Recordset  类
就是   
QueryParameter parameter = new QueryParameter();
parameter.setSpatialQueryObject(recordset);中所需要的recordset
参数,请问应该怎样操作
QueryParameter parameter = new QueryParameter();
parameter.setSpatialQueryObject(geoRegion);
parameter.setSpatialQueryMode(SpatialQueryMode.CONTAIN);
parameter.setAttributeFilter("POINTX_2000 >110");
parameter.setOrderBy(new String[] {"SMID asc"});
Recordset queryRecordset = datasetVector.query(parameter);
进行空间查询的时候,给parameter设置setOrderBy 来进行排序,不起作用,而setAttributeFilter方法是能够正常使用的,我使用的点数据集是datasetVector,是在oracle数据库中,请问一下这是什么原因呢??
还是oracle数据库 中的点数据集需要特殊的操作?、
你好。你设置排序字段的参数是正确的吗?字段名称是否正确,注意大小写
你好,你可以新建一个对应数据类型的数据集,然后得到数据集的记录集recordset,然后将geometry添加到记录集中,用recordset.addNew();
字段名称正确,用的就是系统字段SMID ,写法是
parameter.setOrderBy(new String[] {"SMID asc"});然后不起作用,请问可能是那些原因呢?
系统字段是叫SmID吧  你调试一下程序
我连接的是oracle数据库,oracle数据库中对大小写是不敏感的啊,我改成SmID 之后,setOrderBy 方法也没有起到作用
你可以将查询出来的结果追加到新的数据集中,然后在桌面中对比一下字段。我刚试了设置排序是有作用的。
...