当前位置: 代码迷 >> GIS >> 地图x5 c#简单查询有关问题
  详细解决方案

地图x5 c#简单查询有关问题

热度:220   发布时间:2016-05-05 06:18:55.0
mapx5 c#简单查询问题
各位,我想通过x,y坐标,获取图层中该点所在的图元(例如这个点在一个面中,能知道这个面的属性)以及附近一定距离的其他图元

我试了下layer类中的searchwithindistance,报创建缓存出错,请问还有其他办法做么,谢谢了!

我现在的做法是将图层通过easyloader导入到oracle10g数据库中,然后通过连接数据库加载图层到界面上,然后用searchwithindistance方法,报创建缓存出错,如果直接加载tab文件则没有问题,奇怪啊。

能否给出这两种处理的方法啊,谢谢!


------解决方案--------------------
Dim ftr As MapXLib.Feature
    Dim searchLayer As MapXLib.Layer
    Dim bufferFtr As MapXLib.Feature
    frmBuffer.Show 1
    Set searchLayer = Map1.Layers.Item("world")
    If cancel = True Then
    searchLayer.Selection.ClearSelection
    Set ftrs = searchLayer.Search(searchStr)
        searchLayer.Selectable = True
        If ftrs.Count > 0 Then
            Set ftr = ftrs.Item(1)
            Set bufferFtr = Map1.FeatureFactory.BufferFeatures(ftr, bufferD, MapXLib.MapUnitConstants.miUnitKilometer, 10)
            bufferFtr.style.RegionTransparent = True
            bufferFtr.style.RegionPattern = miPatternCross
            CreateTmpTable
            Map1.Layers("tmpLayer").AddFeature bufferFtr
            Map1.CenterX = ftr.CenterX
            Map1.CenterY = ftr.CenterY
        End If
        Set fs = Nothing
    End If
  相关解决方案