我想研究 ArcGis,但我无法理解它适合的地方。
我使用 Google Maps API 创建了一些带有制造商、叠加层、侦听器等的简单地图。
我最近开始研究 PostGIS,我完全理解,它通过额外的数据类型和用于绘制多边形和映射区域的函数来增强 Postgres。伟大的!
我不明白ArcGIS适合什么地方?
它有什么作用?你为什么要使用它。
我有大量的地址数据库。
归根结底,这取决于您是否更乐于拥有一个大型软件堆栈,其中所有东西都旨在协同工作,或者您是否更乐于做一些 SQL 和/或 Javascript 和 Python 编码(这些是开源 GIS 中的大玩家),通常是自己拼凑而成。ESRI,ArcGIS 系列(包括桌面、服务器和基于 Web 的技术)的制造商本质上是 GIS 世界中的微软——大玩家,其产品旨在很好地相互配合,但有时有点在标准合规性或与第 3 方软件的交互方面滞后。
在开源方面,Postgis 本质上为 Postgres 提供了空间类型扩展以及许多空间功能,它实际上是各种包的混合体:提供许多空间谓词功能的 GEOS、进行坐标系转换的 Proj4j 和提供许多空间功能的 GDAL提供了很多胶水功能。最近 Postgis 添加了对栅格、3d 和拓扑函数以及长期存在的矢量函数的原生支持,这意味着可以通过将 SQL 函数链接在一起,直接在数据库级别执行极其复杂的 GIS 分析。
正如上面所建议的那样,QuantumGIS(通常称为 QGIS)为那些想要走这条路的人提供了 ArcGIS 桌面的大部分功能。Javascript 库,例如 OpenLayers 或 Leaflet(还有很多其他的)可用于可视化 Postgis 查询的结果。此外,还有诸如 Geoserver(基于 Java serlvet)之类的工具,它允许您以常见格式(如 WMS、WFS 和 WMTS)提供保存在 Postgres/Postgis 表或 ESRI shp 文件中的数据,充当客户端和服务器。
最终的决定往往既是政治性的,也是技术性的。例如,如果您为大型公用事业公司或地方政府工作,支持合同和行业规范可能会超过预算限制。如果您为一家小型初创公司工作,并且有人乐于在命令行工作,那么您可能会从开源堆栈中获得更好的性价比。
我假设您询问的是 ESRI 的桌面 GIS 应用程序 ArcMap。该应用程序是一个极其强大的制图和分析工具,允许用户执行复杂的空间操作。ArcMap 还提供了一个图形用户界面,允许用户编辑支持模拟现实世界现象的复杂类型的几何。该应用程序还支持广泛用于遥感的栅格分析。
有关如何将 ArcGIS 与地址数据库结合使用的一些示例:
这些只是您可以使用 ArcGIS 执行的一些操作。简而言之,该工具允许您在空间环境中查看和分析您的数据,而不是您现在似乎采用的关系方法。
ESRI 的 ArcGIS 非常强大,并且通过他们的 ArcObjects API 拥有大量的自定义选项,以及通过他们称为插件的框架添加您自己的自定义工具和按钮命令的新方法。您甚至可以使用 Python 创建一个非常简单(代码方面)的工具,让用户单击一个按钮,例如,在地图上返回树线 50 英尺内的所有电线杆的选择。然后,他们可以将这组极点特征导出为表格数据报告,供修剪树木的工作人员访问每个极点,看看他们是否需要修剪植被。您还可以使用他们的 ArcGIS Runtime 构建一个完全自定义的工具,该工具从 USB 拇指驱动器运行,零安装,仅包含您创建的部分和片段,如地图、目录、以及一个自定义工具栏,其中仅包含该应用程序所需的特定按钮和工具。我见过一个用这种方式编写的燃气设施检查应用程序,它只有地图和三个按钮供他们在 iPad 或 Android 平板电脑上使用。ArcGIS 的选项几乎是无穷无尽的,并且它们会不断更新。
我的日常工作是定制 ArcGIS 以适应天然气、水和电力公司的需求,以匹配他们的业务工作流程。自 2004 年以来,我一直在使用 ArcGIS。
如果您了解 google maps API 和 postGIS,那么您真的不需要 ArcGIS。下载 QGIS 并将其与 POSTGIS http://www.qgis.org/一起使用 ARCGIS 只是不必要的,这就是为什么它对您没有意义(而且理所当然)。
简单回答:它允许您使用 MAPS 分析数据并将其存储在数据库中,其中所述数据在表面或 3D 空间中具有某种“位置”属性。
下面是一个简单的示例:“归还史密斯县内距离学校 1000 英尺以内的所有地块,并在地图上以红色显示。”
如果我必须用一句话来回答,那就是:如果您只想显示地图上某物的位置(以及一些基本数据),请使用 Google Maps API,但如果您想分析、查询和理解您的空间数据使用 ArcGIS。
ArcGIS 是一个平台,包含桌面、服务器、门户(空间 CMS),支持各种类型的地理数据库。ArcGIS for Desktop 用于强大的空间分析,它包括 700 多种不同的工具,支持强大的空间和 alpha 数值分析。当我们谈论空间分析时,我们可以谈论不同的空间叠加(简单的例子:狼和狐狸住在哪里),邻近分析(工厂到客户的距离;石油钻探周围的保护区(缓冲区))和空间统计(在空间(和时间)、映射集群(热点/冷点)以及由于数据库位于每个重要 GIS 的背景中,您可以使用 SQL 查询您的字母数字(和空间)数据以做出更好的决策。
制图也是 ArcGIS Desktop 软件的功能——我们的大脑可以更好地理解信息,当它们被可视化时,您也可以并且应该可视化通过分析获得的结果。请记住,地图只是地理数据库(或 shapefile)中数据的可视化。
ArcGIS Desktop 还用于数据输入 - 具有“抬头”编辑功能,例如用于创建带有属性的矢量的原始照片图像。
地理数据库管理也是 ArcGIS 的一部分,地理数据库从文件地理数据库到使用 SQL Server、Oracle、DB2 和其他 RDBMS 系统的企业级地理数据库不等。单用户文件地理数据库支持一个并发编辑器并且没有存储限制,而企业数据库提供多用户编辑、版本控制、归档和备份方案。个人地理数据库是使用 Microsoft Access 存储空间数据的单用户地理数据库。
ArcGIS for Server 提供不同格式的空间服务,其中包含空间数据(地图)以及字母数字信息(如果格式支持)。可以发布的 ArcGIS for Server 服务类型有:制图、WCS、WMS、要素访问、Schematics、移动数据访问、网络分析、KML、WFS……ArcGIS for Server 服务是使用 ArcMap 创作的,与 Server 一起提供服务(当然)以及它们的 URL 链接供从头开始编写代码的开发人员使用,或在 Portal for ArcGIS Web 应用程序模板中使用,如果需要,开发人员可以自定义这些模板,或者 Flex Esri 查看器的其他 Silverlight。
我想说的是,如果您已经对 PostGIS 感到满意,那么您应该适合任何使用矢量的工作。如果您正在使用栅格数据,那么我认为这将是 ArcGIS 适合的地方。在 ArcGIS 中,您可以在栅格上运行不同类型的统计数据和过滤器,而我认为 PostGIS 不能,但我相信最终会被添加。
还有一件事,如果您需要自动化 PostGIS 工作,我建议您使用 Python 和 psycopg2 库。