文档章节

Skyline Web 二次开发-移动端数据发布及浏览

华山猛男
 华山猛男
发布于 2017/04/01 12:02
字数 2669
阅读 522
收藏 0

本章的测试内容将结合上一章进行讲解说明,相关步骤沿用。

Skyline Web 二次开发之移动端数据发布及浏览,Skyline 有自己的Android和IOS APP客户端用于移动端浏览,我们这次要做的就是将数据发布成移动端可用数据,可以在其APP上浏览可见,并且使用的是本机当作服务器来做外网发布,这里会用到路由器端口映射的知识。

概念讲解

通过本机当作外网服务器进行数据发布和浏览,一般用作测试临时之用,最终还是要用专业的服务器来发布。公司通过唯一的外网IP进行数据交换,该IP由电信颁发,当然是不是固定IP得测试才知道,否则猫断电一次外网IP就会更变一次,这样用作项目部署也是比较麻烦的。现在我们就是要利用公司内部的一台机器当作发布主机发布到外网,让用户通过外网IP+端口号的方式访问我们的FLY数据,进行浏览。

我们还得知道,利用Terra Explorer Pro可以生成浏览器端或移动端的3DML模型数据,不同的数据在移动端是无法显示,会直接报错,无法装载成功,因此需要我们在Terra Explorer Pro生成移动端的3DML数据,然后该数据部署到SFS中,回到te重新加载移动端的3DML数据到MPT上,重新生成移动端Mobile的FLY文件,这个FLY文件才能在APP中打开,不是移动端的FLY打开都会提示无法装载。

还有一点,既然是在公网,手机必然处于3G或4G模式下,不是在所谓的内部WIFI模式下。我们打开的FLY链接必然是公网IP链接,我们知道FLY文件是集成了MPT链接和3DML链接,因此MPT和3DML加载到TE里面的时候必须是采用公网链接+端口号的方式进行加载,否则输出的移动端FLY文件装载到APP依然会失败!

重要提示,3个服务或服务器必须统一在一个IP段内!如果是局域网类似192.168.1.x,广域网类似223.199.185.41,只是端口号不同。

发布流程-(1)端口映射

在路由器中设置好每个发布服务或服务器的端口号映射,TerraGate(6060)、SFS(7070)、FLY文件所在服务器(9090)。

接着在控制面板-管理工具-高级安全Windows防火墙,将端口号开放或者关闭防火墙。

测试,最简单的方法直接让别人(不在同一个网中)帮你在CMD里面telnet 公网ip 端口号(例:telnet 223.199.185.41 9090),就知道是否成功,至此,路由器端的端口映射已经完成。

发布流程-(2)Terra Gate Manager端口修改

打开Terra Gate Manager,在Terrain Service Settings中修改端口号,然后重启一下它的两个服务就好了。

测试,在Terra Explorer Pro中,可通过局域网IP(192.168.1.x)或广域网IP(唯一,通过百度或路由器可查223.199.185.41)加载,如果广域网出现加载失败的情况,请检查是否进行了端口映射,其次检查防火墙是否限制了端口,最后不行就换个端口,反正在别人的公网机子上telnet端口成功才行。

局域网加载:Globel1kE1k.mpt@192.168.1.222:6060

广域网加载:Globel1kE1k.mpt@223.199.185.41:6060(我这里使用这个)

发布流程-(3)Terra Gate SFS Administration端口修改

打开IIS,控制面板-管理工具-Internet信息服务IIS管理器,左侧下拉列表(默认Default Web Site下拉可以看到SFS已经部署在上面),点击到网站,选择绑定,添加端口7070,确定后绑定成功,重启一下。

接着打开Terra Gate SFS Administration网页,因为iis里面我设置了7070端口又做了端口映射,所以我可以通过多种方式打开这个网站。

http://localhost/SFS/Admin/Default.aspx(默认)

http://localhost:7070/SFS/Admin/Default.aspx(新添加的端口号)

http://192.168.1.222:7070/SFS/Admin/Default.aspx(局域网ip+端口号)

http://223.199.185.41:7070/SFS/Admin/Default.aspx(外网端口映射,外网IP+端口号,可在不同的外网机子下打开)

接着,在Settings中的Public Url和Local Server中的Local Server Url,这两个值都设置为一样的,以下根据自己的选择二选其一,一个是通过wifi局域网访问,一个是通过公网ip访问:

局域网:http://192.168.1.222:7070/SFS

广域网:http://223.199.185.41:7070/SFS(我这里使用这个)

发布流程-(4)Terra Explorer Pro数据转换

这里主要说明,将原来的3DML模型数据转换为移动端的3DML模型数据。

先通过物理路径加载mpt和3dml数据到te中,然后点击Mobile Kit,随便找个地方输出,然后将输出的3DML数据拷贝覆盖到Terra Gate Manager原来加载mpt文件的目录下,就是要覆盖掉原来的3DML数据,这时在第五步加载3DML数据就是移动端的模型数据了!!!敲黑板。

同理:Shp矢量数据发布成移动端,应遵从以下流程。

Feature Layer -> Shapefile -> From File -> 添加矢量数据到te,采用物理路径添加。

然后,在目录树中,找到该矢量右键 -> Export Layer -> Save As,另存出去则为可使用在移动端的矢量数据(经过这样导出的Shp矢量标注数据通过网络发布后可以正确识别出中文,否则会出现乱码)。

回到SFS的网页中,添加矢量数据目录,选择Data Sources,Server Type选择 Shape folder,设置路径点击ok。

接着点击Layer,添加矢量数据发布,到这一步矢量数据发布已经完成。

在te中加载矢量数据,需采用网络路径的方式加载即可,最后打包成移动端fly文件在移动端进行浏览。

输入登录SFS的地址,账户和密码。

选择网络发布的矢量数据。

这里贴两张图,关于加载矢量数据“点”和“面、线”的属性显示设置。

如加载“点”,需要调整Symbol -> Type 为Text Label(默认为Image属性是错误的),Text Options -> Text为蓝色表格符号中的指定字段。

如加载“面、线”,需要调整Position -> Altitude Method为Relative to terrain(默认为On terrain)。

 

发布流程-(5)Terra Explorer Pro数据加载

这里千万要注意,你使用不同的方式加载,会产生不同的结果,特别是在公网中访问,加载时必须使用公网的IP+端口号。

先加载MPT,先加载mpt球体模型,使用Globel1kE1k.mpt@223.199.185.41:6060,再加载3DML模型,使用http://223.199.185.41:7070/SFS(第四部已经将原来的3DML数据替换为移动端的3DML数据),建议在这里多添加一个定位点,好通过app里面的位置定位进行查看,然后保存一下,这个保存后的FLY也不用管,最后一步,点击te菜单栏中的Publish发布服务,发布成移动端FLY文件,随便找个地方输出,我们只需要这个FLY文件,这次输出是没有3DML数据的。

然后将输出的FLY文件,默认文件名为:DefaultMobile.fly,存放到需要引用的服务器目录下,我这里直接扔到Tomcat目录下。

启动Tomcat服务器,在手机端输入FLy文件的公网链接地址,即可访问成功,可使用模拟器测试!

发布进阶-(1)通过域名访问说明

通过以上5个步骤即可成功发布到外网并访问,但有很多企业并不是使用的电信专线宽带,所以会导致外网IP每隔一段时间就会自动变更一次,一旦外网IP变更就必须重新生成一次FLY文件,因为加载MPT和3DML的时候必须使用统一IP,所以我们要采用大部分路由器都自带的花生壳域名来捆绑动态IP,通过域名加载MPT和3DML,以达到不需要每次生成FLy文件的目的,这样对访问者来说是很好的体验,否则每次都变会被打死的(QAQ)。。。如果你使用的是电信专线的固定外网IP就不需要这么做了,这里只是针对动态IP来做的特殊说明。

发布进阶-(2)花生壳域名申请及路由绑定

下载花生壳,申请域名(内网穿透)

路由器管理界面中找到动态域名解析,登录花生壳

测试,上面登录后,大约需要15分钟时间完成解析。之前我已经映射过6060、7070、9090端口,通过外部网络,访问链接地址进行测试,能访问成功才行,在这里我的网址假设为:axxxx.eicp.net,每个人申请后axxxx这部分是不一样的。

链接格式更改:“外网IP”+端口号更改为“网址”+端口号

发布进阶-(3)本地映射绑定(视具体情况)

如果发现在第4步中,没有办法通过“网址+端口号”的方式访问和加载MPT和3DML数据,请使用这一步的设置(在本机环境下,利用域名进行加载,是必须要设置这一步的,否则从协议上你根本就无法通过域名进行访问)

找到C:\Windows\System32\drivers\etc\hosts文件,通过记事本或Sublime Text打开,在最后面新建一行,添加127.0.0.1 axxxxx.eicp.net,保存并进行测试。

发布进阶-(4)Terra Explorer Pro加载数据并生成

MPT数据加载链接格式:

GlobeI1kE1k.mpt@axxxxx.eicp.net:6060

3DML数据加载链接格式(需要在TerraGate SFS Administration网页中修改对应的链接,并测试访问通过):

http://axxxxx.eicp.net:7070/SFS/streamer.ashx

以上两步不能加载到TE中,请检查第2步骤和设置第3步骤!

生成移动端FLY文件放到服务器目录下,采用网址+端口号的方式进行访问(不能在同一个网络中,除了本机已经设置了第3步情况,否则无法打开,请在移动网络下测试,安卓模拟器下测试请修改网络设置):

http://axxxxx.eicp.net:9090/20170330test/DefaultMobile.fly

这样即使外网IP变动也不会导致项目访问不了了~

© 著作权归作者所有

华山猛男

华山猛男

粉丝 12
博文 196
码字总数 102344
作品 0
海口
部门经理
私信 提问
skyline6:二次开发web工程调用网络fly文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/79241376 1.web工程调用网络fly文件 (1)新建一个空的web工程,并在工程中新建一个...

bitree1
2018/02/02
0
0
DocHub v2.1 实现移动端支持,构建你自己的百度文库

介绍 DocHub 文库系统是使用Go语言的Beego框架开发实现的类百度文库解决方案,使用对商业友好的 Apache2.0 开源协议进行开源,支持office、PDF、TXT、EPUB、MOBI等多种文档格式的在线阅读浏览...

皇虫
2018/09/12
3.3K
11
互联网垂直社交创业新形态——ThinkSNS

强大的“微信”,“微博”之外,社交创业到底还有没有机会? 如果答案是否定的,很多创业者们都不会甘心。从开心网到微博,从微博到微信,社交产品的大起大落,牵动着无数创业者的心。 如果答...

灰常人士
2016/05/12
22
1
ThinkSNS 最新版功能

完善的社交系统 ThinkSNS提供了一套标准的社交程序,涵盖了社交全方位的功能,并将动态分享+微吧作为核心应用与其他应用互通互联。包含了社交发布、浏览、转发、评论收藏、举报、话题等全面的...

灰常人士
2016/05/17
53
0
开源社交系统 ThinkSNS V4.2 版本发布

近日,开源圈迎来了一个好消息,开源社交领域的领头羊ThinkSNS在4月29日发布了ThinkSNSV4.2版本。ThinkSNS是国内最大的开源社群系统和移动社交引擎,以最专业化的社交类产品服务于企业和创业...

灰常人士
2016/05/11
4.3K
11

没有更多内容

加载失败,请刷新页面

加载更多

MongoDB系列-在复制集(replication)以及分片(Shard)中创建索引

关注我,可以获取最新知识、经典面试题以及微服务技术分享   在使用MongoDB时,在创建索引会涉及到在复制集(replication)以及分片(Shard)中创建,为了最大限度地减少构建索引的影响,在副本...

ccww_
31分钟前
31
0
SAP HANA数据库multi container模式JDBC链接connection refused

报错如下信息 com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: Cannot connect to jdbc:sap://xxx.xxx.xxx.xxx:30015 [Cannot connect to host xxx.xxx.xxx.xxx:30015 [C......

flash胜龙
56分钟前
53
0
c++ 虚基类

c++ 虚基类 p556

天王盖地虎626
今天
98
0
k8s删除Terminating状态的命名空间

背景: 我们都知道在k8s中namespace有两种常见的状态,即Active和Terminating状态,其中后者一般会比较少见,只有当对应的命名空间下还存在运行的资源,但是该命名空间被删除时才会出现所谓的...

Andy-xu
今天
100
0
seata源码阅读笔记

seata源码阅读笔记 本文没有seata的使用方法,怎么使用seata可以参考官方示例,详细的很。 本文基于v0.8.0版本,本文没贴代码。 seata中的三个重要部分: TC:事务协调器,维护全局事务和分支...

东都大狼狗
今天
61
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部