以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [分享]基于Foxtable的WebGIS系统开发思路  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=93530)

--  作者:天若千颖
--  发布时间:2016/11/30 17:07:00
--  [分享]基于Foxtable的WebGIS系统开发思路
这几天一直在做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编辑过]

--  作者:天若千颖
--  发布时间:2016/11/30 17:08:00
--  
最后效果


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


元素搜索


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

元素信息显示


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



--  作者:天若千颖
--  发布时间:2016/11/30 17:11:00
--  
卫星地图切换


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

地图的管理

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

HTML文件管理

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



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

--  作者:天若千颖
--  发布时间:2016/11/30 17:12:00
--  
另外,提供一个最简单的Web例子

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



--  作者:有点蓝
--  发布时间:2016/11/30 17:28:00
--  
显示不全

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

强制使用最新的ie8渲染<meta http-equiv="X-UA-Compatible"  content="IE=8"/>


--  作者:L88919138
--  发布时间:2016/11/30 17:32:00
--  
太强了   图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看
--  作者:天若千颖
--  发布时间:2016/11/30 17:51:00
--  
是的,html语言在论坛不能完全显示,准确代码可以到那个帖子里去复制。 通过html强制写入渲染浏览器版本的方式避免了控件默认ie内核版本太低的问题,处理起来简单,但前提是这个网页是自己的,自己可以修改源文件。
--  作者:狐狸爸爸
--  发布时间:2016/11/30 17:55:00
--  
顶楼主图片点击可在新窗口打开查看