SuperMap iServer常见问题解答集锦 (二)

作者:朝阳


问:什么原因造成使用Flex4.5SDK开发Flex工程中文名称的地图出不来?
答:目前不建议使用SDK4.5,建议换为SDK4.0,如果要使用SDK4.5的话,建议将地图名修改为英文。

问:初始化地图时如何放大到某一比例尺下
答:可以在map控件的load()方法中调用map对象的zoomToLevel()或zoomToScale()方法。

问:初始化地图时如何自定义地图的范围?
答:自定义地图的范围可以使用map对象的viewBounds属性来实现,例如:map.viewBounds = new Rectangle(80,0,140,160)。

问:SuperMap iClient 6R for Flex给查询出来的feature添加新的属性值,将feature添加到FeatureDataGrid中显示,在Flex中给feature添加新的属性,字段名可以出来,但是字段值为undefined,这是为什么?
答:这是因为未设置FeatureDataGrid的Captions属性,设置后解决。若数据记录为用户自定义要素,则该属性为必设属性,表示字段的显示顺序。

问:SuperMap iClient 6R for Flex使用数据集查询只返回20个要素,而实际上查询结果中要比20个多,这是为何?
答:GetFeaturesBySQLParameters的toIndex默认值为19,即表示只返回索引值为0到19的记录,如果想返回更多的值,可以设置该参数,如果想返回所有结果,设置GetFeaturesBySQLParameters.toIndex的属性值为-1即可。

问:使用SuperMap iClient 6R for Flex如何实现关联查询?
答:设置FilterParameter的joinItems属性或者linkItems即可,示例代码如下:

//定义 SQL 查询参数
var filter:FilterParameter = new FilterParameter();
filter.name = "Capitals@World";
filter.attributeFilter = "New_Table.smid > 0";

//JoinItem参数设置
var joinItem:JoinItem = new JoinItem();
joinItem.foreignTableName = "New_Table";
joinItem.joinFilter = "Capitals.SMID = New_Table.SMID";
joinItem.joinType = JoinType.INNER_JOIN;
filter.joinItems = [joinItem];

var queryBySQLParam:QueryBySQLParameters = new QueryBySQLParameters();
queryBySQLParam.filterParameters = [filter];

问:使用数据集查询时,同时查询多个图层,如何操作。

答:在最新版Flex使用数据集查询的FilterParameter中的name可以不用设置,这样就可以查询多个图层。

问:在地图中使用不了缓存。
答:1:在地图中设置比例尺要与缓存中的比例尺一直。
2:重新设置图层的tilesize属性,使其与切图的大小一样。

问:SuperMap iServer Java 6R发布一个影像图,影像图在Despro6R.NET中添加过背景色(比如绿色),但是在Flex客户端的范例中访问时底图还是白色的?
答:SuperMap iServer Java 6R发布地图之后,用FlexBuilder-Flex客户端的范例访问时需要对范例中的应用程序:标签和标签,这样设置后地图背景颜色和底图颜色才会是相同的。

问:我在用(SuperMap iClient6R For Flex)距离查询中FilterParameter的orderBy属性时没有作用不能对查询结果中的字段进行排序,请问该怎么解决?
答:QueryByDistanceService(sp16.1-iClient 6R For Flex)目前ugo底层不支持,这个属性还不支持分组、排序操作,只支持attributesFilter。

问:Flex地图初始化的时候显示到某级别和某范围
答:在map标签中load方法的函数中加map.zoomToScale()即可,里面传入比例尺以及中心点坐标。

问:Flex数据集查询多个图层时如何查询
答:数据集查询多个图层时,首先queryBySQLParameters.datasetNames里面传入多个图层即可,例如

[“World:Capitals”,“World:CountryBoundary”],还有filterParameter.name不需要指定某个图层。例

如范例代码中数据集查sql查询范例,filterParameter.name = "Countries@World";这句话可以不用写

问:距离查询参数中的查询距离distance、缓存区查询中的缓冲半径bufferDistance、缓冲区分析中的缓冲距离BufferDistance单位分别是什么?
答:查询距离distance和缓冲半径bufferDistance的单位均与数据集单位相同,缓冲距离BufferDistance的单位是米。

问:iClient for Flex客户端的查询中如何查询多个图层?
答:在查询参数的filterParameters属性中写多个FilterParameter 即可。

问:Flex鹰眼默认呈关闭状
答:给鹰眼添加一条属性currentState=“origin” 即可完成初始化鹰眼呈关闭状

问:iClient for Flex客户端如何使鼠标放在ElementsLayer的元素上也能平移地图?
答:设置ElementsLayer的isPanEnableOnElement属性为true即可。

问:通过Flex客户端做最佳路径分析,我得到整条路径的对象,我如何才能得到这一条路径里每一小段的路径几何信息?
答:交通网络分析结果路径Path对象里有pathGuideItems属性,该属性存放的是行驶导引pathGuideItem对象数组,pathGuideItem对象的geometry属性就是行驶导引子项的几何信息。

问:如何自定义FeatureDataGrid的显示内容和标题
答:首先,如果只想显示所需要的属性,那么在查询的时候设置过滤字段,如在FilterParameter中设置fields属性,那么查询的时候只查询结果只返回设置的这些属性。
其次,如果想改变FeatureDataGrid上面标题内容,那么需要设置其captions属性,里面需要设置返回的标题名称,如果返回4个字段,那么就设置4个字段,一一对应即可。

问:使用Flex客户端做多地图叠加想让最顶端的地图呈现半透明效果该如何实现?
答:通过设置TiledDynamicRESTLayer的alpha属性即可,半透明的话这个值设置为0.5。

问:如何修改SuperMap iServer 7C地图缓存存放的物理路径?
答:打开目录【iServer\webapps\iserver\WEB-INF】下的iserver-system.xml文件,将…/…/webapps/{contextPath}/output节点中的路径修改为自己需要设置的物理路径即可。

问:iServer扩展时,使用距离查询queryByDistance时,为什么不能设置只返回最近一条结果?
答:查找距离最近的,使用方法为findNearest。

问:SuperMap iServer是否可以发布自定义比例尺级别的WMTS服务?
答:可以,在服务接口中,添加一个自定义比例尺级别的WMTS服务接口即可。

问:iServer切得预缓存,如何增加所切得级别,如原本是10级,现在增加到12级,需要重新切那10级吗?
答:不需要,只需在预缓存列表中,编辑缓存地图,手动增加2级然后点击确定,最后启动任务即可。

问:如何查看使用的SuperMap iServer的版本?
答:方法一:一般zip包的名称上有SuperMap iServer的版本号;方法二:浏览器打开SuperMap iServer主页(http://localhost:8090/iserver),在页面最下面显示的有SuperMap iServer的版本。

问:SuperMap iServer 7C 提供了两种查询(QueryBy 和 GetFeaturesBy**),它们有什么区别?**

答:SuperMap iServer 7C 提供了两类查询功能,一类是针对地图的查询,一类是针对数据集的查询。我们知道一幅地图由一个或多个图层组成,一般而言,一个图层对应着一个数据集;同一个数据集可以被多次添加到同一个地图,此时,多个图层对应着同一个数据集;同样一个数据集也可能不对应地图中的任何图层。因此如果我们只是希望对获取到的地图的某些图层进行查询,则既可以使用地图的查询(SuperMap.Web.iServerJava6R 命名空间下的查询),也可以使用数据集查询(SuperMap.Web.iServerJava6R.Data 命名空间下的查询)。如果我们只希望对数据源中的数据集进行查询,而不基于任何地图或该数据集不对应地图中任何图层,则只能使用数据集查询。

问:为什么配置 CAS 认证服务器后,单点登录认证失败
答:如果 CAS 认证服务器和 GIS 服务器不在同一台机器上,由于两台机器的时间差,可能导致登录验证不成功,这时需要调整两台机器的时间保持一致,或延长容错时间间隔,iServer(或 iPortal、iExpress)默认的时间差容限为 3 分钟。修改容错时间差容限的方法是编辑shiro.ini(WEB-INF 下),修改 casRealm.tolerance 参数(单位为毫秒)如下:

casRealm.enabled = false
casRealm.reserveSystemAccount = true
casRealm.casServerUrlPrefix = http://{ip}:{port}/cas
casRealm.casService = http://{ip}:{port}/{contextPath}/shiro-cas
casRealm.securityInfoDAO = $sqliteRealm
casRealm.tolerance = 180000

问:在使用数据库类型工作空间和数据源时,后台增加的记录,iServer获取不到?
答:修改iServer与数据库交互的时间,在iserver-system.xml中,增加/修改
checkDatasourceConnectionInterval节点,单位为秒,默认为30秒。修改完成后,重启iServer服务。

问:为什么启动服务后访问服务管理器(WebManager)时,服务器返回401?
答:如果以前在同一浏览器使用了 SuperMap iServer 6R(2012) 6.1.3的 Beta 或 RC 版,升级到 SuperMap iServer 6R(2012) 6.1.3的正式版时,可能会出现401错误。因为 SuperMap iServer 在 6.1.3正式版升级了安全登录的 Cookie 信息,如果使用旧版本的产品时点击过登录页面的“记住我”,则访问6.1.3 正式版产品时就可能因浏览器保存的旧的 Cookie 信息而导致401错误。

解决方法是:清除浏览器 Cookie 信息。

问:为什么 SuperMap iServer 提供的 WMTS 1.0.0服务在常用工具 Gaia 中打不开?
答:Gaia 只识别节点,不识别节点,而 iServer 提供的 WMTS100接口的 GetCapabilities 中包含3857对应的 节点,所以在 Gaia 中无法打开 WMTS100服务。解决这个问题,需要用户自定义 WMTS 接口,比例尺集合应选择投影4326对应的比例尺集: GlobalCRS84Scale,GlobalCRSPixel,GooleCRS84Quad,ChinaPublicServices,当数据自身投影为4326时,也可以选择 Custom。

问:分块动态图层可以做地图旋转吗?
答:可以,将动态图层设置layers.transformAround进行设置,具体的可以仿照flex范例代码中,地图旋转范例

问:iServer7C如何定时重启?
答:登陆manager 管理页面,在计划任务中可以设置定时重启iServer

问:在较低版本的Linux系统上使用7C产品时,服务无法启动,support/objectsjava/bin/libWrapj.so 出现 libgomp.so 相关的错误,如何解决?
答:可能是因为系统缺少了相关的动态库文件所致,目前已知的文件有:libgomp-4.4.0-6.el5.i386.rpm 和 libgomp-4.4.0-6.el5.x86_64.rpm。

问:产品升级到7C后为什么Linux操作系统上有时候出现中文乱码问题?
答:目前已知可能出现的乱码问题与相应的解决方式有以下两种:

(1)WFS服务和Data Rest服务中的中文数据集名显示乱码。如果出现这种现象请将数据升级到7C版本。

(2)缓存目录和文件名显示乱码。这是由于系统的LANG环境变量与 iServer 使用的 LANG=zh_CN.UTF-8 不同导致的显示问题,不影响功能使用。可将系统的LANG也修改为 zh_CN.UTF-8,以保证显示正确。

问:iServer 对部署路径有哪些要求?
答:部署 iServer 服务时,所使用的 JDK/JRE 路径中不能含有括号,否则会导致 Oracle 数据源连接失败。

问:为什么将 FastDFS 地图切片集导出为 MBTiles 文件后,有时结果为白图或不正确?
答:在FastDFS 地图切片集正在写入时导出 MBTiles 文件,此时生成的文件可能不能包含最新的切图结果。如果地图切片集是第一次写入,此时导出的MBTiles可能出现白图;如果不是第一次写入,导出的MBTiles文件会不包含最新的结果,导致其中的切图结果不正确。
因此,请等待FastDFS 地图切片集写入完成后再导出MBTiles文件。

问:为什么使用分布式切图服务时有的子节点不切图?
答:请检查子节点的地图数据,如果使用的是文件型数据源,需要保证子节点的地图数据与父节点的数据具有相同的路径。

问:如何调整数据库检查的频率?
答:SuperMap iServer 支持调整数据库检查的频率,即检查“数据库型 工作空间”是否改变或“数据库型数据源”是否断开的时间间隔。具体方法是:修改系统配置文件(iserver-system.xml)中的 参数值。

问:Oracle 等数据库型的工作空间为什么有时候会打开失败?
答:SuperMap iServer 使用数据库型工作空间时会在操作系统的临时目录(如 Windows 下的%Temp%、Linux 下的/tmp 等)写入临时文件,如果系统的临时目录没有足够的空间,就会产生数据库型工作空间无法连接的问题。
因此,使用数据库型工作空间时,应确保系统的临时目录有足够的空间。

问:如何进行不同比例尺显示不同查询内容?
答:首先,地图需要设置比例尺,其次监听当前地图比例尺级别,然后在根据当前级别进行触发事件

问:Flex如何对地图进行裁剪?
答:可以使用 TiledDynamicRESTLayer中的 clipRegion 方法进行裁剪,将裁剪的GeoRegion传入即可

问:在使用缓存过程中,如何忽略哈希码?
答:在UGCMapProviderSetting中设置isIgnoreHashcodeWhenUseCache属性,既可以使用缓存时忽略Hashcode,该选项目前支持4.0和5.0缓存

问:Linux下如何申请和更新7C许可?
答:配置JRE和ObjectsJava环境变量,切换到ObjectsJava的bin目录下使用【java -jar com.supermap.license.jar -report 输出目录】 即可以得到相应的计算机描述信息,上传到资源中心,将得到的新的7C许可,导入linux中,在linux浏览器中输入http://localhost:1947,选择相应的Update选项,更新许可。

问:在使用集群过程中,iServer可以将GIS 服务和数据的自动推送到子节点吗?

答:可以,主节点中开启集群服务,设置token值(例如:supermap),子节点修改SuperMap iServer 安装目录\webapps\iserver\WEB-INF\iserver-system.xml中的controllable节点,填入相应的主节点服务地址等信息,重启子节点iServer即可。

问:使用空间分析服务进行数据集叠加分析报错:creatFromTemplate数据集的数据源是只读的,如何解决?
答:这种情况一般是工作空间打开数据源时设置了只读权限,取消掉数据源的只读设置即可,或者设置叠加分析参数dataReturnOption为RECORDSET_ONLY,只返回记录集

问:客户端调用网络分析服务,进行最近路径分析时。显示查询结果为空?
答:1.检查网络分析服务的url是否正确。
2.检查发布网络分析服务的距离容限是否按照需要更改
3.检查用于网络分析服务的网络数据集,是否存在数据方面的错误

问:高性能矢量图层的GraphicMarkerStyle是否支持添加动态的图片资源,为什么我传入一个图片资源的地址后在地图上显示不出来?
答:支持。GraphicMarkerStyle中的icon属性支持Class和Bitmap两种属性,直接传入地址资源师String类型,所以会失败。可以用loader加载某个动态资源的图片地址,在加载完成事件中将其转化成Bitmap。

问:iServer如何通过get请求获取服务器访问资源统计?
答:可以通过发送get请求,请求地址如下:http://IP地址:8090/iserver/manager/serverstatus/requests/statistics.json,然后带上相应的token值,解析json结果即可。

问:iServer7.1在使用mongodb分布式所切的缓存时,为什么集群服务访问还是十分的慢?
答:需要将集群子节点中也配置相应的切片类型,如:在子节点的服务管理中,选择相应的地图服务,在缓存选项栏中,缓存类型选择mongodb,存储位置选择所切的切片集,保存即可。

问:调用iserver的WMTS服务后,获取到的地图不完整?
答:设置TiledWMTSLayer 的bounds属性来修改地图的范围。

问:iServer在进行服务端扩展时,如何删除个数据集中指定的一条数据?
答:可以使用RestDataProvider中的deleteFeatures,指定数据源名称,数据集名称,待删除要素的 ID 数组即可。
问:我在用(SuperMap iClient6R For Flex)距离查询中FilterParameter的orderBy属性时没有作用不能对查询结果中的字段进行排序,请问该怎么解决?
答:QueryByDistanceService(sp16.1-iClient 6R For Flex)目前ugo底层不支持,这个属性还不支持分组、排序操作,只支持attributesFilter。

问:Flex地图初始化的时候显示到某级别和某范围
答:在map标签中load方法的函数中加map.zoomToScale()即可,里面传入比例尺以及中心点坐标。

问:Flex数据集查询多个图层时如何查询
答:数据集查询多个图层时,首先queryBySQLParameters.datasetNames里面传入多个图层即可,例如

[“World:Capitals”,“World:CountryBoundary”],还有filterParameter.name不需要指定某个图层。例

如范例代码中数据集查sql查询范例,filterParameter.name = “Countries@World”;这句话可以不用写

问:距离查询参数中的查询距离distance、缓存区查询中的缓冲半径bufferDistance、缓冲区分析中的缓冲距离BufferDistance单位分别是什么?
答:查询距离distance和缓冲半径bufferDistance的单位均与数据集单位相同,缓冲距离BufferDistance的单位是米。

问:iClient for Flex客户端的查询中如何查询多个图层?
答:在查询参数的filterParameters属性中写多个FilterParameter 即可。

问:Flex鹰眼默认呈关闭状
答:给鹰眼添加一条属性currentState=“origin” 即可完成初始化鹰眼呈关闭状

问:iClient for Flex客户端如何使鼠标放在ElementsLayer的元素上也能平移地图?
答:设置ElementsLayer的isPanEnableOnElement属性为true即可。

问:通过Flex客户端做最佳路径分析,我得到整条路径的对象,我如何才能得到这一条路径里每一小段的路径几何信息?
答:交通网络分析结果路径Path对象里有pathGuideItems属性,该属性存放的是行驶导引pathGuideItem对象数组,pathGuideItem对象的geometry属性就是行驶导引子项的几何信息。

问:如何自定义FeatureDataGrid的显示内容和标题
答:首先,如果只想显示所需要的属性,那么在查询的时候设置过滤字段,如在FilterParameter中设置fields属性,那么查询的时候只查询结果只返回设置的这些属性。
其次,如果想改变FeatureDataGrid上面标题内容,那么需要设置其captions属性,里面需要设置返回的标题名称,如果返回4个字段,那么就设置4个字段,一一对应即可。

问:使用Flex客户端做多地图叠加想让最顶端的地图呈现半透明效果该如何实现?
答:通过设置TiledDynamicRESTLayer的alpha属性即可,半透明的话这个值设置为0.5。

问:如何修改SuperMap iServer 7C地图缓存存放的物理路径?
答:打开目录【iServer\webapps\iserver\WEB-INF】下的iserver-system.xml文件,将…/…/webapps/{contextPath}/output节点中的路径修改为自己需要设置的物理路径即可。

问:iServer扩展时,使用距离查询queryByDistance时,为什么不能设置只返回最近一条结果?
答:查找距离最近的,使用方法为findNearest。

问:SuperMap iServer是否可以发布自定义比例尺级别的WMTS服务?
答:可以,在服务接口中,添加一个自定义比例尺级别的WMTS服务接口即可。

问:iServer切得预缓存,如何增加所切得级别,如原本是10级,现在增加到12级,需要重新切那10级吗?
答:不需要,只需在预缓存列表中,编辑缓存地图,手动增加2级然后点击确定,最后启动任务即可。

问:如何查看使用的SuperMap iServer的版本?
答:方法一:一般zip包的名称上有SuperMap iServer的版本号;方法二:浏览器打开SuperMap iServer主页(http://localhost:8090/iserver),在页面最下面显示的有SuperMap iServer的版本。

问:SuperMap iServer 7C 提供了两种查询(QueryBy 和 GetFeaturesBy**),它们有什么区别?**

答:SuperMap iServer 7C 提供了两类查询功能,一类是针对地图的查询,一类是针对数据集的查询。我们知道一幅地图由一个或多个图层组成,一般而言,一个图层对应着一个数据集;同一个数据集可以被多次添加到同一个地图,此时,多个图层对应着同一个数据集;同样一个数据集也可能不对应地图中的任何图层。因此如果我们只是希望对获取到的地图的某些图层进行查询,则既可以使用地图的查询(SuperMap.Web.iServerJava6R 命名空间下的查询),也可以使用数据集查询(SuperMap.Web.iServerJava6R.Data 命名空间下的查询)。如果我们只希望对数据源中的数据集进行查询,而不基于任何地图或该数据集不对应地图中任何图层,则只能使用数据集查询。

问:为什么配置 CAS 认证服务器后,单点登录认证失败
答:如果 CAS 认证服务器和 GIS 服务器不在同一台机器上,由于两台机器的时间差,可能导致登录验证不成功,这时需要调整两台机器的时间保持一致,或延长容错时间间隔,iServer(或 iPortal、iExpress)默认的时间差容限为 3 分钟。修改容错时间差容限的方法是编辑shiro.ini(WEB-INF 下),修改 casRealm.tolerance 参数(单位为毫秒)如下:

casRealm.enabled = false
casRealm.reserveSystemAccount = true
casRealm.casServerUrlPrefix = http://{ip}:{port}/cas
casRealm.casService = http://{ip}:{port}/{contextPath}/shiro-cas
casRealm.securityInfoDAO = $sqliteRealm
casRealm.tolerance = 180000

问:在使用数据库类型工作空间和数据源时,后台增加的记录,iServer获取不到?
答:修改iServer与数据库交互的时间,在iserver-system.xml中,增加/修改
checkDatasourceConnectionInterval节点,单位为秒,默认为30秒。修改完成后,重启iServer服务。

问:为什么启动服务后访问服务管理器(WebManager)时,服务器返回401?
答:如果以前在同一浏览器使用了 SuperMap iServer 6R(2012) 6.1.3的 Beta 或 RC 版,升级到 SuperMap iServer 6R(2012) 6.1.3的正式版时,可能会出现401错误。因为 SuperMap iServer 在 6.1.3正式版升级了安全登录的 Cookie 信息,如果使用旧版本的产品时点击过登录页面的“记住我”,则访问6.1.3 正式版产品时就可能因浏览器保存的旧的 Cookie 信息而导致401错误。

解决方法是:清除浏览器 Cookie 信息。

问:为什么 SuperMap iServer 提供的 WMTS 1.0.0服务在常用工具 Gaia 中打不开?
答:Gaia 只识别节点,不识别节点,而 iServer 提供的 WMTS100接口的 GetCapabilities 中包含3857对应的 节点,所以在 Gaia 中无法打开 WMTS100服务。解决这个问题,需要用户自定义 WMTS 接口,比例尺集合应选择投影4326对应的比例尺集: GlobalCRS84Scale,GlobalCRSPixel,GooleCRS84Quad,ChinaPublicServices,当数据自身投影为4326时,也可以选择 Custom。

问:分块动态图层可以做地图旋转吗?
答:可以,将动态图层设置layers.transformAround进行设置,具体的可以仿照flex范例代码中,地图旋转范例

问:iServer7C如何定时重启?
答:登陆manager 管理页面,在计划任务中可以设置定时重启iServer

问:在较低版本的Linux系统上使用7C产品时,服务无法启动,support/objectsjava/bin/libWrapj.so 出现 libgomp.so 相关的错误,如何解决?
答:可能是因为系统缺少了相关的动态库文件所致,目前已知的文件有:libgomp-4.4.0-6.el5.i386.rpm 和 libgomp-4.4.0-6.el5.x86_64.rpm。

问:产品升级到7C后为什么Linux操作系统上有时候出现中文乱码问题?
答:目前已知可能出现的乱码问题与相应的解决方式有以下两种:

(1)WFS服务和Data Rest服务中的中文数据集名显示乱码。如果出现这种现象请将数据升级到7C版本。

(2)缓存目录和文件名显示乱码。这是由于系统的LANG环境变量与 iServer 使用的 LANG=zh_CN.UTF-8 不同导致的显示问题,不影响功能使用。可将系统的LANG也修改为 zh_CN.UTF-8,以保证显示正确。

问:iServer 对部署路径有哪些要求?
答:部署 iServer 服务时,所使用的 JDK/JRE 路径中不能含有括号,否则会导致 Oracle 数据源连接失败。

问:为什么将 FastDFS 地图切片集导出为 MBTiles 文件后,有时结果为白图或不正确?
答:在FastDFS 地图切片集正在写入时导出 MBTiles 文件,此时生成的文件可能不能包含最新的切图结果。如果地图切片集是第一次写入,此时导出的MBTiles可能出现白图;如果不是第一次写入,导出的MBTiles文件会不包含最新的结果,导致其中的切图结果不正确。
因此,请等待FastDFS 地图切片集写入完成后再导出MBTiles文件。

问:为什么使用分布式切图服务时有的子节点不切图?
答:请检查子节点的地图数据,如果使用的是文件型数据源,需要保证子节点的地图数据与父节点的数据具有相同的路径。

问:如何调整数据库检查的频率?
答:SuperMap iServer 支持调整数据库检查的频率,即检查“数据库型 工作空间”是否改变或“数据库型数据源”是否断开的时间间隔。具体方法是:修改系统配置文件(iserver-system.xml)中的 参数值。

问:Oracle 等数据库型的工作空间为什么有时候会打开失败?
答:SuperMap iServer 使用数据库型工作空间时会在操作系统的临时目录(如 Windows 下的%Temp%、Linux 下的/tmp 等)写入临时文件,如果系统的临时目录没有足够的空间,就会产生数据库型工作空间无法连接的问题。
因此,使用数据库型工作空间时,应确保系统的临时目录有足够的空间。

问:如何进行不同比例尺显示不同查询内容?
答:首先,地图需要设置比例尺,其次监听当前地图比例尺级别,然后在根据当前级别进行触发事件

问:Flex如何对地图进行裁剪?
答:可以使用 TiledDynamicRESTLayer中的 clipRegion 方法进行裁剪,将裁剪的GeoRegion传入即可

问:在使用缓存过程中,如何忽略哈希码?
答:在UGCMapProviderSetting中设置isIgnoreHashcodeWhenUseCache属性,既可以使用缓存时忽略Hashcode,该选项目前支持4.0和5.0缓存

问:Linux下如何申请和更新7C许可?
答:配置JRE和ObjectsJava环境变量,切换到ObjectsJava的bin目录下使用【java -jar com.supermap.license.jar -report 输出目录】 即可以得到相应的计算机描述信息,上传到资源中心,将得到的新的7C许可,导入linux中,在linux浏览器中输入http://localhost:1947,选择相应的Update选项,更新许可。

问:在使用集群过程中,iServer可以将GIS 服务和数据的自动推送到子节点吗?

答:可以,主节点中开启集群服务,设置token值(例如:supermap),子节点修改SuperMap iServer 安装目录\webapps\iserver\WEB-INF\iserver-system.xml中的controllable节点,填入相应的主节点服务地址等信息,重启子节点iServer即可。

问:使用空间分析服务进行数据集叠加分析报错:creatFromTemplate数据集的数据源是只读的,如何解决?
答:这种情况一般是工作空间打开数据源时设置了只读权限,取消掉数据源的只读设置即可,或者设置叠加分析参数dataReturnOption为RECORDSET_ONLY,只返回记录集

问:客户端调用网络分析服务,进行最近路径分析时。显示查询结果为空?
答:1.检查网络分析服务的url是否正确。
2.检查发布网络分析服务的距离容限是否按照需要更改
3.检查用于网络分析服务的网络数据集,是否存在数据方面的错误

问:高性能矢量图层的GraphicMarkerStyle是否支持添加动态的图片资源,为什么我传入一个图片资源的地址后在地图上显示不出来?
答:支持。GraphicMarkerStyle中的icon属性支持Class和Bitmap两种属性,直接传入地址资源师String类型,所以会失败。可以用loader加载某个动态资源的图片地址,在加载完成事件中将其转化成Bitmap。

问:iServer如何通过get请求获取服务器访问资源统计?
答:可以通过发送get请求,请求地址如下:http://IP地址:8090/iserver/manager/serverstatus/requests/statistics.json,然后带上相应的token值,解析json结果即可。

问:iServer7.1在使用mongodb分布式所切的缓存时,为什么集群服务访问还是十分的慢?
答:需要将集群子节点中也配置相应的切片类型,如:在子节点的服务管理中,选择相应的地图服务,在缓存选项栏中,缓存类型选择mongodb,存储位置选择所切的切片集,保存即可。

问:调用iserver的WMTS服务后,获取到的地图不完整?
答:设置TiledWMTSLayer 的bounds属性来修改地图的范围。

问:iServer在进行服务端扩展时,如何删除个数据集中指定的一条数据?
答:可以使用RestDataProvider中的deleteFeatures,指定数据源名称,数据集名称,待删除要素的 ID 数组即可。

你可能感兴趣的:(云GIS,supermap,iServer,GIS,常见问题)