我是工作中的GIS分析师,涉猎ArcGIS和Google Maps JavaScript API V3中的python脚本。

我的专业目标是从事Web制图开发或桌面/服务器GIS应用程序开发。

我似乎已经达到了高原,我不确定如何继续学习或专业地达到目标。

我问那些从技术员/分析师那里跳出来的人,您是如何做到的?

我几乎没有经验,怎么能从事Web映射/应用程序开发工作。

#1 楼


该问题已转换为社区Wiki,并且维基百科已锁定
,因为它是一个寻求答案列表的问题的示例,并且似乎很受欢迎,可以防止其被关闭。
应该视为特例,不应将其视为此问题或任何Stack Exchange网站上鼓励的问题的类型,但是如果您希望提供更多内容,然后随意编辑该答案即可。




选择一种编程语言(也许是2种)并写很多东西代码。根据您当前的技能,我建议使用Python和JavaScript。
停止使用ESRI示例,学习如何对Python进行编程并花一会儿时间看一下纯python。使用PostGIS / SpatiaLite和Shapely进行一些空间操作
开始把自己想象成从事空间工作的程序员,而不是从事某些编程工作的GIS分析员
硬着头皮写一些可能更快的代码通过GUI-无需编写代码,您将永远无法改善
并开始从事开源项目的工作
自愿为某人编写代码-没有截止日期和具体项目,就很难开始
也许上一些编程课-并不是一个完整的要求,但可能会有所帮助
阅读编程博客和正常的stackoverflow以学习并了解程序员的想法
获取《编码员在工作》和《实用的程序员,从学徒到手工艺人” [该标题与实际标题非常接近]
编写并阅读大量代码
请记住,要成为一名专家并花费大约10,000个小时,-从头开始编写代码和阅读代码
准备吸一会儿-这是提高学习曲线的一部分
使用桌面GUI停止-特别是对于您的一些更基本的GIS任务,例如路口等


#2 楼

这里的其他答案为学习发展提供了一些很好的见识和想法。我想补充一条建议,关于实际上是“跳楼”。在我目前的工作中,我最初被聘为GIS技术,主要从事基本的制图,数据输入和例行分析。许多工作是乏味且重复的,我做的工作越多,我发现可以改进的领域就越多。因此,随着时间的流逝,我开始在这里和那里编写代码以帮助加速或自动化它们。我开始与其他员工共享这些工具,并询问他们认为还有什么用。不久,我的主管就注意到并开始将我的职责转移到应用程序开发上。最终,我的职位被重新分类,现在我的主要职责是为部门创建桌面和Web应用程序。

,我的建议是开始创建脚本和工具,并与您周围的其他人共享。使用其他人在此处提供的信息来扩展您的开发技能,以便您可以为同事提供越来越强大的解决方案。随着时间的流逝,作为开发人员的服务将对您的工作场所的生产力产生积极影响,因此需求将越来越大。尽管这可能不会改变您当前的工作,但您仍将获得扎实的经验,可以将其转化为另一项工作-也许是面向开发人员的。

#3 楼

我必须承认,相对于聘请GIS专家并尝试培训,在Web映射应用程序方面,与其雇用GIS专家,不如聘请一位具有扎实的Web开发背景并教他们GIS基础知识的人。他们在网络开发中。

但是,这是我如何采取行动的清单:


热衷于学习/对GIS和您可以了解到它正在从传统的硬出版格式转变为Web映射/增强现实等,这就是您所需要的。那又花些时间...
推进您的Google Maps开发并获得认证。免费为您的简历增值。也可以使用Bing SDK来做同样的事情(虽然要花一些钱)
看看Esri Web认证-在您的简历中获得此证书,您将大为可惜。
了解基础知识,特别是CSS / Javascript / HTML。
将自己暴露于所有事物中。深入了解Esri的Flex / Silverlight / Javascripts API OpenLayers。试用一些新的HTML5素材。
尝试所有Esri示例,将它们分解开来,使其与您的服务一起使用,观看教程,尽可能多地吸收信息。

然后,一旦您感觉到自己知道您可以担当网络地图开发人员的角色,将在线投资组合在一起,展示您的一些工作。创建虚拟Web应用程序的负载。这肯定会吸引我寻找您。

#4 楼

正如您所发现的那样,脚本编制是对编程产生兴趣的一种好方法。但是,如果要使用ArcGIS进行桌面/服务器开发,则需要学习一些新的编程语言。

在ArcGIS中,使用的两种主要语言是VB.NET和C#.NET。 。获取Visual Studio的副本并尝试创建应用程序。

如果拥有ArcGIS 10,则外接程序是学习如何使用ArcObjects扩展ArcGIS的好方法。

有很多入门资源,例如:
http://www.youtube.com/watch?v=qbvvFtRQWLY

一旦掌握了桌面开发的知识,便可以使用这些与ArcGIS Server相同的语言。