SQL Server 中地理数据库中的宗地结构
宗地结构是地理数据库中的一种数据集,可使用测量图中的数据对其进行创建和维护。ArcMap 中的宗地编辑工具简化了根据测量图或地籍图中所记录的边界线测量数据创建宗地的过程。
宗地结构是相连宗地的一种连续的整合表面,表示了一片土地区域的完整测量记录。此结构由若干要素类构成。这些要素类可表示边界、端点以及宗地的其他物理属性。
此外,宗地多边形还通过连接线使彼此相互连接。由于每个宗地彼此连接或彼此连通,因此形成了一个相连宗地边界的无缝网络。
会将编辑过或已替换为新测量记录的宗地保留为历史宗地,这样便可始终保留原始测量记录。
在 10 之前的 ArcGIS 版本中,宗地结构被称为地籍结构,并需要使用 Survey Analyst 扩展模块。
ArcGIS for Desktop 中的宗地结构
在目录树中,宗地结构可显示为要素数据集,并表示为如下图标:
SQL Server 中地理数据库内的宗地结构名称包含数据库名称、宗地结构所有者的名称以及宗地结构本身的名称。例如,评估人员地理数据库中的用户 base 所拥有的宗地结构 coparcels 将以 assessor.BASE.coparcels 形式在目录树中列出。
Microsoft SQL Server 数据库中的宗地结构
为追踪有关宗地结构的信息,将会在数据库中创建若干个表。会以宗地结构创建者的方案创建表。这些表包含宗地结构的名称 <parcel_fabric>,后面是特定的表。如下所示:
<PARCEL_FABRIC>_ACCURACY
<PARCEL_FABRIC>_ACCURACY 表可存储用于最小二乘平差的精度类别和统计数据。将宗地结构注册为版本时,不会对此表进行版本化。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
BrgSD |
numeric |
方位角的标准差 |
NOT NULL |
DistSD |
numeric |
距离的标准差 |
NOT NULL |
PPM |
numeric |
百万分率值 |
NOT NULL |
Category |
integer |
指示精度等级 |
NOT NULL |
描述 |
nvarchar(256) |
类别的描述 |
<PARCEL_FABRIC>_ADJUSTMENTS
<PARCEL_FABRIC>_ADJUSTMENTS 表用于存储校正级别(序列 ID)及其相应的校正日期。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
AdjustmentDate |
datetime2 |
插入校正的日期 | |
VectorCount |
integer |
校正所生成的矢量数量 |
NOT NULL |
AdjLevel |
integer |
校正相对于其他校正的序号(顺序) |
NOT NULL |
JobID |
integer |
包含校正的作业的 ID | |
形状 |
integer geometry | 校正区域 |
<PARCEL_FABRIC>_CONTROL
<PARCEL_FABRIC>_CONTROL 表用于存储宗地结构上的控制点的相关信息。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
控制点的唯一标识符 |
NOT NULL |
X |
numeric |
控制点的 x 坐标;固定值 |
NOT NULL |
Y |
numeric |
控制点的 y 坐标;固定值 |
NOT NULL |
Z |
numeric |
控制点的 z 坐标;固定值 | |
名称 |
nvarchar(50) |
控制点的名称 | |
PointID |
integer |
对应结构点的 ID | |
AccuracyXY |
numeric |
控制点的水平定位精度;仅供参考 | |
AccuracyZ |
numeric |
控制点的垂直精度;仅供参考 | |
SurveyDate |
datetime2 |
创建控制点的日期 | |
Active |
integer |
指示控制点在校正中是否为活动状态 | |
类型 |
integer |
用于自定义子类型 | |
形状 |
integer geometry |
控制点的几何 | |
ConstructionData |
varbinary(max) |
存储未连接点和控制点之间的连接线;当宗地重新连接到结构时,宗地点会连接到任意已连接控制点 |
<PARCEL_FABRIC>_HISTORY
<PARCEL_FABRIC>_HISTORY 表用于存储非空间宗地谱系信息。此表支持通过合法日期和系统日期进行追踪的文本谱系。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
childParcelID |
integer |
子宗地 ID 或此父项的子项的 ID | |
ParentParcelID |
integer |
此子项的父宗地的宗地 ID | |
SystemStartDate |
datetime2 |
创建子项的系统事务的日期 |
NOT NULL |
LegalStartDate |
datetime2 |
创建子项的有效事务的日期 |
<PARCEL_FABRIC>_IDSEQUENCER
<PARCEL_FABRIC>_IDSEQUENCER 表在内部用于确保宗地结构中的所有表都使用唯一 ID。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
<PARCEL_FABRIC>_JOBOBJECTS
<PARCEL_FABRIC>_JOBOJBECTS 表包含对通过作业加在对象上的数据库锁进行管理所需的信息。将宗地结构注册为版本时,不会对此表进行版本化。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
JobID |
integer |
加锁的作业的 ID |
NOT NULL |
ObjectType |
integer |
锁定对象的类型 |
NOT NULL |
JobFeatureID |
integer |
锁定要素的对象 ID |
NOT NULL |
Role |
integer |
所加的锁的类型 - 乐观锁或悲观锁(编辑宗地使用悲观锁。) |
NOT NULL |
Edit |
integer | 指示是否可编辑作业对象的属性 |
NOT NULL |
<PARCEL_FABRIC>_JOBS
<PARCEL_FABRIC>_JOBS 表用于存储在宗地结构运转的地籍作业的相关信息。将宗地结构注册为版本时,不会对此表进行版本化。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
名称 |
nvarchar(64) |
地籍作业标识符或名称 |
NOT NULL |
描述 |
nvarchar(64) |
地籍作业的用户定义描述 | |
Locked |
integer |
指示作业宗地列表中存在锁定的宗地 |
NOT NULL |
CreateDate |
datetime2 |
作业的创建日期 | |
ModifiedDate |
datetime2 |
上次修改作业的日期 | |
CommitDate |
datetime2 |
作业提交到数据库的日期 | |
所有者 |
nvarchar(64) |
作业的所有者 |
NOT NULL |
状态 |
integer |
作业的状态 |
NOT NULL |
SystemState |
integer |
作业的系统维护状态 |
NOT NULL |
Version |
nvarchar(64) |
支持作业的地理数据库版本 | |
LockMachine |
nvarchar(128) |
当前正在编辑作业的客户端计算机的名称 |
NOT NULL |
LockPID |
integer |
包含锁定进程 ID 的系统字段;维护对于作业的单用途编辑 |
NOT NULL |
CommitedObj |
varbinary(max) |
存储由于作业已提交到默认版本中而不再位于“作业对象”表中的宗地 ObjectID;出于历史目的而保留的值 |
<PARCEL_FABRIC>_LEVELS
<PARCEL_FABRIC>_LEVELS 表用于存储有关宗地结构和与其相关的要素类之间的关系的信息。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
FeatureclassID |
integer |
关联要素类的 ID |
NOT NULL |
AdjLevel |
integer |
最后应用于要素类的校正级别 |
NOT NULL |
CFID |
integer |
源宗地结构 ID |
NOT NULL |
<PARCEL_FABRIC>_LINEPOINTS
<PARCEL_FABRIC>_LINEPOINTS 表用于存储某个宗地中的点的信息,这些点被限制在边界上不存在共享点的另一个宗地的边界上。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
点的唯一标识符 |
NOT NULL |
ParcelID |
integer |
具有边界线的宗地的 ID |
NOT NULL |
FromPointID |
integer |
边界线起点的 ID |
NOT NULL |
ToPointID |
integer |
边界线终点的 ID |
NOT NULL |
LinePointID |
integer |
必须位于边界上的点的 ID |
NOT NULL |
FlexPoint | integer | 表明邻近线点的直线是否弯曲至线点的位置。 | |
形状 |
integer geometry |
提高绘制性能的点的复本 |
<PARCEL_FABRIC>_LINES
<PARCEL_FABRIC>_LINES 表用于存储宗地结构的所有线(例如边界线、地役权线和连接线)的相关信息。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
线的唯一标识符 |
NOT NULL |
Calculated |
integer |
指示尺寸是否由形状几何转换而来(是/1,否/0) | |
ParcelID |
integer |
包含线的宗地的 ID |
NOT NULL |
Sequence |
integer |
用于指示在宗地导线中输入线的顺序的数字 |
NOT NULL |
FromPointID |
integer |
线的起始结构点的 ID |
NOT NULL |
ToPointID |
integer |
线的终止结构点的 ID |
NOT NULL |
Bearing |
numeric |
记录或编译中的线的方位角 |
NOT NULL |
Distance |
numeric |
记录或编译中的线的长度 |
NOT NULL |
类型 |
integer |
用于自定义子类型 | |
Category |
integer |
线的高级别系统类别 |
NOT NULL |
Radius |
numeric |
中心点距圆曲线弧线的距离 | |
ArcLength |
numeric |
圆曲线弧线的长度 | |
Delta |
numeric |
切线间的夹角或曲线中心处的角度 | |
CenterPointID |
integer |
圆弧中心点的 ID | |
Historical |
integer |
线的关联宗地为历史宗地时为真 (1);否则为假 (0) | |
RadialBearing |
numeric |
圆曲线半径的方位角 | |
TangentBearing |
numeric |
始于起点处的切线的方位角 | |
LineParameters |
integer |
曲线参数 | |
Accuracy |
integer |
线的精度类别;可从测量图中继承或被覆盖 | |
ComputedMinusObserved |
numeric |
与野外观测值相比较的计算的测量值(例如方位角和距离) | |
InternalAngle |
numeric |
基于后视方位角或方位角的基线 | |
ReferenceObject |
integer |
特定点的参考对象 | |
IsMajor |
integer |
支持大于 180 度的曲线;该值可为 1(大于 180 度),也可为 0(等于或小于 180 度) | |
Hide |
integer |
如果标记为真 (1),则会隐藏线注记 | |
SystemStartDate |
datetime2 |
创建父宗地的系统事务的日期 |
NOT NULL |
SystemEndDate |
datetime2 |
父宗地停用的日期 | |
LegalStartDate |
datetime2 |
创建父宗地的有效事务的日期;该日期应与有效测量图上的日期相同 | |
LegalEndDate |
datetime2 |
停用父宗地的有效事务的日期 | |
DensifyType |
integer |
存储增密线串的理由代码:常规、GCS、曲线、线串 | |
形状 |
integer geometry |
线几何 |
<PARCEL_FABRIC>_PARCELS
<PARCEL_FABRIC>_PARCELS 表用于存储宗地结构土地单元(这些单元被称作宗地)的相关信息。为分级土地类别建模时,可能会对这些单元进行子类划分。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
Joined |
integer |
连接状态;如果尚未连接,则不作为结构的一部分;1 = 已连接 |
NOT NULL |
PlanID |
integer |
包含宗地记录的测量图的标识符 |
NOT NULL |
名称 |
nvarchar(50) |
由用户指定的宗地名称 | |
类型 |
integer |
用于自定义子类型,以支持土地单元的类别 | |
StatedArea |
nvarchar(50) |
测量图或法定记录中所述的宗地的面积 | |
Compiled |
integer |
指示宗地是否已编译(是/1,否/0) |
NOT NULL |
historical |
integer |
指示宗地是否已停用(是/1,否/0) | |
SystemStartDate |
datetime2 |
创建宗地的系统事务的日期 |
NOT NULL |
SystemEndDate |
datetime2 |
停用宗地的系统事务的日期 | |
LegalStartDate |
datetime2 |
创建宗地的有效事务的日期 | |
LegalEndDate |
datetime2 |
停用宗地的有效事务的日期 | |
GroupID |
integer |
如果属于未连接组的一部分,则设置此数值 | |
Accuracy |
integer |
测量值的精度类别,通常取自测量图 | |
Rotation |
numeric |
连接过程中的旋转 | |
Scale |
numeric |
连接过程中的比例 | |
Unclosed |
integer |
指示宗地是否为闭合导线(是/1,否/0) |
NOT NULL |
MiscloseRatio |
numeric |
未闭合距离与宗地周长之比 | |
MiscloseDistance |
numeric |
闭合宗地所需的距离 | |
MiscloseBearing |
numeric |
闭合宗地所需的方位角 | |
Construction |
integer |
指示宗地是否为构造(是/1,否/0) | |
ShapeStdErrorE |
numeric |
整体宗地变形(东移) | |
ShapeStdErroN |
numeric |
整体宗地变形(北移) | |
BacksightBearing |
numeric |
线相对后视点的方向 | |
形状 |
integer geometry |
宗地几何 | |
ConstructionData |
varbinary(max) |
仅对未连接宗地(没有形状值的宗地)进行填充 |
<PARCEL_FABRIC>_PLANS
<PARCEL_FABRIC>_PLANS 表用于存储提交作为土地事务证据的记录文档中的信息。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
名称 |
nvarchar(128) |
测量图或法律文档的名称 |
NOT NULL |
描述 |
nvarchar(1024) |
文档的描述 | |
Surveyor |
nvarchar(50) |
记录测量员的姓名 | |
Company |
nvarchar(50) |
记录的测量公司或组织 | |
SurveyDate |
datetime2 |
测量日期 | |
LegalDate |
datetime2 |
测量或文档的记录日期 | |
AngleUnits |
integer |
记录的方位角单位 | |
AreaUnits |
integer |
记录的面积单位 | |
DistanceUnits |
integer |
记录的距离单位 | |
DirectionFormat |
integer |
记录的方向格式 | |
LineParameters |
integer |
记录中的线定义参数 | |
DistanceAtGround |
integer |
指示记录距离是地面(真/1)还是网格(假/0) | |
CombinedGridFactor |
numeric |
网格的比例因子 | |
TrueMidbrg |
integer |
指示是否使用天文方位角(真/1,假/0) | |
Accuracy |
integer |
测量图的空间精度,设置为某个精度类别 | |
InternalAngles |
integer |
指示是否使用内角;1 = 是,2 = 否 | |
SystemStartDate |
datetime2 |
创建测量图的系统事务的日期 |
NOT NULL |
<PARCEL_FABRIC>_POINTS
<PARCEL_FABRIC>_POINTS 表用于存储针对每个结构而存在的点集和曲线的中心点的相关信息。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
点的唯一标识符 |
NOT NULL |
X |
numeric |
连接和最小二乘平差的 X 坐标 |
NOT NULL |
Y |
numeric |
连接和最小二乘平差中的 Y 坐标 |
NOT NULL |
Z |
numeric |
连接和最小二乘平差中的 Z 坐标 | |
类型 |
integer |
用于自定义子类型 | |
Category |
integer |
系统类别的枚举 | |
名称 |
nvarchar(32) |
点名称 | |
Historical |
integer |
指示宗地线是否为历史线(是/1,否/0) | |
SystemStartDate |
datetime2 |
创建点的系统事务的日期 | |
SystemEndDate |
datetime2 |
停用点的系统事务的日期 | |
LegalStartDate |
datetime2 |
创建点的有效事务的日期;通常来自有效记录 | |
LegalEndDate |
datetime2 |
停用点的有效事务的日期 | |
CenterPoint |
integer |
如果点为中心点,则设置为真 (1) | |
MaxDN |
numeric |
最大北移值 | |
MaxDE |
numeric |
最大东移值 | |
形状 |
integer geometry |
点几何 |
<PARCEL_FABRIC>_VECTORS
<PARCEL_FABRIC>_VECTORS 表用于存储已校正点的新旧坐标之间的位移矢量。会通过对应于校正日期的校正级别对矢量进行逻辑分组。
字段名 |
字段类型 |
描述 |
是否允许为空 |
---|---|---|---|
ObjectID |
integer |
记录的唯一标识符 |
NOT NULL |
FromX |
numeric |
校正之前点的 x 坐标 |
NOT NULL |
FromY |
numeric |
校正之前点的 y 坐标 |
NOT NULL |
ToX |
numeric |
校正之后点的 x 坐标 | |
ToY |
numeric |
校正之后点的 y 坐标 | |
PointID |
integer |
校正点的唯一标识符 |
NOT NULL |
AdjLevel |
integer |
包含矢量的校正级别 |
NOT NULL |
View a diagram of a parcel fabric in SQL Server.
需要使用 Adobe Acrobat Reader 才能打开此文件。
虚线表示各列之间的隐含关系。
XML 文档中的宗地结构
在 XML 工作空间文档中,使用 CadastralFabric 类型的数据元素和数据集表示宗地结构,如以下示例所示:
<DataElement xsi:type="esri:DECadastralFabric">
<CatalogPath>/V=sde.DEFAULT/FD=assessor.base.landbase/CF=assessor.base.coparcels</CatalogPath>
<Name>assessor.base.coparcels</Name>
<DatasetType>esriDTCadastralFabric</DatasetType>
<DSID>265</DSID>
<Versioned>false</Versioned>
<CanVersion>false</CanVersion>
<Extent xsi:type="esri:EnvelopeN">
<XMin>6183000.00012755</XMin>
<YMin>2278000.00003956</YMin>
<XMax>6188999.99993855</XMax>
<YMax>2281999.99991356</YMax>
<SpatialReference xsi:type="esri:ProjectedCoordinateSystem">
<WKT>PROJCS["NAD_1983_StatePlane_California_VI_FIPS_0406_Feet", GEOGCS["GCS_North_American_1983", DATUM["D_North_American_1983", SPHEROID["GRS_1980",6378137.0,298.257222101]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"], PARAMETER["False_Easting",6561666.666666666], PARAMETER["False_Northing",1640416.666666667], PARAMETER["Central_Meridian",-116.25], PARAMETER["Standard_Parallel_1",32.78333333333333], PARAMETER["Standard_Parallel_2",33.88333333333333], PARAMETER["Latitude_Of_Origin",32.16666666666666], UNIT["Foot_US",0.3048006096012192]]</WKT>
<XOrigin>-118608811.296</XOrigin>
<YOrigin>-91259488.671</YOrigin>
<XYScale>3048.00609601219</XYScale>
<ZOrigin>-100000</ZOrigin>
<ZScale>10000</ZScale>
<MOrigin>-100000</MOrigin>
<MScale>10000</MScale>
<XYTolerance>3.28083333333333E-03</XYTolerance>
<ZTolerance>0.001</ZTolerance>
<MTolerance>0.001</MTolerance>
<HighPrecision>true</HighPrecision>
</SpatialReference>
</Extent>
<SpatialReference xsi:type="esri:ProjectedCoordinateSystem">
<WKT>PROJCS["NAD_1983_StatePlane_California_VI_FIPS_0406_Feet", GEOGCS["GCS_North_American_1983", DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]], PROJECTION["Lambert_Conformal_Conic"], PARAMETER["False_Easting",6561666.666666666], PARAMETER["False_Northing",1640416.666666667], PARAMETER["Central_Meridian",-116.25], PARAMETER["Standard_Parallel_1",32.78333333333333], PARAMETER["Standard_Parallel_2",33.88333333333333], PARAMETER["Latitude_Of_Origin",32.16666666666666], UNIT["Foot_US",0.3048006096012192]]</WKT>
<XOrigin>-118608811.296</XOrigin>
<YOrigin>-91259488.671</YOrigin>
<XYScale>3048.00609601219</XYScale>
<ZOrigin>-100000</ZOrigin>
<ZScale>10000</ZScale>
<MOrigin>-100000</MOrigin>
<MScale>10000</MScale>
<XYTolerance>3.28083333333333E-03</XYTolerance>
<ZTolerance>0.001</ZTolerance>
<MTolerance>0.001</MTolerance>
<HighPrecision>true</HighPrecision>
</SpatialReference>
<ConfigurationKeyword>DEFAULTS</ConfigurationKeyword>
<DefaultAccuracy>4</DefaultAccuracy>
<CadastralFieldEditsCollection xsi:type="esri:ArrayOfCadastralFieldEdits" />
<UseDefaultAccuracies>true</UseDefaultAccuracies>
<CompiledAccuracy>3</CompiledAccuracy>
<BufferDistanceForAdjustment>50</BufferDistanceForAdjustment>
<CadastralFabricType>0</CadastralFabricType>>
<SurrogateVersion />
<Version>2</Version>
<MaximumShiftThreshold>0.0098424999999999988</MaximumShiftThreshold>
<MultiGenerationEditing>false</MultiGenerationEditing>
<MultiLevelReconcile>false</MultiLevelReconcile>
<MinorVersion>3</MinorVersion>
</DataElement>