“MySQL 数据类型:空间数据类型”的版本间差异

来自Wikioe
跳到导航 跳到搜索
(建立内容为“category:MySQL == 空间数据类型 == == OpenGIS 几何模型 == == 支持的空间数据格式 == == 几何格式正确性和有效性 == == 创建空…”的新页面)
 
无编辑摘要
第1行: 第1行:
[[category:MySQL]]
[[category:MySQL]]
== 关于空间数据类型 ==
MySQL 空间扩展可实现地理 Feature 的生成,存储和分析:
# 表示空间值的数据类型
# 操纵空间值的功能
# 空间索引可缩短对空间列的访问时间
* 空间数据类型和功能可用于 '''MyISAM''','''InnoDB''','''NDB''' 和 '''ARCHIVE''' 表。对于空间列的索引,MyISAM 和 InnoDB 支持 '''SPATIAL''' 和 '''非SPATIAL''' 索引。【???】
地理 Feature 是世界上任何具有位置的东西。功能可以是:
# 一个实体。例如,山,池塘,城市。
# 空间。例如,市区,热带地点。
# 可定义的位置。例如,十字路口,作为两条街道相交的特定位置。


== 空间数据类型 ==
== 空间数据类型 ==
MySQL 具有与 '''OpenGIS''' 类相对应的空间数据类型。【???】
一些空间数据类型保存单个几何值:
# GEOMETRY【几何】
# POINT【点】
# LINESTRING【线】
# POLYGON【多边形】
* GEOMETRY 可以存储任何类型的几何值。其他单值类型(POINT,LINESTRING 和 POLYGON)将其值限制为特定的几何类型。
其他空间数据类型包含值的集合:
# MULTIPOINT【多点】
# MULTILINESTRING【多线】
# MULTIPOLYGON【多边形集】
# GEOMETRYCOLLECTION
* GEOMETRYCOLLECTION 可以存储任何类型的对象的集合。其他集合类型(MULTIPOINT,MULTILINESTRING 和 MULTIPOLYGON)将集合成员限制为具有特定几何类型的成员。
示例:要创建一个名为geom的 table,该 table 具有一个名为g的列,该列可以存储任何几何类型的值,请使用以下语句:
<syntaxhighlight lang="xml">
CREATE TABLE geom (g GEOMETRY);
</syntaxhighlight>
* 可以在 NOT NULL 空间列上创建 SPATIAL 索引,因此,如果您打算为该列构建索引,请声明NOT NULL:
*: <syntaxhighlight lang="xml">
CREATE TABLE geom (g GEOMETRY NOT NULL);
</syntaxhighlight>


== OpenGIS 几何模型 ==
== OpenGIS 几何模型 ==
OGC 的“SQL with Geometry Types”环境提出的几何类型集基于 OpenGIS Geometry Model 。在此模型中,每个几何对象都具有以下常规属性:
# 它与空间参考系统相关联,该系统描述了在其中定义对象的坐标空间。
# 它属于某些几何类。
GEOMETRY 类的层次结构:
* Geometry(不可实例化)
* Point(可实例)
* Curve(不可实例化)
** LineString(可实例)
*** Line
*** LinearRing(可实例)
* Surface(不可实例化)
** Polygon(可实例)
* GeometryCollection(可实例)
* MultiPoint(可实例)
* MultiCurve(不可实例化)
** MultiLineString(可实例)
* MultiSurface(不可实例化)
** MultiPolygon(可实例)
Geometry 是基础类。这是一个抽象类。 Geometry 的可实例化子类被限制为存在于二维坐标空间中的零、一和二维几何对象。
基本 Geometry 类具有 Point,Curve,Surface 和 GeometryCollection 的子类:
# Point 代表零维对象。
# Curve 代表一维对象,并具有子类别 LineString,以及子子类别 Line 和LinearRing 。
# Surface 是为二维对象设计的,具有子类 Polygon。
# GeometryCollection 具有名为 MultiPoint,MultiLineString 和 MultiPolygon 的专用零维,一维和二维收集类,用于分别建模与 Points,LineStrings 和 Polygons 的集合对应的几何形状。 MultiCurve 和 MultiSurface 作为抽象超类引入,它们泛化了收集接口以处理 Curves 和 Surfaces。
* Geometry,Curve,Surface,MultiCurve 和 MultiSurface 被定义为非实例类。它们为其子类定义了一组通用的方法,并且为了扩展性而将它们包括在内。
* Point,LineString,Polygon,GeometryCollection,MultiPoint,MultiLineString 和 MultiPolygon 是可实例化的类。
=== GEOMETRY 类 ===
Geometry是层次结构的'''根类'''。它是一个'''不可实例化'''的类,但具有以下列表中描述的许多属性,这些属性对于从任何 Geometry子类创建的所有几何值都是共有的。(特定的子类具有自己的特定属性)
Geometry 属性:<br/>
# 它的 '''类型''' 。每个几何都属于层次结构中的可实例化类之一。
# 其 '''SRID''' 或'''空间参考标识符'''。该值标识与几何相关的空间参考系统,该系统描述了在其中定义几何对象的坐标空间。
#: 在 MySQL 中,'''SRID''' 值是与几何值关联的整数。可用的最大 SRID 值为 '''232-1'''【???】。如果给出较大的值,则仅使用较低的 32 位。不管实际 SRID 值如何,所有计算均假设 SRID 为 0。 SRID 0 表示无限平坦的笛卡尔平面,其轴未分配任何单位。
# 它在空间参考系统中的“坐标”,表示为双精度(8 字节)数字。所有非空几何均包括至少一对“(X,Y)”坐标。空几何不包含坐标。
#: 坐标与 SRID 相关。例如,在不同的坐标系中,即使对象具有相同的坐标,两个对象之间的距离也可能会有所不同,这是因为 平面 坐标系上的距离和 大地坐标 坐标系上的距离(地球表面)是不同的东西。
# 它的“内部”,“边界”和“外部”。
#: 每个几何都在空间中占据某些位置。几何图形的外部是几何图形未占用的所有空间。内部是几何所占据的空间。边界是几何图形的内部和外部之间的接口。
# 其 '''MBR(最小边界矩形)'''或包络。这是由最小和最大“(X,Y)”坐标形成的边界几何:
#: <syntaxhighlight lang="xml">
((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))
</syntaxhighlight>
# 该值是 '''simple''' 还是 '''nonsimple''' 。类型(LineString,MultiPoint,MultiLineString)的几何值可以是简单的或不简单的。每种类型自己确定其值的简单或非简单。【???】
#:
# 该值是 '''closed''' 还是 '''notclosed''' 。类型(LineString,MultiString)的几何值已关闭或未关闭。每种类型自己确定其值的关闭或未关闭。
#:
# 值是 '''空''' 还是 '''非空'''。如果几何没有任何点,则为空。未定义空几何的外部,内部和边界(即,它们由“NULL”值表示)。空几何定义为始终简单,面积为 0。
#:
# 其 '''尺寸''' 。几何的尺寸可以为 -1、0、1 或 2:
## -1 为空的几何。【空几何】
## 0 用于没有长度和面积的几何。【点、点集】
## 1 用于非零长度和零面积的几何。【线、线集】
## 2 用于非零面积的几何。【几何】
#* Point 对象的尺寸为零。 LineString 对象的尺寸为 1。Polygon对象的尺寸为 2。MultiPoint,MultiLineString 和 MultiPolygon 对象的尺寸与其组成的元素的尺寸相同。
=== Point 类 ===
Point 是代表坐标空间中单个位置的几何。
Point示例:
# 想象一下有许多城市的大型世界地图。 Point 对象可以代表每个城市。
# 在城市地图上,Point 对象可以代表公交车站。
Point属性:
# X:坐标值。
# Y:坐标值。
# Point 被定义为零维几何。
# Point 的边界是空集。
=== Curve 类 ===
Curve 是一维几何,通常由一系列点表示。 Curve的特定子类定义了点之间的插值类型。Curve是不可实例化的类。
Curve 属性:
# Curve具有其点的坐标。
# Curve被定义为一维几何。
# Curve如果不两次通过同一点,则很简单,不同之处是,如果起点和终点相同,则曲线仍可以是简单的。
# 如果 Curve 的起点等于端点,则为闭合。
# 闭合的 Curve 的边界为空。
# 未封闭的 Curve 的边界由其两个端点组成。
# 简单且封闭的Curve是 '''LinearRing'''。【环线】
=== LineString 类 ===
LineString 是一种作为两点间直线插值的 Curve。
LineString 示例:
# 在世界地图上,LineString 个对象可以代表河流。
# 在城市地图中,LineString 个对象可以代表街道。
LineString 属性:
# LineString 具有段的坐标,由每个连续的点对定义。
# 如果 LineString 正好由两点组成,则它是 '''Line'''。【线段?】
# 如果 LineString 是封闭且简单的,则它是 LinearRing。【环线】
=== Surface 类 ===
Surface是二维几何。这是一个不可实例化的类。'''它唯一的可实例化子类是 Polygon'''。
Surface 属性:
# Surface 被定义为二维几何。
# OpenGIS 规范将简单的 Surface 定义为一种几何形状,它由与单个外部边界和零个或多个内部边界相关联的单个“补丁”组成。
# 简单Surface的边界是与其外部和内部边界相对应的一组闭合曲线。
=== Polygon 类 ===
Polygon 是代表多边几何图形的平面 Surface。它由单个外部边界和零个或多个内部边界定义,其中每个内部边界在 Polygon 中定义一个孔【???hole】。
Polygon 示例:<br/>
在区域地图上,Polygon 对象可以代表森林,地点等。
Polygon 属性:
# Polygon 的边界由一组 LinearRing 对象(即简单且闭合的 LineString 对象)组成,这些对象组成其外部和内部边界。
# Polygon 没有交叉的环。 Polygon 边界中的环可在 Point 处相交,但仅作为切线。
# Polygon 没有线条,尖峰 或 刺孔。
# Polygon 的内部是连接的点集。
# Polygon 可能有孔。有孔(hole)的 Polygon 的外部是未连接在一起的。每个孔都定义了外部的连接组件。
=== GeometryCollection 类 ===
GeometryCollection 是一个几何,它是'''零个或多个'''任何类的'''几何的集合'''。
几何图形集合中的所有元素必须位于相同的空间参考系统(即,位于相同的坐标系)中。尽管以下各节中描述的 GeometryCollection 的子类可能会限制成员资格,但是几何集合的元素没有其他限制。限制可能基于:
# 元素类型(例如 MultiPoint 只能包含 Point 元素)
# 尺寸
# 限制元素之间的空间重叠程度
=== MultiPoint 类 ===
MultiPoint 是由 Point 元素组成的几何集合。这些点没有以任何方式连接或排序。
MultiPoint 示例:
# 在世界地图上,MultiPoint 可以代表一连串的小岛。
# 在城市地图上,MultiPoint 可以代表售票处的网点。
MultiPoint 属性:
# MultiPoint 是零维几何。
# 如果 MultiPoint 的 Point 值中没有两个相等(具有相同的坐标值),则很简单。
# MultiPoint 的边界是空集。
=== MultiCurve 类===
MultiCurve是由Curve个元素组成的几何集合。 MultiCurve是'''不可实例化'''的类。
MultiCurve 属性:
# MultiCurve 是一维几何。
# MultiCurve 仅当其所有元素都简单时才简单;两个元素之间唯一的交点出现在两个元素边界上的点处。
# 通过应用“mod 2 联合规则”(也称为“奇偶规则”)获得 MultiCurve 边界:如果某个点位于奇数个Curve元素的边界中,则该点位于MultiCurve的边界中。【???】
# 如果 MultiCurve 的所有元素都关闭,则关闭。
# 闭合的 MultiCurve 的边界始终为空。
=== MultiLineString 类 ===
MultiLineString 是由  LineString 元素组成的 MultiCurve 几何图形集合。
MultiLineString 示例:<br/>
在区域 Map 上,MultiLineString可以代 table 河流系统或高速公路系统。
=== MultiSurface 类 ===
MultiSurface是由 surface 元素组成的几何集合。 MultiSurface 是不可实例化的类。'''它唯一可实例化的子类是 MultiPolygon'''。
MultiSurface 属性:
# MultiSurface 内的面不相交。
# MultiSurface 内的曲面最多具有有限个点的相交。【而非相交于面】
=== MultiPolygon 类 ===
MultiPolygon 是由 Polygon 元素组成的 MultiSurface 对象。
MultiPolygon 示例:
# 在区域地图上,MultiPolygon 可以代表湖泊系统。
MultiPolygon 规则:
# MultiPolygon 没有两个 Polygon 元素的内部相交。
# MultiPolygon 没有两个 Polygon 元素交叉(上一个属性也禁止交叉)或在无数个点处接触。
# MultiPolygon 可能没有割线,尖峰或刺孔。 MultiPolygon 是常规的封闭点集。
# 具有多个 Polygon 的 MultiPolygon 内部没有连接。 MultiPolygon 内部的连接组件的数量等于 MultiPolygon 中的 Polygon 值的数量。
MultiPolygon 属性:
# MultiPolygon 是二维几何。
# MultiPolygon 边界是一组与其 Polygon 元素的边界相对应的闭合曲线(LineString值)。
# MultiPolygon 边界中的每个 Curve 都恰好在一个 Polygon 元素的边界中。
# Polygon 元素边界中的每个 Curve 都位于 MultiPolygon 的边界中。


== 支持的空间数据格式 ==
== 支持的空间数据格式 ==


== 几何格式正确性和有效性 ==
== 几何格式正确性和有效性 ==

2021年3月26日 (五) 23:47的版本


关于空间数据类型

MySQL 空间扩展可实现地理 Feature 的生成,存储和分析:

  1. 表示空间值的数据类型
  2. 操纵空间值的功能
  3. 空间索引可缩短对空间列的访问时间
  • 空间数据类型和功能可用于 MyISAMInnoDBNDBARCHIVE 表。对于空间列的索引,MyISAM 和 InnoDB 支持 SPATIAL非SPATIAL 索引。【???】


地理 Feature 是世界上任何具有位置的东西。功能可以是:

  1. 一个实体。例如,山,池塘,城市。
  2. 空间。例如,市区,热带地点。
  3. 可定义的位置。例如,十字路口,作为两条街道相交的特定位置。

空间数据类型

MySQL 具有与 OpenGIS 类相对应的空间数据类型。【???】


一些空间数据类型保存单个几何值:

  1. GEOMETRY【几何】
  2. POINT【点】
  3. LINESTRING【线】
  4. POLYGON【多边形】
  • GEOMETRY 可以存储任何类型的几何值。其他单值类型(POINT,LINESTRING 和 POLYGON)将其值限制为特定的几何类型。


其他空间数据类型包含值的集合:

  1. MULTIPOINT【多点】
  2. MULTILINESTRING【多线】
  3. MULTIPOLYGON【多边形集】
  4. GEOMETRYCOLLECTION
  • GEOMETRYCOLLECTION 可以存储任何类型的对象的集合。其他集合类型(MULTIPOINT,MULTILINESTRING 和 MULTIPOLYGON)将集合成员限制为具有特定几何类型的成员。


示例:要创建一个名为geom的 table,该 table 具有一个名为g的列,该列可以存储任何几何类型的值,请使用以下语句:

CREATE TABLE geom (g GEOMETRY);
  • 可以在 NOT NULL 空间列上创建 SPATIAL 索引,因此,如果您打算为该列构建索引,请声明NOT NULL:
    CREATE TABLE geom (g GEOMETRY NOT NULL);
    

OpenGIS 几何模型

OGC 的“SQL with Geometry Types”环境提出的几何类型集基于 OpenGIS Geometry Model 。在此模型中,每个几何对象都具有以下常规属性:

  1. 它与空间参考系统相关联,该系统描述了在其中定义对象的坐标空间。
  2. 它属于某些几何类。


GEOMETRY 类的层次结构:

  • Geometry(不可实例化)
  • Point(可实例)
  • Curve(不可实例化)
    • LineString(可实例)
      • Line
      • LinearRing(可实例)
  • Surface(不可实例化)
    • Polygon(可实例)
  • GeometryCollection(可实例)
  • MultiPoint(可实例)
  • MultiCurve(不可实例化)
    • MultiLineString(可实例)
  • MultiSurface(不可实例化)
    • MultiPolygon(可实例)

Geometry 是基础类。这是一个抽象类。 Geometry 的可实例化子类被限制为存在于二维坐标空间中的零、一和二维几何对象。

基本 Geometry 类具有 Point,Curve,Surface 和 GeometryCollection 的子类:

  1. Point 代表零维对象。
  2. Curve 代表一维对象,并具有子类别 LineString,以及子子类别 Line 和LinearRing 。
  3. Surface 是为二维对象设计的,具有子类 Polygon。
  4. GeometryCollection 具有名为 MultiPoint,MultiLineString 和 MultiPolygon 的专用零维,一维和二维收集类,用于分别建模与 Points,LineStrings 和 Polygons 的集合对应的几何形状。 MultiCurve 和 MultiSurface 作为抽象超类引入,它们泛化了收集接口以处理 Curves 和 Surfaces。
  • Geometry,Curve,Surface,MultiCurve 和 MultiSurface 被定义为非实例类。它们为其子类定义了一组通用的方法,并且为了扩展性而将它们包括在内。
  • Point,LineString,Polygon,GeometryCollection,MultiPoint,MultiLineString 和 MultiPolygon 是可实例化的类。

GEOMETRY 类

Geometry是层次结构的根类。它是一个不可实例化的类,但具有以下列表中描述的许多属性,这些属性对于从任何 Geometry子类创建的所有几何值都是共有的。(特定的子类具有自己的特定属性)

Geometry 属性:

  1. 它的 类型 。每个几何都属于层次结构中的可实例化类之一。
  2. SRID空间参考标识符。该值标识与几何相关的空间参考系统,该系统描述了在其中定义几何对象的坐标空间。
    在 MySQL 中,SRID 值是与几何值关联的整数。可用的最大 SRID 值为 232-1【???】。如果给出较大的值,则仅使用较低的 32 位。不管实际 SRID 值如何,所有计算均假设 SRID 为 0。 SRID 0 表示无限平坦的笛卡尔平面,其轴未分配任何单位。
  3. 它在空间参考系统中的“坐标”,表示为双精度(8 字节)数字。所有非空几何均包括至少一对“(X,Y)”坐标。空几何不包含坐标。
    坐标与 SRID 相关。例如,在不同的坐标系中,即使对象具有相同的坐标,两个对象之间的距离也可能会有所不同,这是因为 平面 坐标系上的距离和 大地坐标 坐标系上的距离(地球表面)是不同的东西。
  4. 它的“内部”,“边界”和“外部”。
    每个几何都在空间中占据某些位置。几何图形的外部是几何图形未占用的所有空间。内部是几何所占据的空间。边界是几何图形的内部和外部之间的接口。
  5. MBR(最小边界矩形)或包络。这是由最小和最大“(X,Y)”坐标形成的边界几何:
    ((MINX MINY, MAXX MINY, MAXX MAXY, MINX MAXY, MINX MINY))
    
  6. 该值是 simple 还是 nonsimple 。类型(LineString,MultiPoint,MultiLineString)的几何值可以是简单的或不简单的。每种类型自己确定其值的简单或非简单。【???】
  7. 该值是 closed 还是 notclosed 。类型(LineString,MultiString)的几何值已关闭或未关闭。每种类型自己确定其值的关闭或未关闭。
  8. 值是 还是 非空。如果几何没有任何点,则为空。未定义空几何的外部,内部和边界(即,它们由“NULL”值表示)。空几何定义为始终简单,面积为 0。
  9. 尺寸 。几何的尺寸可以为 -1、0、1 或 2:
    1. -1 为空的几何。【空几何】
    2. 0 用于没有长度和面积的几何。【点、点集】
    3. 1 用于非零长度和零面积的几何。【线、线集】
    4. 2 用于非零面积的几何。【几何】
    • Point 对象的尺寸为零。 LineString 对象的尺寸为 1。Polygon对象的尺寸为 2。MultiPoint,MultiLineString 和 MultiPolygon 对象的尺寸与其组成的元素的尺寸相同。

Point 类

Point 是代表坐标空间中单个位置的几何。

Point示例:

  1. 想象一下有许多城市的大型世界地图。 Point 对象可以代表每个城市。
  2. 在城市地图上,Point 对象可以代表公交车站。

Point属性:

  1. X:坐标值。
  2. Y:坐标值。
  3. Point 被定义为零维几何。
  4. Point 的边界是空集。

Curve 类

Curve 是一维几何,通常由一系列点表示。 Curve的特定子类定义了点之间的插值类型。Curve是不可实例化的类。

Curve 属性:

  1. Curve具有其点的坐标。
  2. Curve被定义为一维几何。
  3. Curve如果不两次通过同一点,则很简单,不同之处是,如果起点和终点相同,则曲线仍可以是简单的。
  4. 如果 Curve 的起点等于端点,则为闭合。
  5. 闭合的 Curve 的边界为空。
  6. 未封闭的 Curve 的边界由其两个端点组成。
  7. 简单且封闭的Curve是 LinearRing。【环线】

LineString 类

LineString 是一种作为两点间直线插值的 Curve。

LineString 示例:

  1. 在世界地图上,LineString 个对象可以代表河流。
  2. 在城市地图中,LineString 个对象可以代表街道。

LineString 属性:

  1. LineString 具有段的坐标,由每个连续的点对定义。
  2. 如果 LineString 正好由两点组成,则它是 Line。【线段?】
  3. 如果 LineString 是封闭且简单的,则它是 LinearRing。【环线】

Surface 类

Surface是二维几何。这是一个不可实例化的类。它唯一的可实例化子类是 Polygon

Surface 属性:

  1. Surface 被定义为二维几何。
  2. OpenGIS 规范将简单的 Surface 定义为一种几何形状,它由与单个外部边界和零个或多个内部边界相关联的单个“补丁”组成。
  3. 简单Surface的边界是与其外部和内部边界相对应的一组闭合曲线。

Polygon 类

Polygon 是代表多边几何图形的平面 Surface。它由单个外部边界和零个或多个内部边界定义,其中每个内部边界在 Polygon 中定义一个孔【???hole】。

Polygon 示例:
在区域地图上,Polygon 对象可以代表森林,地点等。

Polygon 属性:

  1. Polygon 的边界由一组 LinearRing 对象(即简单且闭合的 LineString 对象)组成,这些对象组成其外部和内部边界。
  2. Polygon 没有交叉的环。 Polygon 边界中的环可在 Point 处相交,但仅作为切线。
  3. Polygon 没有线条,尖峰 或 刺孔。
  4. Polygon 的内部是连接的点集。
  5. Polygon 可能有孔。有孔(hole)的 Polygon 的外部是未连接在一起的。每个孔都定义了外部的连接组件。

GeometryCollection 类

GeometryCollection 是一个几何,它是零个或多个任何类的几何的集合

几何图形集合中的所有元素必须位于相同的空间参考系统(即,位于相同的坐标系)中。尽管以下各节中描述的 GeometryCollection 的子类可能会限制成员资格,但是几何集合的元素没有其他限制。限制可能基于:

  1. 元素类型(例如 MultiPoint 只能包含 Point 元素)
  2. 尺寸
  3. 限制元素之间的空间重叠程度

MultiPoint 类

MultiPoint 是由 Point 元素组成的几何集合。这些点没有以任何方式连接或排序。

MultiPoint 示例:

  1. 在世界地图上,MultiPoint 可以代表一连串的小岛。
  2. 在城市地图上,MultiPoint 可以代表售票处的网点。

MultiPoint 属性:

  1. MultiPoint 是零维几何。
  2. 如果 MultiPoint 的 Point 值中没有两个相等(具有相同的坐标值),则很简单。
  3. MultiPoint 的边界是空集。

MultiCurve 类

MultiCurve是由Curve个元素组成的几何集合。 MultiCurve是不可实例化的类。

MultiCurve 属性:

  1. MultiCurve 是一维几何。
  2. MultiCurve 仅当其所有元素都简单时才简单;两个元素之间唯一的交点出现在两个元素边界上的点处。
  3. 通过应用“mod 2 联合规则”(也称为“奇偶规则”)获得 MultiCurve 边界:如果某个点位于奇数个Curve元素的边界中,则该点位于MultiCurve的边界中。【???】
  4. 如果 MultiCurve 的所有元素都关闭,则关闭。
  5. 闭合的 MultiCurve 的边界始终为空。

MultiLineString 类

MultiLineString 是由 LineString 元素组成的 MultiCurve 几何图形集合。

MultiLineString 示例:
在区域 Map 上,MultiLineString可以代 table 河流系统或高速公路系统。

MultiSurface 类

MultiSurface是由 surface 元素组成的几何集合。 MultiSurface 是不可实例化的类。它唯一可实例化的子类是 MultiPolygon

MultiSurface 属性:

  1. MultiSurface 内的面不相交。
  2. MultiSurface 内的曲面最多具有有限个点的相交。【而非相交于面】

MultiPolygon 类

MultiPolygon 是由 Polygon 元素组成的 MultiSurface 对象。

MultiPolygon 示例:

  1. 在区域地图上,MultiPolygon 可以代表湖泊系统。

MultiPolygon 规则:

  1. MultiPolygon 没有两个 Polygon 元素的内部相交。
  2. MultiPolygon 没有两个 Polygon 元素交叉(上一个属性也禁止交叉)或在无数个点处接触。
  3. MultiPolygon 可能没有割线,尖峰或刺孔。 MultiPolygon 是常规的封闭点集。
  4. 具有多个 Polygon 的 MultiPolygon 内部没有连接。 MultiPolygon 内部的连接组件的数量等于 MultiPolygon 中的 Polygon 值的数量。

MultiPolygon 属性:

  1. MultiPolygon 是二维几何。
  2. MultiPolygon 边界是一组与其 Polygon 元素的边界相对应的闭合曲线(LineString值)。
  3. MultiPolygon 边界中的每个 Curve 都恰好在一个 Polygon 元素的边界中。
  4. Polygon 元素边界中的每个 Curve 都位于 MultiPolygon 的边界中。

支持的空间数据格式

几何格式正确性和有效性

创建空间列

填充空间列

提取空间数据

优化空间分析

创建空间索引

使用空间索引