首页 > 学院 > 开发设计 > 正文

SuperMap iObject常见问题解答集锦(十一)

2019-11-06 08:29:24
字体:
来源:转载
供稿:网友

作者:皇皇

问:java组件开发支持postgresql数据库吗,怎么使用啊? 答:支持postgresql数据库,请下载与java组件位数一致的版本(推荐9.5),安装完成将postgresql的bin路径添加到path变量里,并将其bin目录下的libeay32.dll、libiconv-2.dll、libintl-8.dll、libpq.dll、ssleay32.dll依赖库拷贝java组件的bin目录下即可正常使用pg数据源了。

问:Gps设备会实时传回定位点坐标过来,怎么判断定位位置离道路数据里的哪条道路最近啊? 答:Gps设备传回的实质是点对象,而道路数据是线数据集,我们组件的邻近分析模块的最近距离计算,可以计算二维点到参考记录集合的对象的最小距离值,即可实现该需求。其接口为PRoximityAnalyst.computeMinDistance()。

问:SuperMap iObjects JAVA 8C中在布局中对文本设置高、宽设置较大时就不起作用,什么原因? 答:布局中设置文本的高、宽时,如果设置了固定大小,文本的高宽就有上限,最大只能设置为25.5mm,超过这个值当做25.5处理,如果设置为不固定大小,但是是0.1mm,且没有上限;注文本固定大小用方法TextStyle.setSizeFixed(boolean),如果不写默认是为true的。

问:在SuperMap iObjects C++中使用workspace.save方法保存地图时一直返回false,保存失败? 答:在用save方法之前先设置pWorkspack->m_WorkspaceConnection.bFailIfExists = false;该属性意义在于如果文件已经存在是否返回失败,默认是true,仅仅针对文件型工作空间有效,

问:如何构建一个线对象?如何往线对象中添加子对象?如何往线对象中添加节点? 答:构建一个线对象: UGPoint2D point1 = UGPoint2D(112,34); UGPoint2D point2 = UGPoint2D(112,36); UGGeoLine* geoline = new UGGeoLine (); geoline -> Make(point1,point2); 往上面构建的线对象添加一个子对象: UGPoint2D *points=new UGPoint2D(); points[0].x=112; points[0].y=36; points[1].x=114; points[1].y=40; UGbool aa = geoline ->AddSub(points ,2); 往第一步构建的线对象中添加节点: UGPoint2D *points=new UGPoint2D(); points[0].x=114; points[0].y=40; UGbool bb = geoline ->InsertPoint (0,2,*points);

问:刷新地图是如何只刷新跟踪图层refreshTrackingLayer? 答:UGMap.SetRefreshFlag(false);然后刷新就不会刷底图,只会刷新TrackingLayer和DynamicLayer

问:在使用SuperMap iObjects C++ 8C时,如何对点对象进行投影转换? 答:两种方进行投影转换:1、使用UGGeoPoint的PJForward方法进行投影转换;2、使用UGPrjCoordSys类的Forward方法进行投影转换。

问:SuperMap Objects .NET如何查看当前购买的正式所里面有哪些模块儿? 答:使用 SuperMap.Data.License.Connect(enum ProductType)查找相对应模块儿的许可信息,如果返回0则查询成功,有该模块儿,返回其他数值则代表没有该模块儿。

问:获取到了trackinglayer中的某一个对象,对对象进行了修改后,刷新跟踪图层,对象并没有什么变化,这是问什么呢 答:因为修改对象后,还需要对跟踪图层通过set方法对跟踪图层中该索引处的几何对象替换为修改后的几何对象,然后再刷新跟踪图层

问:打开工作空间的地图,对地图就行修改了,然后分别查询map和workspace的IsModified属性。但是结果map的IsModified属性为true,workspace的IsModified属性却为false,这是为什么呢? 答:当地图做了相应的修改后,map的IsModified为ture,但是由于没有保存地图,所以工作空间也是没有改变的,只有当保存了修改后的地图后,工作空间IsModified才会变为true.

问:场景生成场景缓存的时候在哪里设置缓存类型为OSGB? 答:针对场景中的每一个图层来设置:Layer3DDataset.IsBuildOSGBCache = true即可生成OSGB缓存

问:SuperMap iObject .NET 8C添加对象的同时如何添加对象属性? 答:在数据集有这个属性字段的前提下使用Dictionary添加属性: Dictionary


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表