开发GIS软件时最大的挑战是什么?
是编码吗?是否了解制图/地理/等概念(如投影)?还是其他困难?
开发GIS软件时最大的挑战是什么?
是编码吗?是否了解制图/地理/等概念(如投影)?还是其他困难?
Answers:
从我作为一名开发人员的经验来看,他在近五年前进入了ESRI / GIS开发领域:
如您所知,我对ESRI的发展前景持负面看法。对于那些来自地理背景的人,我相信可能性是非常令人兴奋的。但是对于像我这样热爱关系数据库,面向对象的程序设计以及创造性解决方案的广泛开放机会的人来说,使用ESRI进行GIS开发是非常困难且无法实现的。真可惜,因为老派人群告诉我,在与Microsoft结盟之前,它曾经是一个优越的环境。我衷心希望开源社区继续创新。
大量数据。能够找到使用Web技术提取大量数据的正确方法一直是一个挑战。我们要么拥有大量数据,并且性能不佳,要么显示的数据更少,但是可能传达了错误的信息。
我不是GIS开发人员;但是,我是GIS建模者:
挑战:
数据收集,汇总,分解,合并和拆分:我从不同项目的不同来源获取数据;最大的问题通常是获取同一地理宗地/区域的所有数据。我通常必须在每个数据集上使用上述几种技巧,以使项目具有连贯的样本。这增加了错误可能性,并降低了我们的精度。
我不是开发人员;我再说一次,我不是开发人员:当您可爱的人们谈论SOAP,SHAMPOO,REST,GIS-T索引等时,这对您来说意义非凡。对我来说,大多数是行话。我通常会经历较大的学习曲线或陡峭的爬坡,以完成一些简单的事情。
FOSS和专有软件之间的鸿沟:我喜欢QGIS和死招;从字面上看,我在每台机器上都安装了它们;但是,当我要进行基于运输的分析时,我不得不求助于TransCAD或EMME2 / 3。每个带有所有铃铛的费用约为15,000美元。公平地说,如果有用于shp文件的networkx软件包,则可以解决所有这些问题。
多个学科的问题:我精通运输建模技术;但是,据人口统计建模所吸引,据我所知,我必须使用复杂的R工具来完成数据。因此,GIS问题是GIS是一个多学科领域,很难靠自己生存。
缺乏从影像土地用途到矢量土地用途的完善工具和软件:我预见到未来将有一种工具将分析GEOEYE卫星图像并将其土地用途与矢量(建成)数据库进行比较
有时在Excel /“ Fav表程序”中执行操作会更快:有时我想进行运输分析,获取放入Excel中的数据,执行公式,然后将数据转储回去要快得多将其作为csv文件导入postgis并重新生成地图,这种分割,尤其是在OpenSource世界中,应该更好地解决。
无论如何,我可能没有正确回答您;我只是希望我精通GIS编程,这样我才能精通GIS建模
根据我的经验,最重要的事情(通常是最难的事情)是:
我认为第1点在发达国家会更容易一些,但这不是我的经验。
Vinko的答案中的#3 :
设计一个可用的应用程序。摆弄许多只会让用户感到困惑的风吹草动既容易又诱人。
我会为整个答案投赞成票,但对于可用性仅是他列表中的第三项这一事实,我不认为前两项具有挑战性。
可用性是我大多数问题的所在,也是我花费大部分设计/开发时间的地方,它弄清楚了如何设计一个智能且有效的用户界面,但要使其直观,以免用户对其感到困惑,例如:
如何调整交互式地图的样式(和选择图层)以显示相关信息,并避免显示过多数据时经常出现的混乱情况(例如,使用点要素的自动聚合);我知道这是制图学多年来一直试图解决的问题,但是问题只会随着数字/交互式地图而变得更加严重
如何根据用户的查询/功能选择自动定位地图视图
突出显示“选定的”功能-您是否仅突出显示突出显示的内容,在整个功能被选中时突出显示的内容,当选择表(或列表)失去焦点时是否取消突出显示...如何突出显示所有查询表和该表中所选行的结果(没有太多的切换按钮)
在图层或要素列表中显示其他信息,例如图层的可见性/应用的样式/几何类型,要素的状态/类...如果在同一列表中显示了不同的要素类型,这将变得更加复杂。 Google和Bing Maps对搜索结果进行了大量过滤)
高效的编辑:捕捉,关闭多边形,添加/移动/删除点,而无需使用许多工具栏按钮。
如何设计(和实现)用于几何查询的用户友好的查询界面,以及更具挑战性的包括属性和几何的查询界面;而无需让用户输入类似SQL的内容。
如何设计要素/几何形状的剪贴板之类的东西,以避免连续不断地从地图上“拾取”要素以用于查询,编辑...
我的感觉是,GIS在可用性方面是一个特别具有挑战性的领域,因为:
位置是任何信息的通用且通常是最自然的上下文,因此总是有太多信息可显示
在地图上显示信息后,很容易就低估了用户界面中非GIS部分的重要性
业界从传统上就忽略了GIS软件的可用性方面,他们之所以放弃了这一点,因为数字地图被视为学习曲线缓慢的技术交易,与如何使用界面相比,要学习的概念要困难得多。这意味着任何试图为非专家设计GIS接口的人都必须发明自己的原理,这注定会造成混淆(一个很好的例子是Google的“我的地图”或Bing Maps的“我的位置”)
这个问题出现在我的google搜索中以解决GIS方面的挑战时,我想在此做出自己的贡献。
我认为与此相关的另一个链接是这篇论文。
总结一下这里所说的话和我的观点,我认为最大的挑战(不分先后)是:
我是GIS技术的完整入门者,可以随时进行查找。由于我的资金有限,因此我尽量避免使用任何ESRI产品,而完全使用开源工具来完成任务。
可以这么说,到目前为止,对我来说最困难的事情都与收集数据有关。关于操纵和显示数据的文章很多,并且有许多工具可以使您的生活更轻松。但是,在收集数据方面,我仍然处于黑暗中。
我不知道专业人员会如何查找和收集数据。有人告诉我,有一种比data.gov和google更简单的数据获取方法。
您可能不幸被迫与已经转换为软件开发人员的GIS分析师合作。
容易期望有能力的软件开发人员掌握GIS概念,并让他们通过API来解决问题,并且通常不需要太多帮助。聘请GIS分析师并期望他们从事软件开发并非如此。
结果充其量是令人尴尬的。如果您有与不良开发人员一起工作的经验,那么可以想象一下,与最糟糕的程序员所开发的东西相比,它的代码更糟糕。
您可能为之工作的一些公司没有做到这一点。
除非早期仅由工程师,建筑师或科学界来对待GIS,否则GIS世界正朝着普通用户扩展。在为普通用户完成GIS应用程序的情况下,挑战是适当地混合使用各种技术,其中GIS被更多地视为一项技术(在这种情况下,对GIS技术了解很少的开发人员就足够了)。但是,如果该应用程序是为特定社区开发的,则挑战更为复杂,因为除了必须使用连接技术来搜索现有算法来满足要求之外,否则我们将不得不开发这些算法。在这种情况下,由工程师和开发人员混合而成的工人才是合适的。