作者:皇皇

问:如何锁定地图可显示范围?
答:Map.LockedViewBounds:
锁定的地图可视范围,只显示指定的可视范围内的地图,其余的地图内容不显示。设置后,地图将不能平移缩放,处于锁定状态。
注意:
设置LockedViewBounds 之前,需要先设置this.mapControl.Map.IsViewBoundsLocked = true;

问:SuperMap Objects.NET 2012 SP2可以打开iServerJava发布的Rest真空间服务吗?
答:可以的。使用Scene.Open方法就可打开,只需要填写两个参数,第一个是iServer数据服务的URL,第二个是三维场景名称。或者在已经打开的场景里使用Layer3Ds.Add(String, Layer3DType, String, Boolean)重载方法添加真空间服务图层,第一个参数就是iServer数据服务的URL。

问:在进行三维通视分析的时候如何设置观察点的附加高程?
答:在场景中点选了观测点后,按住shift键后拖拽鼠标,拉伸到适当的高度,在达到适当的高度后,点击鼠标左键,会弹出对话框,在对话框中可以直接设置想要的观察点高度。

问:通过Map.LockedViewBounds属性设置MapControl地图控件中锁定的地图可视范围后,并没有出现预期的效果,为什么?
答:首先需要设置MapControl地图控件中是否锁定地图的可视范围,即设置Map.IsViewBoundsLocked =true.

问:DGN数据导入执行失败,DGN数据根本没有导入到数据源中,为什么?
答:DGN导入需要FME动态库支持,导入DGN之前需要在技术资源中心的下载专区下载相应的FME动态库包,将FME动态库包放置到Objects .NET安装目录的bin包下,同时在ImportSettingDGN中设置IsUseFME为true,执行导入即可。

问:添加3ds模型到KML图层中,并且想保存该模型在当前KML图层,如何实现?
答:1、把模型作为GeoPlacemark添加到Feature3Ds中。
2、使用Layer3D.UpdateData方法更新渲染所需要的数据。
3、最后使用Feature3Ds.ToKMLFile方法将三维要素集合对象输出成KML文件。

问:动画模型添加到跟踪层,无法控制效果?
答:可以控制动画效果,需要从跟踪层先取出GeoModel,修改动画,然后设置回去。
sceneControl.getScene().getTrackingLayer().add(geoModel, “model”);
……
TrackingLayer3D trackingLayer3D = sceneControl.getScene().getTrackingLayer();
int nIndex = trackingLayer3D .indexOf(“model”);
GeoModel geoModel = (GeoModel)trackingLayer3D .get(nIndex);
geoModel.getAnimation().setEnabled(true);
trackingLayer3D .set(nIndex, geoModel);

问:同一个三维场景打开两个窗口来显示,A场景窗口修改了图层的可见性,保存场景保存工作空间,刷新一下B场景窗口之后,B场景并没有更新,怎么回事?
答:这种情况属于正常。我们存储在工作空间中的场景信息是一个xml字符串,场景打开是把xml字符串加载到场景对象的内存中。当A窗口保存后,修改了xml字符串,此时B窗口并没有得到修改的通知,需要重新打开场景到B窗口,才能重新加载xml获取该设置信息,使得B场景窗口更新。

问:编译机上编译的Objects .NET工程,将工程exe拷贝至其他安装了Objects .NET的运行机上运行,运行失败。报SuperMap.Data引用及版本错误,为什么?
答:出现此种情况一般有以下三种原因:1、运行机上的当前用户对于Objects .NET安装路径没有访问权限,此种情况可以将Objects .NET的bin包拷贝到有权限访问的文件夹下,更改环境变量中的path即可;2、当前运行exe的用户不是管理员身份,此种情况运行exe时右键以管理员身份运行即可;3、编译机上编译所使用的Objects .NET版本于运行机上安装版本不一致,此种情况也是最常见的,此时只要统一编译机及运行机上的组件版本即可正常运行

问:在服务端使用Objects Java输出图片,新创建工作空间和地图控件,然后进行一些出图步骤,最后把Workspace和MapControl都dispose掉,程序会崩溃。崩溃日志中有“EXCEPTION_ACCESS_VIOLATION”及“com.supermap.data.WorkspaceNative.jni_Open”信息
答:崩溃原因:使用的是SDB数据源,换其他类型的数据源程序正常。
对于SDB数据源,程序需要采用以下方式启动:
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
// 要实现的类和方法 }
} );}

问:地图平移、缩放等操作后,会触发什么事件?
答:用户对地图平移、缩放后,地图将刷新,重新绘制,绘制完成后,将触发Map.Drawn事件。

问:如何计算两条线的夹角?
答:通过取两条直接的任意各两点,使用Geometrist.ComputeFillet方法,计算线与线的倒圆角,然后,通过GeoArc.SweepAngle属性,获取圆弧所扫过的角度。那么,两条线的夹角 = 180 - 倒圆角弧段对应的角度。

问:使用SuperMap Objects .NET打开数据,为什么工作空间能打开,而工作空间下的数据源打不开了?
答:有两种可能:1.文件型的工作空间或数据源被其他的程序所占用,因此数据源打不开;2.在系统盘Windows/System32文件夹下有一个sqlite3.dll的文件,它与软件bin文件下的sqlite3.dll同名文件冲突了,所以打不开。因此,可以将系统盘下的sqlite3.dll文件重命名,数据源就可以打开了。

问:进行最短路径分析,以距离和时间综合来作为阻力值,时间字段为TimeCost,距离字段为SmLength,然后设置weightFieldInfo.Name为"TimeCost"+“SmLength”,最后的路径分析结果感觉还是只是距离值起了阻力效果,设置的时间因素没有作用,怎么回事?
答:如果要综合两个字段值作为阻力值,应该先创建一个字段假设名称为Cost,再将距离和时间字段值运算后的结果赋给Cost,设置weightFieldInfo.FTWeightField和weightFieldInfo.TFWeightField属性都为Cost。需要注意,weightFieldInfo.Name这只是一个标识名称,用来标识weightFieldInfo对象的,在设置TransportationAnalystParameter.WeightName属性时将这个标识名称设置进去,表示采用这个标识的weightFieldInfo作为分析的权重字段信息。

问:如何通过代码将圆对象添加到面数据集中?
答:1.获取DatasetVector; 2.DatasetVector.getRecordset(True,CursorType.Dynamic);
3.构建圆对象GeoCircle,并调用GeoCircle.ConvertToRegion 方法,将圆对象转换为面对象,才能成功将圆成功添加到面数据集当中;
4.Recordset.AddNew方法; 5.Recordset.Update方法; 6.Recordset.dispose方法;

问:在添加圆、圆弧、扇面、椭圆、矩形、圆角矩形等几何对象时,为何会失败?
答:上述对象主要用于CAD图层,当需要向线图层或面图层添加上述对象时,需要将上述对象通过ConvertToLine或ConvertToRegion方法转换,再将转换结果添加至对应图层中。

问:SuperMap Objects .NET 中哪些类不能被创建?
答:在 SuperMap Objects .NET 中帮助文档里没有写构造函数的类,通常都不能被创建。最常用的例如Geometry,DatasetVector,TrackingLayer,Datasource,Recordset等。

问:如何将三维几何对象添加到三维跟踪层中?
答:三维几何对象需要以GeoModel的形式向三维跟踪层中添加,构造了三维几何对象后(如GeoCircle3D,GeoSphere),使用Geometry3D.GetGeoModel(int slices,int stacks)方法获取几何模型,再添加到跟踪层。使用Geometry3D.GetGeoModel(int slices,int stacks)方法传的两个细分参数经验值为72。

问:程序迁移之后,重新生成解决方案运行程序,会报FileLoadException错,无法正常运行程序,为什么?
答:此种报错一般是由于引用的动态库路径、Path中Objects .NET路径以及项目属性中的工作目录路径不一致造成;在运行程序时重新引用下动态库,将项目属性中的工作目录制定到重新引用动态库的对应文件夹,然后重新生成解决方案即可。实际解决操作可参照:http://www.gisforum.net/bbs/dispbbs.asp?boardid=123&id=201471&page=1&star=1

问:对三维点图层制作三维单值专题图,设置了一个三维符号作为单值的风格,实际的地物大小不一,那么怎么设置这个符号的缩放倍数呢?
答:可以设置每一个单值的GeoStyle3D,使用接口Marker3DScaleX/Y/Z设置符号缩放倍数。

问:SuperMap Objects Java怎么避免标签压盖的现象?
答:避免标签的压盖,调用Map类的setOverlapDisplayed方法即可

问:使用SuperMap Objects .NET如何将一条GeoLine3D转成飞行路径,并保存为fpf文件?
答:首先,获得希望转换的GeoLine3D,使用Route. FromGeoLine3D()方法生成一条路线,然后,将这条飞行路线添加到飞行路径中(一条飞行路径可以有多条路线),使用方法Routes.Add(),最后,用Routes.ToFile()直接生成一个.fpf后缀的文件。

问:可以往跟踪层上批量添加对象吗,怎么做?
答:可以的。具体步骤:首先设置TrackingLayer.SetEditBulk(true)开始批量添加,然后就循环调用TrackingLayer.Add方法添加对象,最后调用TrackingLayer.FlushBulkEdit()保存添加的数据,并且设置TrackingLayer.SetEditBulk(false)以结束批量添加。

问:在有界面的linux下怎样配置SuperMap Objects Java 的许可?
答:在linux下配置SuperMap Objects Java的许可,需要使用命令java -jar 运行 Bin路径下的com.supermap.license.jar包,即可弹出和windows下相同的配置界面,配置完毕后还需要配置SuperMap Objects Java的环境变量,环境变量的路径为当前SuperMap Objects Java的Bin路径。(变量设置方法:export UGO_HOME=/opt;export LD_LIBRARY_PATH= U G O H O M E / B i n : UGO_HOME/Bin: UGOH​OME/Bin:LD_LIBRARY_PATH ;PATH= P A T H : PATH: PATH:LD_LIBRARY_PATH)

问:如何通过栅格数据展现网络信号质量等现象?
答:建议将网络信号信息(包括坐标信息和信号质量信息)存储至属性表数据集,再根据所有坐标信息创建空栅格数据集,之后向栅格数据集中填入栅格值。

问:设置布局图例对象中某些项不可见,为什么不起作用?
答:在设置了GeoLegend对象的ItemsVisible之后,需要执行GeoLegend.Load()重新加载,然后在布局对象集合中通过setGeometry方法更改当前的布局对象,达到设置的效果。

问:在使用ObjectsJava开发时,Swing的菜单项会总被SceneControl遮挡,怎么解决呢?
答:在创建JMenuItem之前先掉用这句代码设置一下:JPopupMenu.setDefaultLightWeightPopupEnabled(false);所述问题就不会出现了。

问:Dataset.getBounds()与Layer.getBounds()有何区别?
答:对矢量数据集而言,Dataset.getBounds()得到的数值为所有几何对象的范围并集;对栅格数据集而言,Dataset.getBounds()得到的数值为整个栅格的范围
【1】当地图坐标系为经纬度坐标系或平面坐标系时,Dataset与Layer类中getBounds()得到的值一致。
【2】当地图坐标系为投影坐标系、数据集为经纬度坐标系且地图已设置动态投影时,getBounds()得到的值不一致,Layer.getBounds()值为Dataset.getBounds()经地图投影坐标系投影转换后的范围。

问:怎么保存地图?
答:三个步骤:(1)map.ToXML();(2)maps.SetMapXML();(3)workspace.save()

问:为什么SuperMap Objects Java的地图在不同计算机显示效果不一样?
答:这是因为计算机的分辨率不一致引起的。可以在SuperMap Objects Java的bin目录下的配置文件设置supermap.ini文件中设置CustomMapRatioEnable为true,出图计算机及最终显示地图的计算机均需配置。

问:如何设置图层高亮显示风格?
答:设置图层高亮的显示风格,首先需要获取选择集Selection,可以通过Layer的getSelection()方法获取,然后调用Seleciton的setStyle(GeoStyle style)
方法,(按需求设置GeoStyle),即可获得自己需要的图层高亮显示风格。

问:使用Geometrist类中computeGeodesicArea方法时,如何设置坐标系信息?
答:Geometrist类中computeGeodesicArea方法第二个参数即为坐标系信息,将坐标系设置为对应的经纬度坐标即可,如
PrjCoordSys prjXY = new PrjCoordSys();
GeoCoordSys geoSys = new GeoCoordSys();
geoSys.setType(GeoCoordSysType.GCS_WGS_1984);
prjXY.setType(PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE);
prjXY.setGeoCoordSys(geoSys);

问:为何GeoRegion.getArea获取得到的数值非常小?
答:GeoRegion是可以任意创建的对象,单个几何对象(点、线、面等)不带有坐标信息,所以在计算面积时,是通过面对象中点串坐标来计算,对于经纬度面对象,建议对面对象进行投影转换后再计算面积。

问:若在AIX机器上,运行SuperMap Objects Java时,出现【java.lang.UnsatisfiedLinkError:Wrapj600】&【Dependent module libptools_ptr.a(shr.o) coult not be loaded】,会是什么原因?
答:此错误显示缺少系统文件【libptools_ptr.a】,可通过AIX系统安装包或其它方式获取【libptools_ptr.a】文件后,将此文件拷贝至SuperMap Objects Java安装目录下Bin文件夹即可。

问:使用SuperMap Objects .NET时,在场景中,不希望有地下网格的效果,如何修改?
答:目前没有接口可以修改这个风格,但可以通过修改安装目录下SuperMap Objects .NET\Bin\Resource文件夹里的underground.jpg文件进行修改,建议使用图片大小为256*256的JPG文件。

问:在VS2008中使用SuperMap Objects .NET,为什么找不到LayersControl控件?
答:这个问题有两个可能:
1.使用的SuperMap Objects .NET版本比较早,在6.0版中还没有加入LayersControl控件
2.没有在工具箱中加入SuperMap.UI.Control.dll文件中的控件

问:SymbolLibrary.FindSymbol() 和SymbolGroup为什么都无法获取“System 0”的符号?
答:SymbolLibrary.FindSymbol() 和SymbolGroup 这两个方法都无法获取系统符号,只有用ToolKit.Draw()的方法才可以获取系统符号。且在ToolKit.Draw()中对绘制的符号进行了反走样的处理,显示效果和桌面的效果相同。ToolKit.Draw()参数中的Geometry需传设置了SymbolID的GeoStyle。

问:如何查看SuperMap Objects Java版本号?
答:查看版本号有两种方法:1)选择一个jar包,通过winrar方式打开jar包,再以记事本方式打开META-INF文件夹中MANIFEST.MF文件,可看到【Manifest-Version: 6.1.1.8930】,6.1.1.8930即为SuperMap Objects Java版本号;2)在命令行中运行Java -cp com.supermap.data.jar文件全路径 com.supermap.data.AboutBox即可在弹出的窗体中看到版本信息。

问:为什么将SDB中的数据添加到场景中,制作三维专题图不显示?
答:在使用SDB数据源中的数据制作三维专题图时,在将制作好的三维专题图加入到三维场景中后,需要调用该三维专题图层的Layer3DDataset.UpdateData() 方法,才能显示制作的三维专题图。

问:在窗体的closing事件中,释放工作空间和三维场景资源时,系统报错“vshost.exe已停止工作”,把释放资源代码注释后,一切正常。这是什么原因造成的?
答:关于“在窗体关闭的时候,系统报错 ”的问题,可检查下关闭的顺序是否正确,正确顺序如下: 1、关闭scene 对象; 2、关闭SceneControl对象; 3、关闭Workspace对象。 例如: this.mapControl.Map.Close(); this.sceneControl.Scene.Close(); this.mapControl.Dispose(); this.sceneControl.Dispose(); this.workspace.Dispose();

问:在创建栅格数据集的时候,使用类DatasetGridInfo的setBlockSize方法时,怎样设置栅格数据集像素分块存储的大小?
答:栅格数据集像素分块存储的大小单位是像素,默认值为128,设置值的大小必须是64的倍数。

问:如何获取三维场景中模型对象的高度
答:GeoModel对象中没有直接获取模型高度的属性方法,不过可以通过BoundingBox的范围间接获取该模型的高度

问:二次开发做了一个简化的图例控件,地图在添加图层后,如何能告知图例控件刷新呢?
答:SuperMap Objects Java中Layers类可以添加一个监听,用于监测图层添加事件,通过Layers.addLayerAddedListener可实现地图添加图层后LayerAddedListener监听被触发。

问:向三维图层选择集中添加了对象,刷新地图,为什么没有高亮显示?
答:添加到了Selection3D后,需要使用Selection3D. UpdateData方法来渲染选择集,才能高亮显示。

问:制作分段专题图的时候,为何子项添加失败?
答:有以下两种可能。1.默认的ThemeRange .Precision =0.1,如果设置的分段值的小数位数大于了一位,则会添加失败,需要根据实际的小数位数来修改精度。2.两个子项的起始值一定要和上一子项的终止值相同,及上一区间为[1,2],下一区间就是[2,3]。

问:在场景中添加多个Bubble时,如何确定每个用户控件与bubble对应的位置?
答:在bubble的BubbleInitialize事件和BubbleResize事件里面通过bubble的ID号来判断当前的bubble,从而根据当前bubble的对象来确定用户控件的位置。

问:通过设置三维图层过滤表达式,来控制显示的对象,刷新场景后,没有看到过滤效果,是什么原因?
答:只是刷新还不行,还需要使用场景的scene.updatedata方法来更新场景中的数据。

问:为什么使用JoinItem关联外表做标签专题图的时候,使用关联字段制作标签专题图失败?
答:因为关联字段有可能是两个表里面都有的字段,当使用此字段做标签专题图的时候,不能识别使用哪个表的字段,因此失败。所以在使用关联字段或者两个表其它名称相同字段时,都需要在字段前面加上表名。例如数据集World和capital,关联字段为Country,则使用Country做标签专题图的时候,表达式字段为World.Country.

问:空间查询使用CAD数据集时,程序报异常。
答:当前版本的底层算法暂时不支持对CAD数据集进行空间查询。建议把CAD数据集转换为简单数据集(点/线/面等),再使用空间查询。

问:工程中存在多个地图控件时,多个地图控件与工作空间如何联系?有何注意事项?
答:每个地图控件都可通过MapControl.getMap().setWorkspace与工作空间进行连接,各地图控件之间的展示互不影响。在删除数据集时,需确定每个地图控件中均没有与此数据集相关联的图层。

问:三维场景中取某一三维线对象及其在地面的投影线上的点集构建闭合三维面对象失败,有什么方法让该闭合面对像显示?
答:在构建完该三维面对象之后,设置该三维面对像的某方向的偏移量offset,例如x方向便宜0.000001度,构建的该三维面对像即可以正常显示。

问:在桌面中新建场景,三维球为成白色,是什么原因?
答:可能是两个原因导致的:1.由于OpenGL版低造成,查看当前OpenGL版本,若低于1.5,需要安装最新的显卡驱动即可。2.机器的颜色环境为16位(增强色),应该将机器环境设置为32位(真彩色)。

问:如何在Windows窗体应用程序中,在 .NET Framwork 4.0框架下,使用SuperMap Objects .NET?
答:首先:工程属性的Application页面中的Target framework属性需要修改为.NET Framework 4。默认为.NET Framework 4 Client Profile。在不修改的情况下会编译出错。
其次:在工程中新建一个名为app.config文件,添加如下代码<?xml version="1.0"?>

经过这两步,就可以正常使用了。

问:所有的栅格符号在Deskpro中显示大小正常,但是用ObjectsJava做的程序打开就显示的非常小,怎么解决。
答:在之前的版本中可能会存在这样的问题,解决办法是,在Deskpro的风格设置中将符号大小通过点击上下箭头方式设置为0,然后保存地图,保存工作空间。再用ObjectsJava程序打开就能正常显示了。

问:64位操作系统中Objects .NET的安装运行注意事项
答:对于64位操作系统中的超图软件的安装中由于系统默认的安装路径为带(x86)的programfiles,为此除了许可配置管理工具之外,其他软件都建议手动更改下安装路径到不带(x86)的programfiles下。除此之外,在运行时需要将VS的解决方案平台由默认的Any CPU更改为X86进行编译运行。

问:三维场景中添加了模型,但随着场景缩放,相机到达一定高度后,模型显示越来越小,不便于识别,是否能固定模型大小不随场景缩放而缩放?
答:为模型设置风格时,使用GeoStyle3D.IsMarkerSizeFixed 属性即可。设置该属性为false时,符号的像素大小保持不变,即场景的缩放对符号的显示没有影响。

问:在导入影像数据时,选择“多波段”模式和“合成波段”模式有什么区别?
答:多波段模式是将多波段数据导入为一个多波段数据集。合成波段模式是将多波段数据导入为一个单波段数据集。目前此导入模式只适用于将8位多波段的数据导入为一个24位或者32位的单波段数据集。

问:使用Objects Java开发功能,通过tomcat发布为服务,提示no wrapj600。
答:报no wrapj600错误是由于Objects Java路径没有设置,单机应用程序只需要将Objects Java的Bin路径添加到了系统path中即可;若是用tomcat发布为服务,在MyEclipse中调试时,设置preferences>Services>Tomcat>Tomcat 6.x >Paths,Append to library path(Tomcat 6.x为示例,设成正在使用的tomcat)。

问:如何控制一个数据集中的部分对象不显示?
答:在SuperMap中,一般通过图层来设置对象的可见性,首先,在数据集中新建一个字段用于记录每个对象的可见状态,然后,通过Layer.DisplayFilter 属性,设置图层的过滤条件即可。

问:如何实现图层管理器中只显示控制图层是否可见的标志,不显示可编辑和可选择的标志。
答:可以设置LayersTree的Icons属性,统一控制图层树中所有节点显示哪几个图标。

问:linux环境下怎么检测SuperMap Objects Java的运行环境是否正常?
答:在安装目录Bin文件下的predetection.sh是组件运行前环境静态检查工具。运行predetection.sh工具即可查看当前的运行环境有哪些问题。例如:suse环境下使用sh predetection.sh -write=argument 即可输出环境检查信息。

问:如何在三维场景中心点添加地标?
答:首先获取三维场景控件的像素中心点(this.sceneControl.Width/2,this.sceneControl.Height/2);然后,通过Scene.PixelToGlobe方法,转换为经纬度坐标;最后,在该点处添加GeoPlacemark即可。

问:使用交通网络分析类TransportationAnalyst加载模型的时候有什么注意事项?
答:网络模型重新加载前,必须先调用 dispose 方法释放 TransportationAnalyst 对象所占用的资源,否则可能出错。主要包括以下两种情况:
1.对交通网络分析环境设置对象的参数进行了修改,需要重新调用该方法,否则所作修改不会生效从而导致分析结果错误;
2.对所使用的网络数据集进行了任何修改,包括修改网络数据集中的数据、替换数据集等,都需要重新加载网络模型,否则分析可能出错。

问:公交换乘分析的时候,字段的设置需要有什么注意事项?
答:公交换乘中包含线路 ID 和站点 ID的 两个字段,字段类型只支持32位整型和64位整型。

问:范例程序中二维地图的示范程序可以正常运行,三维场景相关的范例就一直报错?
答:若二维地图的示范程序可正常运行,表示环境变量等设置正确。
检测方法:新建一工程,创建一个SceneControl;
检验结果:若新建工程也报错,可以通过glview工具(网上可下载)检测当前OpenGL版本,若版本过低(如低于1.5),建议升级显卡驱动(为了升级OpenGL版本)。

问:进行设施网络分析之前已经设置了网络分析环境,但是在进行设施网络分析时还会失败,怎么回事?
答:设施网络分析之前还需要为网络数据集创建流向,使用NetworkBuilder.BuildFacilityNetworkDirections方法创建流向以后的网络数据集才可以进行各种设施网络分析,在设置设施网络分析环境时要设置DirectionField属性,设置流向字段。

问:提取等值线/面的时候,怎么设置基准值和等值距?
答:基准值与等值距共同决定提取哪些高程上的等值线。基准值作为一个生成等值线的初始起算值,以等值距为间隔向其前后两个方向计算,因此并不一定是最小等值线的值。例如,高程范围为 220-1550 的 DEM 栅格数据,如果设基准值为 500,等值距为 50,则提取等值线的结果是:最小等值线值为 250,最大等值线值为 1550。

问:更改了GeoModel中某一mesh对象贴图之后,刷新场景之后贴图未更改,为什么?
答:对于三维场景中某一个图层中的模型对象其本身就是一个Feature3D对象,在更改了模型某一mesh面贴图之后需要调用Feature3D的Updatedata的方法进行模型对象的更新,更新之后相应贴图发生更改。

问:如何改变线对象的绘制方向,使原来的线对象节点倒序排列?
答:首先,锁定编辑线对象(Recordset.Edit方法),并通过Recordset.GetGeometry方法,获取线对象;然后,调用GeoLine.Reverse方法,改变线对象的绘制方向;最后,使用Recordset.SetGeometry方法覆盖原来的对象,并使用Recordset.Update方法提交更新即可。

问:运行Java组件范例报错,报错信息包含java.lang.UnsatisfiedLinkError: com.supermap.data.LicenseNative.jni_N
ew,如何解决。
答:1、确保产品许可已正确配置,且许可有效。
2、检查系统的java环境是否设置正确,比如jdk的路径是否添加到了系统path变量中,java组件的路径是否添加到了系统path变量中。

问:动态分段关系建立后,对参与动态分段的数据进行操作需要注意什么?
答:1.想要删除一个存在动态分段关系的数据集(路由数据集、事件表或空间数据),必须将动态分段关系删除;2.如果事件表已经具有了一个动态分段关系,则不能再次用于生成空间数据,除非将其关系删除;3.校准、事件表融合、线参考点刻度生成路由时,不要直接使用包含动态分段关系的数据集。

问:Objects Java定义数据源连接信息,打开SQL Server数据源失败,使用相同的连接信息Deskpro .NET可以打开,为什么?
答:组件定义DatasourceConnectionInfo时,除了与桌面定义的信息相同的参数之外,还需要设置引擎类型和驱动——setEngineType(EngineType.SQLPLUS),setDriver(“SQL Server”),这两项设置错误会导致数据源打开失败。

问:为什么制作完布局之后,保存工作空间,再打开工作空间布局消失了?
答:可能保存的时候工作空间的版本较低,而打开的时候又是以较高的版本打开的,因而会造成布局的丢失。

问:通过漫游场景取到一个较合适的观测视角,将此视角获取;如果当前视角不是找寻好的观测视角通过Scene的Fly方法飞至到观测视角为何出现的视角跟之前找寻到的不一致?是垂直于地表的视角?
答:此类情况可能是由于获取Camera的时候使用了Scene的Camera而不是Scene的FirstPersonCamera;获取的Camera视角默认为垂直于地表,而Scene的FirstPersonCamera才是当前场景的第一人称视角。

问:地图控件的自动滚屏功能能不能关闭,如何设置?
答:可以关闭。设置MapControl的MarginPanEnabled 属性为false即可。

问:在三维中使用Bubble时为了不遮挡地图,如何将Bubble设置为透明?
答:以安装目录\SampleCode\Realspace\Bubble\Bubble.csproj为例,首先设置加入的Bubble.BackColor为Color.Transparent,然后设设置BubbleControlWeather控件为透明。

问:在浏览地图时候,鼠标会有等待光标出现,比较影响显示效果是否有什么处理方法让浏览移动的时候鼠标状态不变?
答:设置MapControl的IsWaitCursorEnabled属性为false,此时再浏览地图就不会出现等待光标

问:根据一个已知的栅格数据集,创建一个行列数以及地理范围一样的栅格数据集应怎么做?
答:可使用Datasets.CreateFromTemplate方法,通过传入新建数据集名称及已经数据集,即可创建行列数、地理范围一样的栅格数据集。

问:对栅格图层制作了分段专题图,如何设置背景透明(无值区域栅格值-9999),栅格图层无专题图时可以通过LayerSettingGrid类的setSpecialValue和setSpecialValueTransparent方法设置。
答:修改栅格分段专题图图层,增加一个专题项,并设置其不可见,用到ThemeGridRangeItem类的setStart,setEnd,setVisible方法和ThemeGridRange类的addToTail方法或addToTail方法。

问:为什么GeoLegend设置标题、图例项是否可见不起作用?
答:1.图例需要关联地图名和工作空间进行使用;2.设置标题,图例项是否可见等内容时,需要调用 load() 方法。

问:能否将Query查询出来的记录生成一个矢量数据集?怎么实现?
答:可以实现。直接通过Datasource.RecordsetToDataset()方法即可将记录集的内容生成一个相应类型的矢量数据集。

问:将二维矢量面添加到三维场景中,现想设置其填充符号的透明效果,该如何设置?
答:主要是通过Color.FromArgb方法设置alpha分量来控制其透明度,然后设置GeoStyle3D的FillForeColor属性,将颜色设置为透明效果。如,填充为红色并且透明显示:GeoStyle3D style = new GeoStyle3D();style.FillForeColor = Color.FromArgb(50, 255, 0, 0);

问:如何实现将数据集的属性字段输出,作为数据集保存?
答:直接调用Datasource.LabelToTextDataset方法即可输出,并且可以设置输出文字的风格。

问:AIX系统中,无法启动许可配置工具,报动态库链接找不到,java.lang.UnsatisfiedLinkError: LicenseJava600。
答:请确认path中包含了JDK路径及Objects Java路径,如果没有需要添加之。

问:在三维屏幕图层上添加几何面对象后,几何对象不显示,这是怎么回事?
答:这里还需要设置X、Y方向的坐标单位类型,即ScreenLayer3D的XUnit属性和YUnit属性。

问:经纬度的网络数据,在场景中进行网络分析,返回的路径长度值非常小,是为什么呢?
答:原因是数据和场景都是经纬度坐标的,长度单位是“度”,将实际的“米”换算成“度”值就会非常小。需要将数据投影转换到相应的投影坐标系,同时,在场景中点选起始点和终止点的时候,需要将这两个点投影转换到数据集相同的投影坐标系下,这样再分析,结果就是正确的了。

问:使用代码添加模型到KML图层时,是否支持存储模型的描述信息?
答:可以。在KML图层中,模型(GeoModel)是通过三维要素对象(Feature3D)来管理的,在添加模型后,可使用Feature3D.Description属性,添加描述信息。

问:影像数据有背景,在场景中显示的时候,会显示白边怎么办?
答:这种问题可以通过设置影像文件图层风格的方式解决,设置图层风格为背景透明即可。

问:如果没有购买空间数据库组件运行许可,有哪些功能不能使用呢?
答:如果没有空间数据库组件许可,则不能使用对Oracle、SQL Server数据库以及Web数据的访问和管理功能。

问:一个可选的图层,在地图中选中了一个几何对象,为什么不能编辑移动呢?
答:有两种可能,一:没有设置图层可编辑,应将图层的IsEditable设为true;二:当前的鼠标动作是Select,不能够编辑,只用Select2可以编辑移动,缩放对象,因此,将MapControl.Action=Action.Select2即可。

问:如何获取矢量缓存SCV文件中对象的属性值?
答:使用的接口为:Layer3DVectorFile .GetFieldValueOfSelectedObject(),获取场景中矢量文件缓存中当前选中对象某一字段的值。

问:获取布局中的地图要素,设置比例尺(GeoMap.setMapScale)不起作用.
答:通过layoutElements获取的geoMap对象,geoMap.setMapScale设置比例尺之后,还需要通过layoutElements.setGeometry(geoMap)改变地图要素,达到设置效果。

问:如何根据数据源名称获取该数据源在WorkspaceTree上对应的节点?
答:可以通过WorkspaceTree.DatasourcesNode属性,获取数据源集合节点;再通过Nodes属性,获取数据源集合节点下的所有数据源节点;最后,基于数据源名称,即可获取相应的数据源节点。如: this.workspaceControl.WorkspaceTree.DatasourcesNode.Nodes[nodeName];
其中,nodeName是数据源名称。

问:设置mapLayoutControl1.ActiveGeoMapID = geoMap.ID,将当前的geoMap对象设置为选中激活状态,但是ActiveGeoMapID的值并没有对应更改,为什么?
答:在当前布局中如果有geoMap对象已经被选中激活的话,首先要将mapLayoutControl1.ActiveGeoMapID设置为-1,然后才能设置为其他的geoMap的ID。

问:linux下,用root用户配置好了许可,换普通用户登录,Objects Java还是不能使用,命令行启动许可配置工具,也读不到许可。
答:文档中已有说明,配置许可时必须使用root用户,配置好的许可会保存在opt/SuperMap/License文件夹下,普通用户登录时,就算只是读取许可信息,也要对普通用户赋予该目录的读权限,否则无法访问。

问:制作面缓冲区时为何创建不成功
答:在设置缓冲区参数时,可以检查BufferAnalystParameter是否只调用了setRightDistance方法,右缓冲区参数对面及点对象创建缓冲区无效。

问:通过Selection.Style属性设置选择集几何对象的显示风格后不起作用,怎么解决?
答:这里需要对Selection.IsDefaultStyleEnabled属性进行设置,该属性默认为true,即设置的选择风格将无效,需要设置Selection.IsDefaultStyleEnabled=false。

问:通过KML文件管理动画模型,点击模型时,如何获取模型的相关属性信息?
答:建议如下:
1.通过Layer3DKML.Selection 属性和Layer3DKML.Features 属性 ,分别获取到选择集Selection3D和Feature3Ds;
2.使用Selection3D.Item获取对应的Feature3D的ID;
3.使用Feature3Ds.FindFeature (Int32, Feature3DSearchOption)方法,获取对应的文本对象;
4.使用Feature3D.Name 属性,获取模型名称;
5.根据模型名称到业务表中查询模型相关信息即可。

问:使用SuperMap iObjects.NET 7C时,三维场景中选中的三维缓存对象属性值应该如何获取?
答:针对这种情况不能通过Selection3D对象来获取属性;应该通过Layer3DVectorFile.GetFieldValueOfSelectedObject()方法获取选中对象的属性值。

问:怎么将地图原始缓存转换为紧凑缓存?
答:组件开发中提供了MapCacheBuilder类中的OriginalToCompact 方法,实现原始缓存转换为紧凑缓存,实现对原始缓存文件的压缩,节省磁盘空间,同时也易于拷贝。

问:使用SuperMap Objects .NET 6R制作三维单值专题图时,如何设置三维单值专题图的透明度?
答:通过设置Theme3DUniqueItem的Style属性,将GeoStyle3D的FillForeColor属性通过Color.FromArgb方法的alpha因子设置透明度,有效值为从 0 到 255。

问:文本数据集如何获取对象的X和Y坐标?
答:获取到GeoPoint对象后通过GeoText.Item获取子对象TextPart,再TextPart .X和TextPart .Y。

问:Object.NET中调用PrjCoordSys.FromXML发现解析不投影参数出错,如何解决?
答:这个和Objects中稍有不同,应该调用 fromfile 接口,不应该调fromxml。

问:SuperMap Objects .NET中如何更新KML图层某个Feature3D对应的图标呢?
答:通过以下操作可实现更新KML图层中要素的图标:1)设置图标,
Feature3D.Geometry.Style3D.MarkerFile = 图标文件路径;2)更新三维图层, Layer3D.UpdateData() 。

问:使用SuperMap Objects .NET 开发的C/S系统,某个客户端非正常退出后,它占用的许可并没有释放,其他的客户端没法正常登录使用,怎么办?
答:SuperMap Objects .NET访问硬件锁使用的是硬件锁的心跳时间和轮询机制。在程序入口处可设置硬件锁的心跳时间,例如,SuperMap.Data.License.ConnectionHeartbeat = 1800,这里的1800代表1800秒,即30分钟。设置硬件锁心跳时间后,若客户端非正常退出,30分钟后该客户端就会被锁服务释放,其它客户端可以登录使用。

问:为什么修改三维跟踪图层中模型的Position并刷新场景后,模型的位置并没有改变?
答:修改模型Position后,需要通过TrackingLayer3D的Set方法更新修改后的模型,再刷新场景即可。

问:DB2数据源和其他数据库类型的数据源有何异同?需要配置ODBC连接吗?
答:DB2数据源的处理方式与Oracle数据源类似,创建DB2数据源前需在DB2数据库中添加用户,并给新建用户分配读写权限,无需配置ODBC连接。

问:SuperMap Object .NET如何自定义导入数据的名称?
答:可通过修改结果数据信息来实现。以导入一个JPG文件为例,需要三步操作:1.获取导入设置参数中结果数据信息ImportSettingJPG.GetTargetDataInfos("");2.修改ImportDataInfos[0].TargetName属性;3. 使用ImportSettingJPG.SetTargetDataInfos提交修改即可。

问:UDB数据源查询时如何实现不区分大小写的查询结果?
答:UDB数据源引擎在数据查询时区分字符大小写,可以通过修改AttributeFilter的方式实现查询不区分大小写,如原AttributeFilter为name = ABCDE,修改为name = ABCDE COLLATE NOCASE后即可。

问:Selection.Dispose()时报异常“InvalidOperationException”
答:new出来的Selection才需要Dispose,从Layer中取出来的Selection则不能Dispose。

问:(Object Java)获取图层风格失败:Layer.getAdditionalSetting()返回结果为null
答:Layer. getAdditionalSetting()返回的是普通图层的风格设置,返回结果为空有两种可能:
1、图层是专题图层,可以通过getTheme()返回结果是否为空判断,如果不为空则图层是专题图层;
2、数据源被占用导致图层对应的数据集不存在,可以通过getDataset返回结果是否为空判断,为空说明数据集不存在。

问:为什么Transformation.TransformEquation 属性获取的数据配准方程为空字符串
答:因为虽然构造了一个Transformation对象,但是还没有计算误差,应该用Transformation.GetError 方法 计算误差之后就可以了。

问:开启立体显示功能,四缓存式立体没有效果,其他几个类型没问题。
答:开启四缓存式立体Scene.StereoMode = StereoMode.QuadBuffer,还需要设置Environment.IsSceneAntialias = false,IsSceneAntialias 默认是true。

问:64位服务器使用tomcat+ObjectsJava的问题,启动tomcat 后,报错:
“Unsatisfied link error : no Wrapj600.dll. 32 bit .dll is not supported on 64 bit ”
答:这是64位系统的特殊性所导致,将JDK的安装目录从Program File (x86) 复制到不带括号的目录下,再启动tomcat,就不报错误了。

问:使用Scene.FlyPlay()方法时,传入的参数speedRatio和distance怎么设置?
答:speedRatio为默认飞行速度的倍数,默认飞行速度为0.00001rad/s。distance为飞行中Camera与飞行线上的观察点的垂直距离,距离单位为米。

问:SuperMap Objects Java 6R在linux中怎么打开配置管理工具?
答:先到java组件产品的解压包的bin包路径下,然后使用命令行com.supermap.license.jar就会弹出6r的配置管理工具。

问:如何使布局窗口全幅显示
答:使用SuperLayout类中ZoomToPage方法即可

问:OGDC与GDB-CLI是什么关系?
答:GDB-CLI(空间数据库访问接口)是Geospatial Database Call-Level Interface的缩写,是由超图联合国内主要GIS厂商正在申请的国家标准,目前标准申请流程已到征求意见稿阶段.该标准的制定起源于国家高技术研究发展计划(863计划)地球观测与导航技术领域网格地理信息系统软件及其重大应用项目研究,标准制定目标是为实现异构环境下GIS数据高效的互联互放与互操作。OGDC是超图开发的完全符合GDB-CLI标准接口的产品。

问:如何随应用系统分发OGDC?
答:用户可以基于OGDC标准开发适用于自己数据格式的Provider,还可以进一步将符合OGDC标准的开发的应用系统发布给用户使用。 OGDC的核心工程为Base、OGDC、Element工程,并且这三个工程打包而成动态链接库(dll)和静态链接库文件(lib)文件已经集成在安装包中,开发商只需根据开发平台的不同,将Base、OGDC、Element三个工程的动态链接库和静态链接库随开发的应用系统提供给最终用户即可。

问:可以对OGDC的头文件进行修改吗?
答:我们不建议用户擅自对OGDC安装目录下Include文件夹中的OGDC类库的头文件进行修改,否则因修改头文件导致的任何意外、损失等,北京超图软件概不负责。

问:如何让两个面数据集求出相交对象的相交部分,并计算出面积?
答:可以考虑使用soOverlayAnalyst.Intersect方法求出两个数据集的交集,结果数据集中面积已存储在smArea这个属性字段中。

问:对查询出来的结果进行升序排列,应该如何做?
答:进行query查询时,设置Query的最后一个参数为“order by 字段名”的方式即可。

问:SuperMap中的热键操作可以控制吗?
答:通过设置SuperMap.HotKeyEnabled 属性,可以控制是否使用热键对地图进行操作。

问:Objects中的哪个事件可以捕获地图热键操作,例如平移、放大、缩小?
答:热键是通过键盘操作,在SuperMap的keydown事件中就可以捕获到键盘上的热键操作

问:导入的jpg文件,默认都是没有坐标信息的,如何让jpg图片具有真是的地理坐标意义?
答:一种是用配准的方式;另外如果这个图片有坐标文件信息,再导入的时候也将这坐标信息文件导入,若没有,可以参见帮助中的文件格式自己定义一个,这两种方法的前提就是要有正确的坐标信息。

问:Deskpro中导出的xml文件在Objects中导入时出错,应该如何导入XML文件?
答:使用专题图的FromXML方法时,是需要先通过语言环境将xml读到string里面,例如c#中: string strpath = Application.StartupPath + @"\ThemeUnique.xml"; System.IO.StreamReader myFile = new System.IO.StreamReader(strpath, System.Text.Encoding.Default); string myString = myFile.ReadToEnd();//myString是读出的字符串 myFile.Close(); objTU.FromXML(myString); objTU.Enable = true; axSuperMap1.Refresh();

问:导入CAD文件,属性表结果中显示的属性字段和直接通过Deskpro导入的属性字段差几个,这是怎么回事?
答:在导入的时候文件类型为scfAcad 不会缺少字段,但如果是scfDWG 方式导入就缺少问题描述中的字段,建议在导入时使用scfACAD类型。

问:统计专题图柱状图是会随地图缩放,导致在省份比较密集的地区会叠加在一起,如何实现地图放大到一定比例柱状图不在放大但是地图仍然可以放大缩小操作?
答:这个需求在COM组件中实现不了。但在UGC产品中(如Objects .NET)可以设置饼图、柱状图固定大小,不随地图缩放而改变大小。

问:使用soGeocircle在绘制圆的时候,半径用什么单位?
答:圆半径的单位是和数据源的单位一致的,数据源如果是经纬度的,半径的单位即为°。

问:Objects中调用符号编辑器,编辑器中的图标都不显示,是白板,这是怎么回事呢?
答:此问题跟机器的环境有关,是由于缺少相关的风格引起的。具体的解决办法,可参考地址:http://www.gisforum.net/bbs/dispbbs.asp?BoardID=20&replyID=623664&ID=114138&skin=1

问:路径跟踪,点动态的在路径上跑时,速度一会快一会慢的,如何让其均匀的行驶?
答:在获取到路径线对象之后,对其进行了重采样,这样点的距离均匀,在地图上点动态显示时也会是均匀的。

问:sql数据源中使用count函数查询得不到结果,但是同样的数据在sdb数据源中能够查询得到结果,sql数据源中和sdb中有何不同?
答:Count函数的应用,SDB数据源和SQL数据源是一样的,如果出现问题,请检查构建的语句是否正确。

问:做好的程序按照帮助文档中的说明将需要的dll的打包安装时有错误,发现将bin文件夹下的freeimage.dll,hasp_windows_demo.dll打包时安装进去就好了,想知道这两个动态库是不是必须的?是干什么用的?
答:这是5.3.2之后新增的两个动态库文件,在打包安装时要将这两个动态库文件打包进去。 FreeImage:支持png、bmp、jpeg、tiff图形文件的库 hasp_windows_demo.dll:和驱动有关的动态库。

问:例如点本身的风格是小圆点,现在想将其选中风格更改成为五角星,使用修改选中风格的方式不成功,但是线却可以这样做,这是什么原因?
答:点不能修改选择风格,要修改点的选中风格,只能是在跟踪层上添加

问:同一个数据集能不能被多次添加到一个地图窗口中?因为用户想对一个数据集的不同字段做单值专题图,但是supermap一个图层只能允许有一个单值专题图,如果将此数据集多次复制做,会在后面数据更新的时候很麻烦,涉及到更新多份数据,所以复制多个数据集不可取,但数据集又不能多次添加到同一个地图窗口,有什么好的办法?
答:COM产品中,一个数据集就只能在一个地图窗口中添加一次。如果想实现一个数据集做多个同种类型的专题图,可以考虑用UGC系列产品,例如SuperMap Objects .NET.

问:oracle9i的数据源,实现鼠标放置在对象上200毫秒显示一次对象特定属性信息,但是发现鼠标在对象上放置50秒之后就再也显示不出对象属性了,跟踪代码是在mousemove中querybydistance查询时返回的sorecordset是空值,但怎么会是空的?这是为何?
答:建议在查询完之后调用soRecordset.close,关闭记录集。可能的原因就是在查询完之后记录集没有关闭,导致记录连接占用出现问题。

问:如何用面分割线?
答:使用SuperTopo.RegionsSplitLines方法。

问:图例控件和supermap控件connect了,但是superlegend中还是没有图层显示,这是为何?
答:图例控件和地图控件连接的句柄为:SuperLegend.Connect(SuperMap.CtlHandle),并告需要在地图窗口添加地图之后图例控件需要Refresh。

问:使用soGeoLine.Split方法打断线时,有时候成功有时候不成功,这是为何?
答:打断失败的主要原因在于用来打断的点没有在线上,若确定点就是在线上但仍然失败,建议可适量设置soSetting.Epsilon,默认容限精度太高,点即使在线上也会判定为不在的。

问:使用soRecordset.MoveNext语句,循环完最后一条记录MoveNext仍然为true,导致出错,这是为何?
答:如果获取到记录集之后指针就是放在第一条记录上的,MoveNext之后指针会移动到下一条记录上,类似while (record.MoveNext()) 的语句就会出错,建议改用for循环或者soRecordset.IsEOF语句取每条记录。

问:使用soPoints.Add方法可以往数据集中添加点对象吗?
答:不可以。soPoints.add方法是向简单点集合中增加一个已定义的简单点对象,并不能往数据集中添加对象。要实现此添加对象,需使用soRecordset.AddNew方法,并且传入的是soGeoPoint对象。

问:如何获取面对象的节点信息以及获取到此点在点串中的顺序?
答:可以考虑的思路:使用SuperMap.SnapPoint方法,此方法中传入的点参数就是通过鼠标点击获取到的点,并且此方式要在开启捕捉soLayer.Snapable=True的情况下使用,这样就可以直接捕捉到节点信息。要获取此点在点串中的顺序,当snappoint方法返回true时,用传入的sopoint的坐标值和点串中点坐标值循环作比较,坐标值相等时返回索引号即可。

问:Objects中有日志管理功能吗?该怎么用?
答:日志管理功能为全局的对象,使用soLogManager对象,设置相应的属性即可。

问:SQL数据源中,去掉重复的属性数据,除了使用distinct方法,还有别的方式吗?
答:可使用group by查询,这两个函数的作用是一样的。

问:导入CAD数据,合并图层是用那个参数设置;导入后地图显示一片黑?
答:1、Objects中导入CAD为GIS数据时,默认合并图层; 2、导入CAD后一片黑,建议设置地图属性,把地图背景色设置为其他颜色,比如白色。

问:如何把数据类型相同的数据集合并在一起
答:通过数据集的Append方法可以追加数据集到某一个数据集中。

问:如何实现SuperMap组件的右键菜单
答:在SuperMap控件的MouseDown事件中实现,必须用ContextMenuStrip控件的show方法显示右键菜单。

问:在查询对象属性信息以后,把信息显示在一个可以移动的控件上。
答:用ToolTip控件来读出属性表的信息,设置ToolTip的位置和鼠标的位置一致。

问:如何让标签专题图显示多种风格,不同的字体字号颜色
答:标签专题图不能同时显示多种风格,但是可以考虑把一个数据分成几个然后创建不同风格的标签专题图。

问:如何显示选择集的风格?
答:设置soSelection对象的Style属性。

问:soGeoPoint的HasStyle,设置后无效。
答:HasStyle只对CAD数据有效,对GIS数据无效。

问:网络锁不可用
答:建议从以下四点考虑:【1】驱动未安装,驱动程序可以在运行版安装目录下Suuport下找到【2】锁服务没有启动,锁服务是Sentinel Keys Server和Sentinel Protection Server 【3】端口被占用,我们实际上要用到的是6001,6002,7001,7002 【4】防火墙原因,导致服务的请求被阻止。 然后一项一项排查,看到底是什么情况。

问:在Object中如何将经纬坐标系转化为平面坐标系 ,或者说在经纬坐标系的一张图上如何得到某一点的平面坐标。
答:设置目标投影坐标系对象soPJCoordSys。通过Forward方法把经纬度坐标转换成目标平面坐标。

问:如何根据某个字段的值修改线显示的方向
答:用单值专题图,先制作两种带箭头的线型,然后设置单值的风格。

问:用soDatasetVector对象的Rename方法更改数据集名称后,数据集打不开。
答:在更改数据集名称后,用soDatasource的Flush方法提交,然后在打开。

问:VB中,客户要在相同属性表结构的不同数据集中查询特定的对象,如何判断soRecordset对象为空。
答:【1】判断Recordset对象的RecordsetCount是否为空;【2】用Recordset对象的IsEmpty方法。

问:以SQL Server 2000作为服务器,远程访问该数据库(SQL Server 2000客户端),不能访问到。
答:【1】网络是否连接;【2】服务器是否允许远程访问;【3】防火墙是否允许;【4】下载sql2000 sp3补丁在服务器端安装。基本就可以解决问题。

问:VS开发时,有COM中断。CLR无法获得COM上下文。
答:在调试(菜单)–>异常–>-> Managed Debug Assistants里 去掉ContextSwitchDeadlock一项前面的钩。

问:需要保存一个地图的一部分,然后保存成图片。
答:y用裁剪的方法或者Query的方法获取需要的哪一部分地图,然后用SuperMap控件的OutputMapToBmp()方法。

问:用什么方法能把SuperMap的显示范围定位到想显示的那部分。
答:【1】用SuperMap控件的ClipRegion和ClipRegionEnable属性;【2】用soLayer的DisplyFilterEx属性,然后使用SuperMap的ViewEntire方法全幅显示;【3】用SuperMap控件的EnsureVisibleRecordset或者EnsureVisibleGeometry方法实现。

问:用Objects2008做网络分析,分析第一次显示路由数据正确,第二次分析后结果成功,但是路由显示还是第一次的。
答:在分析之前先把以前生成的路由数据集删掉,刷新地图即可。

问:在TrackingLayer上添加点,如何设置点的符号为图片。
答:【1】如果资源库中没有想要的栅格符号,则soSymbollib.Import导入图片符号设置点对象的符号为该图片;【2】如果有,则查找该符号的符号库ID,设置点风格。

问:拓扑检查,使用“面内自相交”无法查出拓扑错误,什么原因?
答:拓扑检查前应先进行拓扑预处理,即设置soTopoCheck.PreProcessData=true;然后调用CheckTopoErrorEXcel()接口。

问:使用seAction.scaEditCreatePoint,但是鼠标状态依然是scaPan
答:需要先用soLayers.SetEditableLayer方法将图层设置为可编辑状态,这是用scaEditCreatePoint画点的前提。

问:object中支持影像图层半透明吗?
答:soLayer. RasterOpaqueRate 接口可以实现

问:将VS程序的Release文件考到64位机器上双击运行没有反应
答:要注意,在编译时要设置目标平台为“x86”,而不要选“Any CPU”

SuperMap iObject常见问题解答集锦(七)相关推荐

  1. SuperMap iObject常见问题解答集锦(五)

    作者:皇皇 问:对于某个图层的过滤显示,是否可以使用鼠标绘制的区域确定显示的范围 答:通过设置SuperMap控件的ClipRegion和ClipRegionEnable属性设置地图中的显示范围,通过 ...

  2. SuperMap iObject常见问题解答集锦(四)

    作者:皇皇 问:打包完成,在机器上安装注册smregister.exe死在那里无响应,单独注册smregister.exe就没问题,为什么? 答:打包时漏了超图打包时必打的一些文件,比如Plugins ...

  3. SuperMap iObject常见问题解答集锦(二)

    作者:皇皇 问:运行VB范例程序出现资源不足的问题,如何解决? 答:VB范例程序在VB 6 + SP5的环境下可以正常使用. 问:SuperMap Objects不能正确卸载,无法重新安装? 答:按照 ...

  4. SuperMap iObject常见问题解答集锦(三)

    作者:皇皇 问:如何在程序运行前检查super Objects的安装版本 答:通过SuperMap Objects控件的AboutBox,判断Objects的版本. 问:1.Oracle数据集设置可编 ...

  5. SuperMap iObject常见问题解答集锦(八)

    作者:皇皇 问:在使用objects .net6R运行程序时,报"未能加载由SuperMap.Mapping.Version=6.0.0-导入的过程"错误,该如何解决? 答:此类错 ...

  6. SuperMap iDesktop常见问题解答集锦(七)

    作者:皇皇 问:怎样添加三维飞行路线? 答:指定一条二维的线对象输出为sml文件,然后在"三维--飞行--指定飞行路线"中加载这个sml飞行路线即可. 问:在Desktop中矢量化 ...

  7. SuperMap iServer常见问题解答集锦(十五)

    问:在weblogic上有多个domain域,并且将iServer部署在了这些domian域上,但是只要访问一个iServer的时候就会导致其他的iServer访问不了了,是什么原因? 答:每一个iS ...

  8. SuperMap iDesktop常见问题解答集锦(五)

    作者:皇皇 问:在SuperMap Deskpro 6 中勾选跨图层编辑后,为何不能像SuperMap Deskpro .NET 6R一样同时选中两个图层的数据? 答:SuperMap Deskpro ...

  9. SuperMap iDesktop常见问题解答集锦(六)

    作者:皇皇 问:在SuperMap Deskpro 6 中勾选跨图层编辑后,为何不能像SuperMap Deskpro .NET 6R一样同时选中两个图层的数据? 答:SuperMap Deskpro ...

最新文章

  1. 如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ?
  2. 公司访问实录 | 数据中心的运维难题知多少
  3. VBA学习_5:流程控制
  4. PAT L3-015 ---- 球队“食物链”(DFS)
  5. mysql以下日期函数正确的_[数据库]MYSQL基础03(日期函数)
  6. 第三届人本沙龙12月活动小结
  7. 安装虚拟机之下载windows镜像
  8. 人的9种2266对联文字的世界纪录(图)
  9. 如何修改Notes邮箱中的收件箱标题宽度
  10. 手把手带你可视化分析NBA首轮球队表现及火勇对决前瞻!
  11. MATLAB 实现滑轮运转 动态
  12. 公司电子企业邮箱注册哪个好,电子企业邮箱怎么写?
  13. 苹果发布会说明了什么?
  14. 在编译器中鼠标光标变成下横线的解决办法
  15. 软件著作权的鉴定材料提交
  16. spark:Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解
  17. Rockchip Android平台内存优化及系统裁剪
  18. 电脑文件不小心删除了怎么恢复 ? 删除的文件如何恢复文件?
  19. css 定位连线_前端css实现两点连线
  20. Demo的卡通渲染方案

热门文章

  1. Angular 5.x 系列教程笔记(一)——快速入门
  2. PL/SQL7中的SQL美化器设置
  3. Adblock浏览器插件屏蔽百度热搜
  4. 表单焦点: focus/blur
  5. 利用python实现批量修改文件的md5值
  6. OpenCV API使用笔记 —— 3. 如何读取和保存图片
  7. 20220519数据结构绿皮书读书笔记
  8. 纵向联邦学习及相关算法
  9. 【流媒体开发】11、ffmpeg命令过滤器(裁剪、水印、画中画、多宫格)
  10. 激光键盘之获取图片数据