一个GIS软件应具备的10%基础功能

作为一名GIS行业从业者,会经常用到一些GIS软件,但总感觉太过于专业和复杂。

在这些GIS软件的众多功能中,可能90%以上的功能,我都没用到过。

对大多数用户来讲,常用的可能只是那10%的基础功能。

这里就来分享一下,一个GIS软件应该具备哪10%的基础功能。

个人观点,仅供参考。

地图视图

(1) 二三维视图

一个GIS系统中,二三维视图是应该同时具备的。

因为有一些基础的功能,在二维中就已经足以解决问题,且更方便,比如标注绘制地图。

而在三维场景中,则有更好的视觉呈现效果,比如地形地貌。

二维侧重于基础业务的应用,而三维则偏重于视觉效果的呈现。

但有一点很重要,那就是二三维视图应当共享图层数据,也就是在二维中绘制的数据,切换到三维视图中也同样可以显示,反之亦然。

当然,有一些数据只有在三维中才能呈现的,比如倾斜摄影数据,那在二维中则可以不显示,或显示一个数据范围以表明数据的位置。

(2) 视图基本操作

在一个GIS软件中,地图的查看显示基本操作是最基本的功能,否则其它一切功能都无从谈起。

需要查看地图,就应该具备地图放大、缩小、平移等基础功能。

02地图图层

一个基础的GIS软件,至少应该支持矢量图层和栅格图层,最好还有特殊的照片图层。

为了便于个人标注数据与照片的分享,最好还能支持云图层,所有的云图层归属为一个"共享图层"分类。

为避免一个GIS软件打开显示为空白,因此一定需要一个或多个常用的栅格图层,它们可以作为基础的"系统图层"分类。

而用户自己标注的图层则可以归属为一个本地图层,可以称之为"我的图层"分类。

(1) 矢量图层

Google Earth 简便的标注方式早已深入人心,尤其是对于各行各业的普通用户,在标注绘制地图时基本没有门槛,很容易入门上手。

但这种点、线、面混合在一起的数据,实在不利于对数据进行统计分析,因此这种点、线、面独立的图层,在一个GIS软件中也是必不可少的。

一个基础的GIS软件,最好能同时满足普通用户和专业用户,要让浅者不觉其深,让深者不觉其浅。

因此,一个GIS系统中应该同时有KML模式的复合图层,也要有SHP模式的点、线、面独立图层。

每一种图层都要有属性表,即便是KML模式的复合图层也需要有,这样才符合GIS图层的基本逻辑。

图层之间的要素,最好还要能相互复制粘贴与移动,当然这就需要考虑不同图层之间因字段不同的兼容处理。

(2) 矢量图层(含Z值)

一般情况下,要素不需要Z值,也就是点要素,或线与面要素的节点不需要有Z值。

而在有一些GIS软件中,在图层中添加的要素总是含有Z值,比如在 Google Earth 中。

但在ArcGIS的图层中,则有明确的区分,当数据量比较大但所有数据没有真实的Z值值时,如Z值都为0,这种情况下创建普通图层可以更节省存储空间。

但当图层用于记录一些有Z值的要素时,如都有不同的高程值,则需要创建坐标包含Z值的图层才更为实用,比如创建轨迹记录图层等。

因此,这种坐标包含Z值的矢量图层,在一个GIS软件中也应该是很有必要的,但也同样应该允许不含Z值的图层存在,以便灵活应用。

两种图层在没有被点用的情况应该允许互相转换,但涉及要丢失Z值的情况,则需要让用户确认是否继续操作,以避免带来损失。

3 栅格图层

如前文所述,在系统图层中应该包括一个或几个常用的栅格图层,但同时要允许用户自主添加栅格图层。

自主添加栅格图层不是指对系统图层中栅格图层的维护,而是可以像创建矢量图层一样,叠加在系统图层之上。

4 照片图层

为了满足普通用户对照片的管理,一个GIS系统中也应该有一个照片图层。

照片主要用于在地图上显示有坐标位置的照片。

就像点图层只存储点要素一样,照片图层也仅存储照片要素。

照片图层的本质上,其实也是一个点图层。

这里的照片,也应该同时包括视频。

5 云图层

云图层不是一种新的图层类型,而只是因为该图层存储在云上,可以与朋友分享,甚至还可以共同编辑。

一个好用的GIS软件,一定是可以多端进行数据同步,且可以多人同时编辑。

因此,在一个GIS软件中,云图层的功能也最好是需要具备的。

6 图层顺序

既然是图层,就应该允许调整图层顺序。

既然可以调整图层顺序,那么地图显示时,就应该根据图层先后顺序,有叠加遮挡关系。

这在ArcGIS等专业的GIS软件中是再基础不过的功能。

按理说,这个功能都不应该单独列出来讲,虽然它确实很基础,但在一些地图小工具软件,却通常没有该功能。

当然,要素排序是同样的道理,但在 Google Earth 中也没有处理该问题,它始终将按点、线、面的顺序从上至下进行叠加。

03要素绘制

(1) 图形绘制

一个GIS软件应当支持最基本的点、折线和多边形要素绘制,如 Google Earth 中就仅支持这三种。

但最好还应该当包括矩形、正矩形、圆、椭圆、扇形、曲线、曲面、自由线和自由面的的绘制。

图形绘制作为地图编辑的主要功能,能支持得越多越好,最好还支持军标态势箭头等。

(2) 多几何要素的绘制

一般来讲,普通的独立要素就够用了。

但对于一些国界或省界等,由于存在飞地的情况,他们可能会由多个要素组成。

为了能显示这样的多几何要素,因此多几何要素也是一个GIS软件一定需要支持的。

既然支持显示,就要支持创建、编辑和导入导出等。

除了飞地之外,还有面要素中存在空洞的情况,也需要支持创建、编辑和导入导出,因为这也是地图中比较常见的。

3 文本要素绘制

文本的标注,在地图制作方面用得比较多,尤其是历史地图的制作。

文本有时需要横向的,有时又需要纵向的,甚至还需要是沿着一条弯曲路径进行分布显示的。

一个GIS软件,需要有可以灵活地绘制文本要素,才有利于高效制作地图,才可能制作出比较美观的地图。

4 添加照片

添加照片功能,可以用于将旅游过程中或线路巡检过程中所拍摄的照片(或视频)添加系统中,便于查看拍摄位置现场情况。

照片要素在地图上始终显示照片的缩略图,但可以通过样式配置其显示的大小,以及文本标注等。

当然,这些照片也可以添加到所属点、线或面等要素的附件中,照片要素的照片文件同样也显示在附件中。

因此,可以通过对图层的配置,在气泡中显示照片要素。

照片要素可以添加在复合图层中,也可以添加在前文所述的照片图层中。

在一个人人都把手机当相机用的时代,在GIS软件中如果有了照片要素的添加功能,无论在生活中还是工作中,都是一个比较适用的功能。

04编辑功能

在一个GIS软件中,除了对点、线、面等图形要素的基本编辑之外,还应该具备常用的撤销、重做功能。

除此之外,还应当具备剪切、复制、粘贴功能。

这些功能看似很基础,且在很多软件中都有,但它所涉及的底层逻辑还是比较复杂,也有着比较大的开发工作量。

另外,还有属性字段的添加、删除、编辑等功能,也是GIS软件中所必备的。

编辑功能在任何一个GIS软件中,都是比较大的一块功能。

编辑功能是否好用,几乎决定着这款软件是否好用,因此它在用户体验方面占有比较大的权重。

05批量操作

批量操作往往可以提高工作效率。

因此,要素属性的批量修改、要素样式的批量修改,以及批量删除等功能就极为重要。

另外,在图层树中批量选择多个要素或图层,在图层属性表中批量选择多条记录等,也应该是一个GIS软件所必备的基础功能。

但当数据量比较大的情况下,批量操作如果涉及到数据库的读写等,可能会影响到程序的卡顿,因此该功能需要综合兼顾系统运行的流畅性。

****06属性查询

为了精准检索查询要素,当要素比较多时,仅通过要素查询名称是不够的,还需要支持在属性表中进行查询。

一般情况下,通过指定字段进行查询或全字段查询就可以基本满足使用了。

但是,如果属性表还支持SQL语句查询,那就更加完美了。

这样就可以通过精准查询要素,并进行编辑、删除或导出等多种灵活的操作。

07文本标注

很多GIS软件在显示文本标注时,都没有进行碰撞检测和聚合,以致于打开地图时通常显示都比较凌乱。

而一个GIS软件,我认为应该要做到地图标注自适应聚合是最好的。

当然,也应该有显示所有标注的选项设置,便于用户灵活控制。

除了点要素和面要素的标注默认横向显示外,线要素的标注还应该默认沿着线路标注显示,且在线段较长的情况下,需要循环标注。

对于点要素和面要素的文本标注比较长的情况,还应该可以自动分行显示。

文本标注是一块比较大也比较复杂的功能,但若能做到上述几点,也已经基本满足使用了。

08要素符号

要素符号是要素的呈现方式,包括图标、点大小、颜色、线宽和填充等。

要素符号的美观程度,直接决定了整幅地图的美观度。

因此,一个GIS软件中,必需要具备基本的要素符号的编辑功能。

系统中不但应该自带一些常用的图例,还应该允许用户导入自定义图例。

当导出要素再导入回系统时,要能让用户还原样式,这样才比较人性化。

为了减少复合图层中相同图例重复存储占用空间,需要在系统中对符号进行维护,让相同符号相同的要素,引用同一个符号。

点要素符号应该当支持矢量符号、图片符号和SVG符号等多种符号。

对于点、线、面的独立图层,应当允许对图层进行分组显示不同的图例,以便于用户对数据进行分类统计。

09气泡查看

我们通常需要查看要素的信息,因此当点击要素后能在气泡中显示相关文本内容,就显得非常实用了。

气泡中的内容来自于某一字段内容,字段还可以根据自己的需要进行指定。

字段中的内容可以显示为文本,如果是个网址则还可以显示为网站或视频,就非常人性化了。

要素中还应当允许保存各种附件,且这些附件也支持在气泡中查看。

一个GIS软件中,有这样一个气泡查看功能,在查看要素信息时会非常方便。

但有一点,就是当指定字段或附件中无内容时,就没有必要显示气泡了,不然就会显得多此一举。

10导入导出

GIS相关的文本格式非常多,但如果能支KML、CSV、CSV、TXT、SHP、DXF和DWG,基本上就可以解决所有问题了。

在导入KML、CSV、TXT等文件,最好还能允许选择导入只导入点、线或面要素,并且最好还应当支持导入到指定的图层。

在导出要素为文件时,除了可以默认导出图层的属性表之外,还要能让用户灵活选择是否需要导出要素的样式等其它属性,以便于快速筛选数据。

在数据的导入导出过程中,需要支持投影转换,这才算得上是GIS软件最基础的导入导出功能。

11基础工具

除了前文所述的那些比较大块的功能之外,还应该具备最基础距离测量、面积测量、截图等常用的基础工具。

另外,常用的快捷键操作也是需要具备的,以便可以提升工作效率,以及有更佳的用户体验。

12用户登录

为了可以将数据存储在云端,以及对数据进行分享,还需要有用户登录功能。

13三端支持

为了便于多端数据共享,需要有三端配套产品,即移动端、Web端和PC端。

其中移动端又应该包括安卓、IOS和小程序,且需要在不同尺寸的手机或平板上做好自适应交互。

为了让Web端也可以在不同的设备上使用,也同样需要做好操作界面上的自适应。

14跨平台支持

GIS软件在企事业单位的应用都比较广泛,而事业单位通常又需要用国产化产品,因此GIS软件的国产化以及跨平台支持也是必须要具备的。

15插件扩展

在基本功能较为完善的情况下,可以开发一些比较实用系统插件。

根据不同行业的特点,也需要支持不同行业的插件扩展。

当然,更重要是需要支持用户自己开发的插件,也可以加载到系统中。

16离线部署

鉴于一些事业单位对保密性的要素,离线部署也是需要支持的。

离线部署就涉及到产品化的服务端,否则离线部署就无从谈起,但这也是一块比较大的功能项。

17写在最后

本文罗列了一个GIS软件应当具备的一些基础功能项,如果已经有了这样一个系统,能满足你的日常使用吗?

不过,这里列出的基本功能可能还不够完整,可能还有考虑不周全的地方。

你认为还有哪些功能,是一个GIS系统应该具体的基本功能呢?

欢迎补充!

相关推荐
whaosoft-1431 小时前
大模型~合集3
人工智能
Dream-Y.ocean1 小时前
文心智能体平台AgenBuilder | 搭建智能体:情感顾问叶晴
人工智能·智能体
丶21361 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
春末的南方城市2 小时前
FLUX的ID保持项目也来了! 字节开源PuLID-FLUX-v0.9.0,开启一致性风格写真新纪元!
人工智能·计算机视觉·stable diffusion·aigc·图像生成
zmjia1112 小时前
AI大语言模型进阶应用及模型优化、本地化部署、从0-1搭建、智能体构建技术
人工智能·语言模型·自然语言处理
jndingxin2 小时前
OpenCV视频I/O(14)创建和写入视频文件的类:VideoWriter介绍
人工智能·opencv·音视频
AI完全体2 小时前
【AI知识点】偏差-方差权衡(Bias-Variance Tradeoff)
人工智能·深度学习·神经网络·机器学习·过拟合·模型复杂度·偏差-方差
GZ_TOGOGO2 小时前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
sp_fyf_20242 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-02
人工智能·神经网络·算法·计算机视觉·语言模型·自然语言处理·数据挖掘
新缸中之脑2 小时前
Ollama 运行视觉语言模型LLaVA
人工智能·语言模型·自然语言处理