Foxtable(狐表)用户栏目专家坐堂 → [分享]基于Foxtable的WebGIS系统开发思路


  共有4465人关注过本帖树形打印复制链接

主题:[分享]基于Foxtable的WebGIS系统开发思路

帅哥哟,离线,有人找我吗?
天若千颖
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
[分享]基于Foxtable的WebGIS系统开发思路  发帖心情 Post By:2016/11/30 17:07:00 [显示全部帖子]

这几天一直在做Foxtalble+WebGIS协同开发的工作,近期告一段落,在开发过程中,得到很多人的帮助,特别是蓝版,为表感谢,所以把Foxtable在这方面的应用思路分享出来,供大家参考。

这里只谈一些实现的思路,具体如何制图、如何搭建GIS服务器,如何试用API搭建WebGIS系统网上有太多的教程,大家可以自己搜索。

既然是WebGIS,其实GIS的功能都是通过WEB端来完成,Foxtable在整个系统中只有两个功能:一是通过Webbrowser打开web地图,二是通过文件管理上传地图文件(如果地图需要加密的话,如果不需要加密,这个功能可以忽略)

WebGIS的搭建,建议采用Eris公司的ArcGIS系统,需要用到的包括Desktop(制图)、Server(数据服务器)、Javascript API(WebGIS),其中前两个是商业软件,如需使用,需要购买商业授权,学习研究可以到官方网站申请60天的试用。

另外,也有一些开元的GIS系统,是免费的,入门可能更难一点,如OpenLayer。

Esri官方网站:http://www.esri.com/,除Javacript API是纯英文之外,Desktop,Server均有官方的汉化包。

Esri中国官方网站:http://www.esrichina.com.cn 上面有各个软件的介绍。,

ArcGIS API for Javascript 是开源的,可以使用官方的API,也可以本地部署,帮助文件:https://developers.arcgis.com/javascript/  最新是4系列的,支持三维数据显示,不过我喜欢用3系列的,最新版本是3.18,代码看起来比较简单,这个系列的版本也比较经典。注册账号候可以下载API本地部署包。

3系列的帮助:https://developers.arcgis.com/javascript/3/

以下是一些比较常用的源码例子,WEBGIS做图的时候可能会用到:

搭建一个简单的地图:https://developers.arcgis.com/javascript/3/jssamples/map_simple.html

动态图:https://developers.arcgis.com/javascript/3/jssamples/map_dynamic.html

底图切换:https://developers.arcgis.com/javascript/3/jssamples/widget_basemap.html

元素搜索:https://developers.arcgis.com/javascript/3/jssamples/search_multiplesources.html

关于GIS入门

可以观看Esri王志强的教学视频,跟着视频做,没有问题
http://i.youku.com/i/UMjkzNDI2ODY4OA==?spm=a2h0j.8191423.subscription_wrap.DD~A


关于Webbrowser打开gis地图的错误处理
由于Webbrowser的IE内核版本比较低,因此在打开gis地图的时候经常报错,之前也和蓝版有很多交流如何处理,详见:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=92859&replyID=&skin=1

可以使用WebKit.Net内核,可以解决IE内核版本低的问题,方法见:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=84533
但是Webkit.Net内核的不足之处是无法继承IE的代理设置,如果你的网络有代理,而你又想访问外网的数据的话,无法打开。

现在找到一个最简单的办法,就是在网页中强制使用最新的内核渲染,避免报错不显示地图

在html头 加标签 强制使用最新的ie渲染 <meta http-equiv="X-UA-Compatible" c>
强制使用最新的ie8渲染<meta http-equiv="X-UA-Compatible" c/>

详见:http://www.cnblogs.com/sung/p/3391264.html



关于地图加密的处理:
由于web文件一般放在网上,要避免别人看到,又能在foxtable开发的系统中正常打开,可以采用foxtable文件管理来实现。在窗口打开的时候,将html文件上传到要访问的服务器,关闭窗口的时候删除文件。

由于Arcgis server自带Token加密技术,因此在本地电脑上的html文件中要配置好Token信息,这样,及时别人在本地打开这个html文件,也无法查看加密的地图。

Arcgis Server Token加密设置参考: http://blog.csdn.net/esrichinacd/article/details/7972903

---------------------------------

2017-2-21 更新

虽然JAVAScript的GIS地图是通过网页浏览的,也可以把网页的源码写到狐表的数据表的“备注”格式的列中,当客户端需要请求地图时,再根据表中储存的地图源码临时生成网页html文件,然后上传到服务器上读取数据,这样避免了本地储存HTML文件,也提高了GIS模块和狐表管理的集成度,也方便客户端地图源码的统一管理。

[此贴子已经被作者于2017/2/21 15:01:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/11/30 17:08:00 [显示全部帖子]

最后效果


图片点击可在新窗口打开查看此主题相关图片如下:ft+gis.jpg
图片点击可在新窗口打开查看


元素搜索


图片点击可在新窗口打开查看此主题相关图片如下:search.jpg
图片点击可在新窗口打开查看

元素信息显示


图片点击可在新窗口打开查看此主题相关图片如下:info.jpg
图片点击可在新窗口打开查看



 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/11/30 17:11:00 [显示全部帖子]

卫星地图切换


图片点击可在新窗口打开查看此主题相关图片如下:sat.jpg
图片点击可在新窗口打开查看

地图的管理

图片点击可在新窗口打开查看此主题相关图片如下:地图管理.jpg
图片点击可在新窗口打开查看

HTML文件管理

图片点击可在新窗口打开查看此主题相关图片如下:web.jpg
图片点击可在新窗口打开查看



[此贴子已经被作者于2016/11/30 17:13:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/11/30 17:12:00 [显示全部帖子]

另外,提供一个最简单的Web例子

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:map_simple.zip



 回到顶部
帅哥哟,离线,有人找我吗?
天若千颖
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:683 积分:4882 威望:0 精华:0 注册:2014/6/15 16:01:00
  发帖心情 Post By:2016/11/30 17:51:00 [显示全部帖子]

是的,html语言在论坛不能完全显示,准确代码可以到那个帖子里去复制。 通过html强制写入渲染浏览器版本的方式避免了控件默认ie内核版本太低的问题,处理起来简单,但前提是这个网页是自己的,自己可以修改源文件。

 回到顶部