ArcGIS 10.4.1对达梦数据库的支持

时间:2024-04-02 16:02:04

1.ArcGIS0.4.1的安装

安装ArcGIS10.4.1的安装试用版:

http://www.arcgis.com/features/free-trial.html

2.安装32位达梦数据库客户端

执行32位达梦数据库客户端安装,达梦数据库版本必须是7.1.5以上的版本,必须是32位客户端。

3.系统环境变量设置

设置DM_HOME,以及Path环境变量

ArcGIS 10.4.1对达梦数据库的支持

ArcGIS 10.4.1对达梦数据库的支持

4.初始化达梦几何

典型的 Dameng DM7 安装包含需要进行初始化的几何类型。

以数据库管理员身份登录 SQL 客户端,然后使用下列命令对几何类型进行初始化:

SP_INIT_GEO_SYS(1);

通过发出下列 SQL 命令确认几何类型已初始化:

SELECT SF_CHECK_GEO_SYS;

如果几何类型已初始化,则命令将返回以下内容:

LINEID    SF_CHECK_GEO_SYS

1         1

ArcGIS 10.4.1对达梦数据库的支持

 

注意:如果初始化的时候出现找不到geos_c.dll的错误,则需要安装vc运行时:

ArcGIS 10.4.1对达梦数据库的支持

5.从 ArcMap 中连接达梦数据库

要从 ArcMap 连接到 Dameng,应在 ArcMap 计算机上安装受支持的 32 位版本的 DM 客户端(即7.1.5及以上版本),并在目录树中创建连接文件。

使用数据库连接对话框或创建数据库连接工具来添加数据库连接。以下步骤介绍了如何使用数据库连接对话框。

  1. 在 ArcMap 或 ArcCatalog 的目录树中,展开数据库连接,然后双击添加数据库连接。
  2. 从数据库平台下拉列表中选择 Dameng。
  3. 在数据源文本框中,输入安装 Dameng 的服务器名称。
  4. 在身份验证类型中选择数据库身份验证。
  5. 在用户名和密码文本框中分别提供有效的用户名和密码。

ArcGIS 10.4.1对达梦数据库的支持

连接成功后,可在数据库中建立要素类。

6.ArcGIS10.4对达梦数据库的支持情况分析

6.1受支持的数据库版本

Dameng数据库 v7.1.5及以上,32位和64位均可。但ArcGIS Desktop仅支持32位,ArcGIS Server仅支持64位。

6.2ArcGIS10.4.1支持的达梦数据库功能

数据库支持st_geometry的空间存储类型。可导入的数据类型包括:点、线、面、多点四种。

达梦数据库使用st_geometry类型前,必须先初始化该数据类型,否则空间数据无法导入。

6.3 ArcGIS10.4.1支持的达梦数据库数据类型

ArcGIS 10.4.1对达梦数据库的支持

6.4ArcGIS10.4.1中对达梦数据库的对象命名长度限定

ArcGIS 10.4.1对达梦数据库的支持

6.5 Dameng数据库不支持地理数据库功能

ArcGIS现在对达梦数据库没有提供GeoDataBase模型,无法创建企业级地理数据库或开启地理数据库功能。

ArcGIS 10.4.1对达梦数据库的支持

ArcGIS 10.4.1对达梦数据库的支持

参见官方网站说明:

http://pro.arcgis.com/zh-cn/pro-app/help/data/databases/database-requirements-dameng.htm

6.6 ArcSDE支持达梦数据库,支持通过API接口更新空间库

可提供测试代码和测试程序。但是这里达梦数据库不支持并发编辑,因达梦数据库不支持“开始编辑”和“结束编辑”功能,所以会造成并发问题。即编辑空间数据时无法对正在编辑的数据进行锁定。原因也在于达梦数据库不支持地理数据库的版本控制功能。

ArcGIS 10.4.1对达梦数据库的支持

ArcGIS 10.4.1对达梦数据库的支持

6.7 不支持在ArcMap中编辑达梦数据库中的空间要素

ArcGIS 10.4.1对达梦数据库的支持

官方说明:

ArcGIS 10.4.1对达梦数据库的支持

因达梦数据库不支持地理数据库功能,因此不支持在ArcMap中进行编辑数据。

7.达梦数据库的空间特性

7.1达梦数据库数据类型

  1. ST_Geometry:最基本的几何体,是其他几何类型的基类
  2. ST_Point:点几何体
  3. ST_Curve,ST_LineString:线几何体。ST_Curve是抽象类,ST_LineString是ST_Curve可实例化的子类
  4. ST_Surface,ST_Polygon:面几何体。ST_Surface是抽象类,ST_Polygon是ST_Surface可实例化的子类
  5. ST_GeomCollection:几何体集合
  6. ST_Multipoint:点集合
  7. ST_Multicurve,ST_Multilinestring:线集合。ST_Multicurve是抽象类,ST_Multilinestring是ST_Multicurve可实例化的子类
  8. ST_Multisurface,ST_Multipolygon:多边形集合。ST_Multisurface是抽象类,ST_Multipolygon是ST_Multisurface可实例化的子类

ArcGIS 10.4.1对达梦数据库的支持

7.2达梦数据库空间关系

  • ST_Equals

判断两个几何对象是否相同。

  • ST_DISJOINT

判断两个几何对象是否不相交。

  • ST_INTERSECTS

判断两个几何对象是否相交。

  • ST_TOUCHES

判断两个几何对象是否接触,即存在边界点相同,内节点不相交。

  • ST_CROSSES

判断两个几何对象是否交叉,存在相同的点,但不是完全一致。

  • ST_WITHIN

判断对象是否完全包含,对象g1是否完全在g2的内部。

  • ST_CONTAINS

判断对象是否包含,g2不存在点在g1的外边界,且至少存在一个g2的内节点在g1内部。

  • ST_OVERLAPS

判断两个几何对象是存在重叠,但并不被对方完全包含。

  • ST_RELATE

判断两个几何对象是否满足DE-9IM字符串关系。

 

7.3 达梦数据库几何运算

  • ST_Distance

获取几何对象间的最短距离。

  • ST_Intersection

获取几何对象的交集。

  • ST_Difference

获取几何对象的差集。

  • ST_Union

获取几何对象的并集。

  • ST_SymDifference

获取几何对象的差异集。

  • ST_Buffer

获取代替几何对象g1的几何对象,其到g1的距离小于等于d。

  • ST_ConvexHull

获取几何对象凸壳。

8.SQL支持

插入空间数据的例子:

insert into "TEST"."TEST_POINT"("SHAPE", "AREA", "JD", "WD", "REMARK")

VALUES(dmgeo.ST_PointFromText('point(114.12345 30.45679)', 4326), 'asd', 114.12345, 30.45678, 'aaaaa');

详细语法参见《DM7_System_Packages.pdf》。