2016Esri大赛Android移动开发答疑(7月26日)

2
分享 2016-07-28
1. 同学:怎么用手机访问自己server上的地图服务?

工程师:没有DNS server解析域名的情况下,可以直接用IP访问。

同学:这样写会报错,怎么办?


图1

工程师:如果没有DNS server,又需要在URL中使用域名,就要在手机端配置hosts文件,填写server机器IP和域名,具体方式可以在网上找(可以借助360手机助手)。

2. 同学:请问ArcGISonline的地图数据怎么下载下来做空间分析用?

工程师:這个原始数据没法下载,然后在arcmap中直接进行分析。但是在移动端,可以直接调用服务,然后可以做一些分析。

同学:调用的服务要是arcgisonline上没有,怎么办?

工程师:那得自己发布服务了,需要有desktop 和ArcGIS for server.如果涉及到三维,还需要arcgis pro和arcgis datastore。


3. 同学:怎样在Android stuido 上怎样设置具有gis功能呢?

工程师:我可以将你的问题理解为搭建环境,使用arcgis runtime sdk进行开发么?如果是,可以参考<a href="https://developers.arcgis.com/ ... roid/ 下get started的部分。


4. 同学:机器配置:win7,64位;
软件为ArcGIS10.3系列与ArcGIS for Android 10.2.7;
数据为:点线面,其中点和线是低版本的库导入的,而面是10.3画的;
问题描述:①加载企业级地理空间数据库进入Dektop中,目的是为了制作离线的Android Runtime Geodatabase, 地图共六个图层,两个面图层和三个线图层一个点图层,没有注记图层.制作过程中没有报错.(但使用过程中报出数据类型不匹配的错),问这里的数据类型指的是什?是属性表中的属性字段的数据类型么? ②我所尝试过的操作:把所有的字段的数据类型改成和那两个面一直的情况下,同样出现上述问题.在制作Android Runtime Geodatabase过称中尝试只使用两个面图层进行制作,不会出现数据不匹配的问题;使用点线面,点面,点线,线面均会出现,数据类型不匹配的问题.初步认定是我线和点的数据有问题.请问我该向那些方向和方法排查这个问题,谢谢。 尝试先发布成服务再(开启Feature Access中的sync)下载下来得到离线的Runtime库。但只有在两个面的情况下不会报错,其余组合的情况下均会报错

在AS的控制台中的错误信息为data type dismatch。

工程师:是哪个环节出了這个错误?

同学:根据离线的数据库生成layer的时候。

工程师:有没有提示 caused by....之类的信息错误?

同学:准备要重现错误的时候,这次的状况是把数据成功的发布成了服务(包括开启了FeatureAccess和sync),错误信息看图:

图2


图3


图4


图5

工程师:你这个geodatabasetable里面有多个不同类型的feature table,但是我看你初始化图层的时候没有按table去初始化

同学:上面说是数据类型不匹配,那么是指的哪部分数据,是属性表中的属性字段么? ArcGIS Runtime中的数据类型都只是哪些?

工程师:你看下這个图片:

图6

同学:一样的吧,那个byId是按照原先库里面的原本的图层进行加载,而我的需求是所有的都加载,所以不用需要byId进行指定某个层进行加载的吧?

图7

工程师:我建议你可以按照id分table加载尝试一下,如果成功了了,這样还能排除你数据本身是否有问题。

同学:那ArcGIS Runtime geodatabase会有哪些数据类型不支持呢

工程师:关于你的问题runtime geodatbase的官方说明很少,這个类型是否支持的问题最直接的测试方式就是生成的时候进行分析


5.同学:请问这个怎么处理呢?


图8

工程师:這个对图层设置了比例尺依赖了,你右键图层取消尝试。

6. 同学:我调用arcgis上的路径导航服务,到手机上调试了下,结果手机上显示“未经授权访问一个安全的服务”就像下图这样,怎么办?


图9

工程师:你直接在手机的浏览器中直接访问這个地址,有可能是网络问题。

同学:我明白了,浏览器中显示的确实没法用那个服务,可是既然arcgisonline上有,为什么通过浏览器访问不了?

工程师:应该是你网络关系,翻墙可以解决。

同学:出现报错403。


图10

工程师:我试了确实不行,应该是美国服务器的事情。只找到一个美国的<a href="http://sampleserver3.arcgisonl ... erver,這种服务的前期数据不像普通地图服务那么简单。想了解可以先看下network analysis服务发布。


7. 同学:老师还有个问题就是,如何在离线状态下添加附件(本身的数据在在线状态下可以进行添加附件了),提供个思路或者哪里有参考么

工程师:這个没有现成的例子,你去github上找找,我记得這个是在layer的级别上使用addattachement的方法。


8. 同学:我所接触到的只有ArcGISFeatureLayer及其子类可以有addAttatchment的方法,像FeatureLayer,Layer没有这个方法。如果必须要实现,是不是就要脱离ArcGIS另外想办法了,查看源码得到以下信息。


图11


图12

必须都带有callbackListener,意思是不支持离线的了么

工程师:支持离线添加。


9.同学:老师我们比赛的时候使用开源框架算犯规么?

工程师:看你作品中ArcGIS的比重占多少。如果你的作品中同等技术中,ArcGIS的比重越低,或者不是主要功能的,分数应该不会特别高吧。

同学:明白了,能用ArcGIS实现的尽量用ArcGIS实现对的吧?我们提交作品如果提交安卓原生应用+Web应用组合可以么?

工程师:官方是直说可以提交安卓轻量级应用+Web应用组合。我分不清楚,要到时候负责的工程师来评判,如果你用的产品技术跟ArcGIS一点关系都没有,或者完全没用到ArcGIS,就无效了

同学:我们导师建议我们做一整个系统,但我看好像不符合参赛要求,所以特来问。就是在指同一个主题下,分别开发出移动应用和web应用,且移动应用和web应用之间还可以进行交流,

工程师:我认为,一个合格的作品或者一个好作品要做到的第一点原则是,内容要和题目相符。如果你提交作品的时候给自己的作品起了一个很大的题目,比如***信息管理系统。而实际上你做的只是这整个系统中其中一个业务方向,或者其中一个功能,并不是一个完整意义上的“管理系统”就是不具备综合和全面性,这样的作品就属于文不对题。就是一个作品有web端有移动端对吧,这个一直都可以啊,要不为什么我们web和移动合在一个组呢,因为有好多同学设计的就是都可以用的。当然不是要求所有的作品都必须有web有移动,一般同学误解都误解在两个都必须有了。每年决赛的时候都有这样的作品入围所以如果你看过历年作品赏析的话,会发现是可以的。那就顺便多说两句,一个好作品,要解答好三个问题:第一,你这个系统是给什么人做的?第二,你的系统给你的用户带来什么样的价值;第三,比较同类产品,你的系统优秀的地方在哪儿。

特别感谢:感谢河北师范大学张卓雅同学对此次沟通的整理。
 

0 个评论

要回复文章请先登录注册