(1)sql查询。前提是要知道某个建筑的某些属性信息,通过属性信息来查询。(2)周边查询。通过管线上的某点,设置一个半径做缓冲区分析,得到一个结果A,用A和建筑做空间查询,查询相交的建筑即可。如果是CAD模型建筑,提取CAD模型建筑底面来做空间查询。
您好,您这条件看不出毛病。
建议您参考二维缓冲区查询范例:
http://localhost:8090/iserver/iClient/forJavaScript/examples/examples.html#getFeatureByBuffer
客户端坐标投影转换的使用方法如下:
(1)对于SuperMap支持的投影,可用如下方法实现客户端的投影转换:
方法(一),通过设置map的 projection 和 displayProjection 属性实现,例如:
var mapOptions = { //设置地图的投影方式 projection: "EPSG:3857", //设置MousePosition控件的鼠标位置的需要进行的投影方式 displayProjection: "EPSG:4326" }; var map = new SuperMap.Map('map', mapOptions); map.addControl(new SuperMap.Control.MousePosition());
方法(二),可调用 transform() 方法进行坐标转换,例如:
var point = new SuperMap.LonLat(-71.147, 42.472); point.transform("EPSG:3857", "EPSG:4326");
详细方法可参见范例 地图图层---地图投影转换
(2) 对于SuperMap 不支持或者用户自定义的投影
首先需要下载、解压缩 proj4 的产品包,并引入产品包中的 proj4.js 文件。
自定义投影,可通过Proj4js.defs[]静态常量定义键值对实现。有关各种投影的参数定义,可参考http://spatialreference.org;如果已有定义,可搜索并查看其投影参数,例如EPSG:21418,其投影参数为http://spatialreference.org/ref/epsg/21418/proj4/。
用户自定义一个EPSGCODE,然后再用(1)的方法调用,代码如下:
//自定义一个defs,用来实现用户自定义的投影转换。其中,EPSG:10010为自定义的EPSGCODE,键值内容为参考投影参数,其分别代表了名称、 //投影、转换到wgs84坐标系(三参数)、椭球长半轴、扁率、原点纬线、中央经线、两条标准纬线、东偏移量、北偏移量、单位等。 Proj4js.defs["EPSG:10010"] = "+title=Beijing1954 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378245.0000 +rf=298.3 +lat_0=0.00000000 +lon_0=104.000000000 +lat_1=24.000000000 +lat_2=40.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs"; var map = new SuperMap.Map({ div: "map", //设置地图的投影方式 projection: "EPSG:3857", //设置MousePosition控件的鼠标位置的需要进行的投影方式 displayProjection: new SuperMap.Projection("EPSG:10010") }); map.addControl(new SuperMap.Control.MousePosition());
您好,这个没有现成的方法,可以参考百度结果,如:
http://blog.csdn.net/starrain00/article/details/7256235