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

作者:朝阳


问:SuperMap iServer 8C启用多线程模式需要注意什么?
答:SuperMap iServer 8C本地地图服务提供者会默认启用多线程模式,启用之后会使用8100端口,注意该端口号不能被其他程序占用。

问:在 Flash Builer 4.0 可执行的 application 程序有时会变为不可执行的?
答: 解决此问题有两种方法:

1)右键单击 mxml 文件,将其设置为“默认应用程序”;

2)打开工程目录下的 .actionscript 文件(使用文档编辑工具打开) ,找到标签标记的模块,其中列举了当前工程中可执行的 Application 程序,如下图所示。将您需要可执行的 Application 程序按照下列格式加入标签即可,其中 path 为程序路径。

问:SuperMap iServer Java 6R 以 REST 方式提供 GIS 服务,每一个资源都对应服务端的一个 URL,在客户端如何正确设置 URL 以此能够获取相应的服务?
答:首先可以通过浏览器访问 SuperMap iServer Java 6R 提供的所有可用服务列表,访问地址为:http://{服务器地址}:{服务端口号}/iserver/services。在可用服务列表中列出了所有可用的地图服务、数据服务、网络分析服务等。

  1. 如果请求地图服务,包括地图显示、地图查询、量算、子图层控制等的 URL 应为:http://{服务器地址}:{服务端口号}/iserver/services/{地图服务名}/rest/maps/{地图名};

  2. 如果请求网络分析服务,则 URL 应为:http://{服务器地址}:{服务端口号}/iserver/services/{网络分析服务名}/rest/networkanalyst/{网络数据集@数据源};

  3. 如果请求数据服务中数据集查询服务,则 URL 应为:http://{服务器地址}:{服务端口号}/iserver/services/{数据服务名}/rest/data/featureResults;

  4. 如果请求数据服务中数据集编辑服务,则 URL 应为:http://{服务器地址}:{服务端口号}/iserver/services/{数据服务名}/rest/data/datasources/name/{数据源名}/datasets/name/{数据集名}/features。

  5. 构造好每个功能的 URL 以后,可以先通过浏览器来访问您设置的 URL 地址,如果成功返回相应页面则说明该 URL 设置正确,可在程序中使用;如果浏览器返回错误信息,则说明该 URL 构造有误,或服务出现问题,这时需要分别对服务和 URL 进行问题确认。

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

问:通过双击 sampleCode.html 在本机直接运行示范代码时出现“无法访问本地资源”类似的错误对话框,或运行后为空页面?
答:这是 Flex 安全沙箱问题,您需要按照以下步骤解决此问题:

1)在您的系统安装盘(如:C盘)中找到 C:\Users[计算机名]\AppData\Roaming\Macromedia\Flash Player#Security 文件夹(该目录仅作参考,若系统盘中不存在该路径,您可在搜索栏中直接搜索“#Security”文件夹),进入…\ #Security\FlashPlayerTrust目录下,新建一个 .cfg 文件(文件名称可任意定义),其中写入以下内容(如果您本机还有更多系统盘,按以下方式一一写入):

2)进入 C:\Windows\System32\Macromed\Flash 路径下,查找是否存在FlashPlayerTrust文件夹。如果不存在,将上一步中的FlashPlayerTrust文件夹拷贝到此文件夹下;如果存在,则只需将上一步新建的 .cfg 文件拷贝到此文件夹下即可。
3)重新运行samplecode.html。

提示:如果您的系统中不存在1)中所述的文件夹 #Security,执行2)、3)步即可。在第2)步中您需新建FlashPlayerTrust文件夹,并按照第1)步新建 .cfg 文件。

问:运行 sampleCode.html 后无法显示界面
答:这是因为您按装的 Adobe Flash Player 的版本过低引起的,请选择按装 Adobe Flash Player 10.或以上版本。

问:SuperMap iServer转发arcgis的rest服务;浏览出图是模糊的像是图片被压缩或者拉伸了,这是怎么回事?
答:由于服务是通过arcgis rest服务作为数据源转发的,这种情况多半可能是arcgis服务本身设置了固定比例尺引起的

问:iServer如何修改当前登录用户的密码?
答:有2种方法:
1.可以访问http://localhost:8090/iserver/services/security/profile 直接修改密码
2.可以通过rest API中发put请求,请求地址
http://localhost:8090/iserver/services/security/profile.json?oldPassword=123456
(123456为旧密码)
请求体为:
{
“name”:“p1”,
“password”:“supermap”
}
当返回{“succeed”:true}表示返回成功。

问:不想通过登录iServer查看切图任务,如何实现?
答:可以发get请求,请求地址:http://localhost:8090/iserver/manager/tileservice/jobs.rjson,获取切图任务列表。其中id表示切图任务 ID,state表示切图任务当前的工作状态,info表示切图任务的基本信息

问:如何使SuperMap 7C产品试用许可失效?
答:修改计算机时间超过许可试用时间,一段时间后或重启许可服务试用许可即会失效。

问:使用 64 位的 SuperMap iServer 发布 DB2 数据源的数据,为什么服务内容为空?
答:64 位的 SuperMap iServer 打开 DB2 数据源时需要使用 64 位的 DB2 客户端,请确保当前系统正确安装配置了 64 位的 DB2 客户端。

问:SuperMap iServer 发布WMTS 服务时,dpi和比例尺等参数是否可以自定义?
答:可以。先根据要求的参数通过SuperMap iserver服务管理器式添加WMTS服务类型接口(参考帮助文档“开始 > 配置管理 > GIS 服务的配置与管理 > iServer 体系结构中各层的配置 > 服务接口层的配置 > 通过服务管理器配置服务接口”),再发布成WMTS服务即可。

问:SuperMap iServer 控制台为什么经常出现“ WARN - The configured limit of 1,000 object references was reached while attempting to calculate the size of the object graph.”警告信息?
答:该警告是查询数据量过大导致的输出信息,并不影响使用。

问:用SuperMap iDesktop7C更新数据集后,SuperMap iServer中发布的地图为什么看不到更新的内容?
答:可能是因为之前浏览过该地图同一个比例尺和区域,SuperMap iServer 在【SuperMap iServer 安装目录】\webapps\iserver\output\cache 目录下生成了缓存文件,删除缓存后重新浏览地图就可以看到更新后的地图。

问:如何获取iServer服务器当前状态?
答:可以针对servicesLoad 资源 http://localhost:8090/iserver/manager/serverstatus/servicesload.rjson 执行 GET 请求,从而可以获取服务器平均响应时间,服务器当前并发数等信息。

问:iServer启动环境每次都需要检查,如何不让其检查?
答:修改iserver-system.xml 在properties节点中,设置false 就不会检查了。

问:用iserver成功发布了工作空间却没有地图列表?
答:1.地图的数据集所属数据源被关闭或者被损坏。
2.制作工作空间的桌面软件版本高于iserver的版本,请检查桌面软件和iserver的版本。

问:发布oracle工作空间为什么会提示工作空间连接字符串错误?
答:一般情况下,发生这种状况大致是由于以下几个原因造成的:
1.oracle连接的信息填写错误。如服务名是iserver本地的oracle的实例名。
2.iserver的位数和oracle的位数不一致。如果装的是64位的oracle,32位的iserver,在iserver的本地装一个32位的oracle客户端即可。
3.发布的工作空间数据是由更高版本的桌面软件制作的。最好制作工作空间数据的桌面软件版本要低于iserver版本。

问:在使用SuperMap iServer 7c进行分布式切图时向子节点推送数据总是失败?
答:进行分布式切图时只需要在主节点发布地图服务,但是发布服务所填写的工作空间路径目前只能是相对路径不能使用绝对路径;另外目前和工作空间同级的文件夹和文件都被推送所以工作空间需单独放在一个文件夹中。

问:当部署在实际运行环境上的SuperMap iServer出现异常或者崩溃时,作为服务器管理者如何及时了解具体情况?
答:SuperMap iServer 7C版本新增邮件通知功能可将iServer的运行状态信息及时发送到服务器管理者的邮箱中,在iServer管理页面监控与统计-邮件通知选项中设置SMTP服务地址和通知级别即可

问:iServer能否强制性的清除临时资源,用于释放资源?
答:在7.1版本iServer中,打开服务管理器,在计划任务选项卡下,勾选是否启用定时资源回收功能,可以对 SuperMap iServer 服务器设置资源定时回收,从而提升服务器效率。回收周期可设置为每周或每天。

问:使用UGCMapProvider进行扩展开发过程中,如何判断地图是否支持空间查询等操作?

答:在7.0.1iServer上,新增support方法,用于判断地图是否支持该操作。该函数类型返回true表示支持该功能;返回false表示不支持该功能。

*问:停止 iServer 时,bin 下为什么会生成 .mdmp 文件,导致磁盘占用过多?
答:停止 iServer 时,请使用 shutdown.bat/sh,而不是 Ctrl+C 命令。

问:使用SuperMap iServer java 7c转发WMS服务报错误500是什么原因?
答:这种情况首先检查WMS服务根地址是否写对,另外注意目前SuperMap iServer只支持将版本为1.1.1版本的WMS服务作为远程WMS源进行发布,客户端请求服务时所填写的来源WMS服务地址必须支持WMS 1.1.1服务

问:iServer服务器访问统计如何清空?
答:停止iServer,删除iServer安装目录下的\logs\accessrecords.db文件,最后在重新启动即可

问:启动 fastDHT 服务的时候,提示“段错误”,是什么原因?

答:这是因为 fastDHT 需要的依赖 libdb-5.3.so 没有正确安装或被指向链接。可以使用命令 ldd /usr/local/bin/fdhtd 查看 fdhtd 的所有依赖,如果显示的 libdb 不是5.3版本,则需要手动在 libdb.so 所在的目录下修改 libdb.so 的符号链接,将其指向 BDB 5.3 的动态库。
注意:不同操作系统下 libdb.so 所在的位置不一样,如果命令 ldd /usr/local/bin/fdhtd 的结果显示的是 libdb-4.7.so => /usr/lib/libdb-4.7.so,则需在 /usr/lib/ 目录下创建5.3的符号链接;如果命令结果显示的是 libdb-4.7.so => /lib64/libdb-4.7.so,则需在 /lib64 目录下创建5.3的符号链接,

问:查询出来的面如何得到其周长
答:可以根据查询结果的geometry得到里面的parts数组,下来
1.去掉最后一个重复点(因为最后一个点就是第一个点)点连线生成一条直线,量算这条直线得到结果1.
2.将上面最后一个点和起点构成一条直线在量算,得到结果2.
将结果1和结果2相加最终得到其周长

问:没有数据集,只有一些x,y点集合和其所对应的值,能否做等值面,等值线分析?
答:可以使用GeometrySurfaceAnalystParameters
其中的points属性传入点集合数组,zValues传入对应值集合数组即可。

问:叠加分析结果如何和地图范围相符合
答:可以使用SurfaceAnalystParametersSetting中的clipRegion来和地图的面范围进行裁剪。
可以先将地图的面查询出来获取其的geometry,然后在clipRegion指定为上面的geometry即可。

问:矢量数据绑定列表控件FeatureDataGrid中的字段名称能否设置为字段别名?
答:设置FeatureDataGrid的captions属性为字段别名集合即可。

问:对地图作图层过滤后不显示的要素为什么还能查询出来?
答:图层过滤只是将满足过滤条件的要素设置为不可见,所以满足查询条件的不可见要素仍然能够查询出来。如果不想查询出不可见的要素,在查询条件中加上图层过滤条件即可。

问:如何查询一个点周围距离最近的一个要素?
答:可以使用距离查询QueryByDistanceService实现,并设置QueryByDistanceParameters的isNearest属性为true和expectCount属性为1,其他属性根据需要进行设置。

问:进行绘图操作时监听DrawEvent.DRAW_END事件,为什么从DrawEvent中获取的绘制操作的起点坐标startpoint为null?
答:监听DrawEvent.DRAW_END事件,从DrawEvent中可以获取绘制操作的终点坐标endPoint和与当前事件关联的矢量要素 Feature。如果需要获取绘制操作的起点坐标startpoint,应该监听DrawEvent.DRAW_START事件。

问:在Flex客户端上,将feature加入到fetureLayer中,然后再把featureLayer加载到地图上,发现地图不能平移了,请问怎么解决呢。
答:当featureLayer添加到地图上后,有时候会出现featureLayer把地图遮住的情况,这时候只需要将featureLayer的isPanEnableOnFeature设为true即可。

问:Flex比例尺缩放条显示内容如何自定义,默认是放大缩小
答:可以给ZoomSlider加个creationComplete 修改ZoomSlider的 zoomInButton.toolTip 和zoomInButton.toolTip

问:在用FlexMobile进行SQL查询的时候,各个参数与API的要求相对应,在运行的时候,有时可以运行成功,有时运行失败,这是什么原因造成的?
答:使用FlexMobile在移动端进行SQL查询的开发的时候,如果不设置expectCount期望返回结果记录数,就会出现这种情况。

问:在使用Flex客户端实现生成泰森多边形功能时,出现第一次能得出正确结果,后面再去运行时,总是提示“查询结果为空”,或者是没能实现泰森多边形的效果,这是什么原因?
答:这个可能是在设定生成泰森多边形的参数时,把resultDatasetName(结果数据集名称)设置为固定值造成的,可以通过把resultDatasetName设置为空或者设置为变化参数即可。

问:在Flex客户端中利用DrawCircle进行画圆时,如何实现在画圆结束的同时,计算所画圆的半径?
答:这个可以通过监听鼠标事件,获取起始点和结束点的坐标,然后利用客户端中的量算服务,即可计算得出所画圆的半径。

问:在进行SQL查询时,能否实现对多个数据集同时进行SQL查询?
答:可以实现对多个数据集同时进行SQL查询,这个功能只能通过queryServices服务中的SQL查询实现;dataServices服务中的SQL查询不能实现这个功能。

问:能否针对空数据集进行SQL查询?针对空数据集进行SQL查询时,出现应用系统崩溃现象,可能是什么原因造成的?
答:可以对空数据集进行SQL查询。出现应用系统崩溃现象,可能是所要进行SQL查询的空数据集,没有添加到所要查询的地图服务上面造成的。

问:进行几何查询的时候,SpatislQueryMode中的查询模式可以同时使用多个吗?
答:不可以。SpatialQueryMode中的查询模式不可复选使用的,如果想要实现多次几何查询的效果,只能经过多次的几何查询实现。

问:在做添加、修改字段属性时,Date类型失败
答:直接new出来的Date类型他的格式未必是符合要求的。所以需要先格式化,再做添加、修改操作。
var time:Date = new Date();
var fr:DateFormatter=new DateFormatter();
fr.formatString=“YYYY-MM-DD JJ:NN:SS”;
feature.attributes.TIME = fr.format(time);

问:如何设置 InfoWindow 的显示方位?
答:InfoWindow默认显示在右上位,可通过InfoWindow的setStyle方法设置,如:infowindow.setStyle(“infoPlacement”, InfoPlacement.TOP)将InfoWindow显示在上方位。

问:SuperMap iClient for Flex,点密度专题图ThemeDotDensity, 如何设置自定义符号风格。
答:可以在ThemeDotDensity.style.markerSymbolID = 1中设置,其中1为点符号的属性编号,可以在Deskpro.NET中查看。

问:SuperMap iClient for Flex,子图层控制失败,提示获取信息失败,图层显示不了。
答:清空IE缓存,地图缓存,重建空间索引,重新计算范围即可。

问:SuperMap iClient for Flex缓冲区分析,缓冲半径单位是什么?
答:首先,要先确定是数据集缓冲区查询还是空间分析缓冲区分析,数据集缓冲区查询参数类GetFeaturesByBufferParameters,其缓冲的半径bufferDistance单位为地图单位。数据集缓冲区分析参数类DatasetBufferAnalystParameters,其缓冲区分析通用参数BufferSetting单位为米。

问:SuperMap iClient for Flex,设置了属性表的别名,但是在查询的时候,返回结果为空。
答:属性表的别名,只能用默认生成的来用,如果修改了别名,查询结果为空。

问:使用SuperMap iClient 6R for Flex 如何关联外表做专题图?
答:设置ThemeParameters的joinItems属性即可,示例代码如下:
//设置关联信息
var joinItem:JoinItem = new JoinItem();
joinItem.foreignTableName = “view_Tabular”;
joinItem.joinFilter = “New_Region.SMID = view_Tabular.SMID”;
joinItem.joinType = JoinType.INNER_JOIN;
//定义获取专题图时所需参数
var themeUniqueParam:ThemeParameters = new ThemeParameters();
themeUniqueParam.themes = [theme];
themeUniqueParam.dataSourceNames = [“ORCL”];
themeUniqueParam.datasetNames =[“New_Region”];
themeUniqueParam.joinItems = [[joinItem]];

问:启动SuperMap iServer Java 6R(2012)时为什么报“空间处理建模服务使用到的数据库连接发生异常,定时调度器启动异常,请检查相关配置”警告?
答:这是SuperMap iServer Java 6R(2012)中新增加的空间处理建模服务模块,需要配置数据库。这个警告不影响正常的使用。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值