⑴ webgis前端开发有双休吗工资为什么很高。不包吃住
双休,发展好。webgis前端开发工程师主要负责GIS国产化产品开发,负责项其功能研发实现等,发展好,因此工资高,并且该职位的招聘均为双休,入职后就会又五险一金,节假日还有会有节日福利、通讯补贴等。
⑵ 大学毕业设计做webgis难吗
认真学,不算难得。
需要配合用户体验研究,才有前途;当然,如果你的富媒体技术很强,或则是HTML5牛人,那还是很吃香的。
1、积累并完善WebGIS开发框架, 优化现有的地图引擎。
2、使用JavaScript或Flex或Silverlight技术丰富网站功能,增强用户体验。
3、使用XHTML/CSS/Javascript开发符合Web标准的网站前端页面 。
⑶ 怎么学好webgis开发
前端开发,需要配合用户体验研究,才有前途;当然,如果你的富媒体技术很强,或则是HTML5牛人,那还是很吃香的。
工作职责:
1.积累并完善WebGIS开发框架, 优化现有的地图引擎
2.使用JavaScript或Flex或Silverlight技术丰富网站功能,增强用户体验
3.使用XHTML/CSS/Javascript开发符合Web标准的网站前端页面
4.和后端工程师一起研讨技术实现方案,制定服务接口等;
5.积极探索并积累WebGIS开发模式和规范
职位要求:
1.了解Google Map/openlayers/SharpMap等系统架构,熟悉ArcIMS、ArcGIS Server开发或开源
openlayers、MapFish、openscale、GEOExt开发并有相关WebGIS应用系统开发经验
2.精通各种Web前端技术,包括XHTML/XML/JSON/CSS/Javascript等
3.深刻理解Web标准,对可用性、可访问性等相关知识有实际的了解和实践经验
4.有基于Ajax或Flex或Silverlight的RIA应用开发经验
5.掌握至少一门非Web前端脚本的语言(如Java/C#/C++),并有实际项目经验,熟悉如何与后端进行数据通信
6.遵守团队共同制定的行为规范,能对团队发展提出合理化建议
7.个性乐观,逻辑性强,强烈的责任心并善于和各种背景的人合作
8.熟悉OGC标准及ArcGIS 产品开发者优先
9.GIS、计算机、数学、自动化等相关专业本科以上学历优先
有GIS(地理信息系统)专业背景或开发经验,并且对三维仿真、三维地理信息系统有一定的认识或开发经验。对GIS系统有开发经验者优先。
1、测绘、地理、计算机等相关专业,本科以上学历,25-30岁,有2年以上工作经验,应届毕业生勿投递简历;
2、具有2年以上DB2或SQL SERVER的GIS应用经验;
3、具有HTML、JavaScript、Java、.NET、C++等一种或多种语言开发经验;
4、熟悉至少一种GIS软件(ArcGIS、MapInfo、GeoServer);
5、熟悉WEB GIS应用。
⑷ 胡中南:Web端GIS技术新进展 | (PPT+速记)
在GTC 2020‘GIS基础软件新技术论坛’上,超图研究院副院长胡中南作《云原生GIS及Web端技术新进展》报告,他首先系统讲解了云原生GIS技术的三大新进展:微服务更微、可扩展,容器化部署更全、更易用,自动化编排适配更多平台等,介绍了这些技术如何支撑云南地质大数据等系统实现高可用、高并发、高弹性“三高”价值;也系统阐述了Web端GIS技术从基础库、组件库、模板库到WebApps的多层次结构及相关新进展,让GIS前端应用开发定制更快速便捷。
本文将分为云原生GIS(点击左侧蓝色文字可直接查看)与Web端GIS两大部分,现分享Web端GIS技术部分资料如下:
演讲PPT
上半部分主要讲云原生GIS技术如何助力GIS系统快速部署与运维。
接下来我为大家介绍Web端GIS技术。
以前大家可能认为SuperMap的Web端就是一个SuperMap iClient JavaScript,仅仅是将Leaflet等开源技术做一些封装集成、改进,和SuperMap服务器产品的REST API做了对接,其实这只是我们Web端技术栈的组成之一,也即图上所示的基础的iClient Libraries类库(L1)。
我们在上面还提供了iClient Components,就是所谓的WebGIS组件库(L2),适配了Vue框架和React框架。在这之上我们面向行业应用共性,基于组件库进一步封装,提供了Web模板库iClient Templates(L3),只需将数据、LOGO和图片等进行简单修改,就可以快速上线。我们还提供了可构建、可定制、可扩展的Web Apps,如MapDashboard和WebSite UI(L4),以及更偏向使用的一些Web Apps,用做制图、分析等(L5)。
由此可见,SuperMap GIS的Web端包括这五个层次的内容,已经不仅仅是SuperMap iClient JavaScript单个产品。
在SuperMap iClient JavaScript层面,我们也有新的增强与改进。
SuperMap iClient JavaScript 2020模块图。Web Libraries和 Web Components都有一些增强,新增加了Web Templates。
在此,我重点介绍一下组件和模板的新特性和新技术:组件技术就是把Libararies类库做进一步的封装,更少的代码做更快的开发,比如可以一行代码加一个Web Map组件,里面填一个服务地址和地图资源ID,就可以出一个地图了。欢迎大家在超图软件官网查看范例。
这是2019年我们提供的技术。今年我们新增了多款Vue组件,包括时间轴、卷帘地图等。地图、图表等都有新的增强和改进。
今年我们新增了多款Vue组件,包括时间轴、卷帘地图等。地图、图表等组件都有新的增强和改进。
这是我们做的全球新冠疫情图范例。使用组件技术做了封装,用户不用一行一行写代码,操作更方便、开发更快捷。
新的Web模板技术,可以让应用开发更便捷。直接提供多种行业应用模板,用户只需修改LOGO、配色,或删除不用的地方即可。
再上面就是大屏,可快速开发建站。
No Code无代码开发,可以快速建站,包括SuperMap iPortal门户首页、地图大屏App等,都可以进行拖拉式操作,不需要写代码就可以完成可视化定制。门户首页可以拖出来,Web应用可以用大屏拖出来。
地图大屏也做了一些增强。
以前做了大屏只能看,不能互动,不能点,点了以后也不能操作。现在能看、能点、能互动。有了交互更好用。
包括,我们对布局也做了优化,移动端可以自己修改布局。
包括超宽屏终端都可以适配,这是一个项目的照片。
另外一个定制就是SuperMap iPortal站点定制和扩展增强。
从首页到登录页、管理页甚至各个Web Apps都支持定制和扩展。
从而实现No Code的可视化定制,同时做了一些新的组件和能力增强。
可以用这个特性快速搭建一个新的首页,从上面的菜单、左上角的LOGO,包括Banner、横幅各种内容都支持修改、增加和删除。甚至用户不懂开发都可以直接进行操作。此外,该布局是自适应的,在手机上同样可以观看。
这是2019年已有功能,今年我们做了新的增强。另外就是全代码定制。
你可以基于自己的技术直接写一个首页。不管是我们提供的组件,还是你自己写的组件,或是第三方组件都可以拿来使用。
包括我们的登录页和资源管理页都可以进行修改和定制。
此外,大屏本身也是可以扩展的。
包括数据上图。
数据洞察,都是可以修改和定制的。
可以加自己的图表、UI。
前面所提到的是定制开发,再上层就是直接使用的WebApp。
如果大家感兴趣,可以去我们官网:www.supermap.com,或GTC网站:http://www.gistc.com/来观看新特性。
数据上图,制图能力更丰富。
可以在线打印Web地图。
简单回顾一下,我们讲到的两大部分技术:一个是云原生GIS技术,让GIS后台服务管理运维更高效,另一个是Web端GIS技术,让GIS前端应用开发定制更快速。一个是高效,一个是快速。
总的报告可以用两个图连起来,第一就是K8s部署结构图,通过它可以把云原生GIS技术一览无余,包括SuperMap iServer、SuperMap iPortal、SuperMap iManager之间的关系、用了什么技术等都可以看到。
第二张图如上所示,我们在Web端的整体技术层次都可以看到,从SuperMap iClient Libraries类库,到组件、模板,到大屏、Site UI定制、扩展,以及WebApps等等。
以上就是我的报告,谢谢大家。
⑸ 如何自己搭建openlayers地图服务器
OpenLayers只是WebGIS前端。搭建地图服务器需要使用 MapServer,GeoServer(开源WebGIS), 或者商业的 ArcGIS Server,然后用 OpenLayers 在前端调用。
⑹ gis 开发需要学习哪些
你好,首先需要了解相关地理信息方面的基本知识是最好的,但是不是必须的,但是做一些常识也是好的,然后就是会一门基础语言,这里会是指至少要能熟练编写基本的应用程序,然后从一种GIS平台开始掌握,推荐arcgis系列,根据c/s还是b/s不同,可以再细化,先说到这里。Good luck~
⑺ 求问做一个webgis的基本流程
首先说明一下,如果题主想成为一名webgis开发者,可以参考这个链接小白如何成为webgis初级开发工程师
其次我们来说一下webgis的开发流程:
一般我们的开发采用两条路线:esri方案和开源方案
esri方案举个例子:
ArcgisServer+SqlServer+IIS+Arcgis js Api+前端基础框架
开源方案举个例子:
GeoServer+PostgresSql+Tomcat+OpenLayers+前端基础框架
Webgis开发的大概流程是:
我们的矢量文件或者栅格文件,需要展示在网页上的话,必须先通过GeoServver或者ArcgisServer发布成服务,然后这些地理服务器就会提供出可供访问的链接,然后用Openlayers或者Arcgis js api访问就行。当然了我们Webgis系统不可能只有gis数据,还需要一些普通数据,这些就要在SqlServer或者PostgreSql里建表,然后我们的后台程序(C#或者Java)会连接这些数据库,取到数据,仍然返回给前端,只不过此时数据的接收者就变成了前端那几大框架,比如JQuery、Vue、Angular、React等等。
总结一下:
那么开发一个Webgis到底需要些什么呢?
GIS服务器+基础数据库+网站部署环境+GIS Api框架+前端基础框架
一个完整的Webgis系统,上面的东西都会有,欢迎补充和提问。
⑻ 有哪些 GIS+Python 的开发经验值得分享
python之于GIS与python之于IT类似
GISer采用python的原因也在于“人生苦短,我用python”
python在gis中的应用非常之广
1. desktop GIS:
ArcGIS从版本10开始不再支持原来的VBA,而改用python
QGIS本身大部分的代码特别是插件部分可以采用python进行开发
2. 地图引擎
mapnik—基于C++引擎的顶级地图引擎库,和python结合比较紧密
mapfish—支持部分专题地图在线制作
3. webgis
python+geodjango 是最常用也最庞大的后台框架
GISer使用python一定要充分发挥python语言的特性
如ArcGIS集成phthon是利用了python的脚本语言特性
后台webgis等服务,可以发挥python作为语言黏合剂的特性,充分利用已有的GIS算法库
⑼ webgis中为什么加入两个地图功能后出错
一开始看到OpenLayers,就有一个问题。就是它作为WebGIS的前端,通俗地说,是“显示”地图的。那么,它显示的地图是什么,是怎么显示的,又是怎么实现的?——暂且把这个问题叫做地图表现。我觉得最关键的就是Map类,把这个类分析清楚了,问题就解决了一大半了。
前面第一回里说过怎么实例化一个地图,怎么向地图里加图层加控件。其实,地图是这样的,它就像一个容器,可以盛东西。要分析它光理解这些还不够,我们要知道这个容器是怎么做出来的,及具体都有什么功能。
Map类有两个常量:Z_INDEX_BASE和EVENT_TYPES,不说了,可顾名而思其意。再看它定义的一些属性:div(The element that contains the map)、baseLayer(The currently selected base layer)、events(An events object that handles all events on the map)。是这样,web页的div通过以id或name的形式获得map对象,然后layers和control在加载到map上,表现为地图。顺便说一句,控件control和事件event是相关联的,这以后会说。
OpenLayers.Map类提供了两种实例化方式,举例来看:
[代码]js代码:
// create a map with default options in an element with the id "map1"
var map = new OpenLayers.Map("map1");
// create a map with non-default options in an element with id "map2"
//Optional object with properties to tag onto the map.
var options = {
maxExtent: new OpenLayers.Bounds(-200000, -200000, 200000, 200000),
maxResolution: 156543,
units: 'meters',
projection: "EPSG:41001"
};
var map = new OpenLayers.Map("map2", options);
OpenLayers.Map类实现的函数APIMethod是分组的,比如Layer Functions、Control Functions、Popup Functions、Container Div Functions、Zoom, Center, Pan Functions、Layer Options、Baselayer Functions、Zooming Functions、Translation Functions。其中,最关键的是Layer Functions和Control Functions,因为就是Layer对象和Control对象构成了map的主体。下面从每组函数中挑选出一两个来,看看具体实现过程。
Layer Functions:
就看addLayer函数吧,下面的addLayers就是调用的它,代码如下:
[代码]js代码:
addLayer: function (layer) {
for(var i=0; i < this.layers.length; i++) {
if (this.layers[i] == layer) {
var msg = "You tried to add the layer: " + layer.name +
" to the map, but it has already been added";
OpenLayers.Console.warn(msg);
return false;
}
}
layer.div.style.overflow = "";
this.setLayerZIndex(layer, this.layers.length);
if (layer.isFixed) {
this.viewPortDiv.appendChild(layer.div);
} else {
this.layerContainerDiv.appendChild(layer.div);
}
this.layers.push(layer);
layer.setMap(this);
if (layer.isBaseLayer) {
if (this.baseLayer == null) {
// set the first baselaye we add as the baselayer
this.setBaseLayer(layer);
} else {
layer.setVisibility(false);
}
} else {
layer.redraw();
}
this.events.triggerEvent("addlayer");
}
可以看到其中涉及到layer的一些方法,下一回具体介绍OpenLayers. Layer类。
[代码]js代码:
Control Functions:
addControl: function (control, px) {
this.controls.push(control);
this.addControlToMap(control, px);
}
可以看出,添加控件的过程是由controls.Push()和addControlToMap()两个函数共同完成的。
[代码]js代码:
addControlToMap: function (control, px) {
// If a control doesn't have a div at this point, it belongs in the
// viewport.
control.outsideViewport = (control.div != null);
control.setMap(this);
var div = control.draw(px);
if (div) {
if(!control.outsideViewport) {
div.style.zIndex = this.Z_INDEX_BASE['Control'] +
this.controls.length;
this.viewPortDiv.appendChild( div );
}
}
}
Popup Functions:这组函数和上两组函数相似,是在地图上添加或删除Popup 对象。
Zoom, Center, Pan Functions:
[代码]js代码:
//Allows user to pan by a value of screen pixels
pan: function(dx, dy) {
// getCenter
var centerPx = this.getViewPortPxFromLonLat(this.getCenter());
// adjust
var newCenterPx = centerPx.add(dx, dy);
// only call setCenter if there has been a change
if (!newCenterPx.equals(centerPx)) {
var newCenterLonLat = this.getLonLatFromViewPortPx(newCenterPx);
this.setCenter(newCenterLonLat);
}
}
Zooming Functions:
这里就看看放大缩小函数吧。
zoomIn: function() {
this.zoomTo(this.getZoom() + 1);
}
zoomOut: function() {
this.zoomTo(this.getZoom() - 1);
}
显然,zoomIn和zoomOut都使用了getZoom方法,放大就是让zoom加1,缩小减1。
⑽ WEBGIS系统开发常用的技术框架有哪些,从前端到后端,求推荐
前端:
1、老一代两大富应用(RIA)框架(目前已经停止更新):flex、silverlight
2、其他开源(早期项目较多):openlayer2、amap、bmap、ArcgisAPI4JS(3系列版本)
3、较新框架:openlayer3、cesiums、ArcgisAPI4JS(4.0之后版本)、
4、轻型框架(需要二次封装):WebGL(例如d3.js、three.js)
后端:arcgisServer、geoserver、mapserver
(作者:毛小亮)