Наборы классов объектов в базе геоданных в SQL Server
Наборы классов объектов – это объекты, которые позволяют объединять связанные классы объектов таким образом, чтобы их можно было использовать для определенных функций. Вы могли бы использовать классы объектов в набор, если они обладают следующими характеристиками:
- Они хранятся в одной системе координат;
- Они используются в топологии;
- Они используются в классе отношений;
- Они являются частью геометрической сети, набора сетевых данных, набора схематических данных, набора кадастровых данных (parcel fabric) или набора данных рельефа (terrain);
- Они имеют класс связанных с объектом аннотаций.
Используйте следующие ссылки, чтобы узнать о различных компонентах наборов классов объектов в SQL Server.
В следующих разделах описано, каким образом набор классов объектов может отображаться в дереве Каталога ArcGIS for Desktop, в системе управления базами данных (СУБД), а также в XML-документе.
Наборы классов объектов в ArcGIS for Desktop
В дереве Каталога наборы классов объектов представлены со следующим значком:
Если развернуть набор классов объектов в дереве Каталога, будут отображаться все классы объектов и другие объекты данных, которые в нем находятся.
Имя набора классов объектов в базе геоданных в Microsoft SQL Server содержит имя базы данных, имя владельца набора классов объектов, а также имя самого набора классов объектов. Это показано на предыдущем рисунке.
Наборы классов объектов в базе данных Microsoft SQL Server
В базе данных наборы классов объектов являются виртуальными коллекциями классов объектов. Они объединяются по общему ID, который хранится в системной таблице GDB_ITEMS.
Если в качестве примера рассмотреть набор классов объектов Water, то класс объектов Tanks определяется как часть этого набора Water посредством таблицы GDB_ITEMRELATIONSHIPS. Атрибут UUID набора классов объектов соответствует ORIGINID, а атрибут UUID класса объектов – DESTID.
Далее представлены бизнес-таблица и системные таблицы класса объектов Tanks, которые отслеживают набор классов объектов Water в SQL Server.
Так как наборы классов объектов являются виртуальными коллекциями объектов, классы объектов в таких наборах похожи на отдельные классы объектов тем, что они имеют собственные записи в таблицах, связанных с классами объектов, например SDE_layers, SDE_table_registry, sde_geometry_columns и SDE_column_registry. Поскольку классы объектов, связанные с соответствующими наборами, являются полноценными объектами базы данных, они не могут иметь такое же имя, как другие таблицы или отдельные классы объектов в той же схеме базы данных.
Диаграмму связей классов объектов в базе геоданных см. в разделах Классы объектов базы геоданных в SQL Server.
Топологии, геометрические сети, наборы сетевых данных, наборы кадастровых данных участков, наборы схематических данных и наборы данных рельефа (terrain) являются дополнительными объектами базы данных, которые могут входить в набор классов объектов. В этих объектах используются дополнительные системные таблицы, описанные в отдельных разделах.
Наборы классов объектов в XML-документе
Наборы классов объектов в XML-документе объединяются в группы по тегу DatasetDefinitions и определяются тегом DataElement типа esri:DEFeatureDataset. Классы объектов, входящие в набор классов объектов, перечисляются в списке в качестве дочерних элементов данных для этого набора. За определениями этих элементов следует определение набора классов объектов. Запись о наборе Water в XML-документе будет выглядеть следующим образом:
<DatasetDefinitions xsi: type="esri:ArrayOfDataElement">
<DataElement xsi:type="esri:DEFeatureDataset">
<CatalogPath>/V=dbo.DEFAULT/FD=mydgdb.MAP.Water</CatalogPath>
<Name>mydgdb.MAP.Water</Name>
<Children xsi:type="esri:ArrayOfDataElement">
<DataElement xsi:type="esri:DEFeatureClass">
<CatalogPath>/V=mydgdb.MAP.Water/RC=mydgdb.MAP.Anno_19_72</CatalogPath>
<Name>mydgdb.MAP.Anno_19_72</Name>
<DatasetType>esriDTFeatureClass</DatasetType>
<DSID>1</DSID>
<Versioned>false</Versioned>
<CanVersion>true</CanVersion>
<HasOID>false</HasOID>
<OIDFieldName/>
<Fields xsi:type="esri:Fields">
<FieldArray xsi:type="esri:ArrayOfField">
</Fields>
...все остальные дочерние элементы данных...
</Children>
<DatasetType>esriDTFeatureDataset</DatasetType>
<DSID>-1</DSID>
<Versioned>false</Versioned>
<CanVersion>true</CanVersion>
<ConfigurationKeyword></Configuration Keyword>
<Extent xsi:type="esri:EnvelopeN">
<XMin>2210083.8332546502</XMin>
<YMin>386326.52300001681</YMin>
<XMax>2223761.6047394276</XMax>
<YMax>399843.09970059991</YMax>
<SpatialReference xsi:type"esri:ProjectedCoordinateSystem">
<WKT>PROJCS["NAD_1927_StatePlane_Colorado_North_FIPS_0501",
GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",
SPHERIOD["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],
PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",0.0],
PARAMETER["Centeral_Meridian",-105.5],PARAMETER["Stnadard_parallel_1",39.71666666666667],
PARAMETER["Standard_Parallel_2",40.78333333333333],
PARAMETER["Latitude_Of_Origin",39.333333333334],
UNIT["Foot_US",0.3048006096012192],AUTHORITY["EPSG",26753]]</WKT>
<XOrigin>-119259500</XOrigin>
<YOrigin>-96173400</YOrigin>
<XYScale>37140179.758043662</XYScale>
<ZOrigin>-100000</ZOrigin>
<ZScale>10000</ZScale>
<MOrigin>-100000</MOrigin>
<MScale>10000</MScale>
<XYTolerance>0.0032808333333333335</XYTolerance>
<ZTolerance>0.001</ZTolerance>
<MTolerance>0.001</MTolerance>
<HighPrecision>true</HighPrecision>
<WKID>26753</WKID>
</SpatialReference>
</Extent>
</DataElement>
</DatasetDefinitions>
Настройка тега <Versioned> для набора классов объектов со значением Нет (False) не отражает версионное состояние классов объектов в указанном наборе. Чтобы найти эту информацию, выполните поисковый запрос отдельно по каждому классу объектов в наборе классов объектов.