首页 / 浏览问题 / 云GIS / 问题详情
iserver js 怎么通过经纬度查询标地物
1EXP 2017年07月11日
SuperMap  iserver 示范中都是点线面选择查询和属性查询,可以通过经纬度查询吗?怎么实现?(通过数据集查询方式)

1个回答

可以使用SQL查询,但是这就要求你的数据集中有经纬度这个字段,然后再SQL查询中对于经纬度字段进行sql查询即可。

具体的可以参考范例,SQL查询(数据集查询)

http://support.supermap.com.cn:8090/iserver/iClient/forJavaScript/examples/examples.html#getFeatureBySQL

1,603EXP 2017年07月11日
范例的sql查询条件是id。那落在这个经纬度上的标地物,查询条件怎么写?
比如说你的经纬度字段为lon和lat,你的sql条件就查询lon,lat字段,具体的条件看你需要怎么查,就怎么写sql语句
没有经纬度的字段,是一个面的标的物,
那你就可以根据你的经纬度,new一个点对象,然后用这个点对象进行几何查询。

范例里面的几何查询是前端绘制一个对象,然后用这个对象查询,你可以直接就用你的经纬度new一个点对象,然后用点对象进行几何查询
这个我懂。但怎么用经纬度的new一个点对象,然后用这个对象查询,具体怎么实现?

new一个点对象,可以参考范例

http://support.supermap.com.cn:8090/iserver/iClient/forJavaScript/examples/examples.html#basicalGeometry

几何查询可以参考范例

http://support.supermap.com.cn:8090/iserver/iClient/forJavaScript/examples/examples.html#getFeatureByGeometry

由于范例是在前端绘制一个对象再查询,只需要将下面那个geometry换成你自己根据经纬度新建的点对象,并且修改spaticalQueryMode为SuperMap.REST.SpatialQueryMode.WITHIN,datasetNames设置为你需要查询的面数据集

...