Наборы сетевых данных в SQL Server
Наборы сетевых данных представляют собой наборы классов объектов, обладающих отношением связности. Наборы сетевых данных создаются с использованием трех типов источников – источников объектов ребер, например, центральные линии улиц, источников объектов соединения, например, классов объектов точек, содержащих железнодорожные стрелки, и источников объектов поворотов. Они используются для моделирования транспорта. Для работы с наборами сетевых данных вам необходимо установить дополнительный модуль Дополнительный модуль ArcGIS Network Analyst.
Наборы сетевых данных в ArcGIS for Desktop
В дереве каталога наборы классов объектов, которые содержат наборы сетевых данных в SQL Server, выглядят аналогично до тех пор, пока вы не раскроете набор данных. В раскрытом наборе данных вы увидите набор сетевых данных, представленный следующим значком:
Имя сети в базе геоданных в SQL Server содержит имя базы данных, имя владельца сети и имя сети.
Например, набор сетевых данных roads_nd, принадлежащий пользователю RJP, в базе геоданных sdedb будет обозначен в дереве Каталога как sdedb.RJP.roads_nd.
При создании набора сетевых данных система также создает класс объектов системных соединений. Данный класс пространственных объектов имеет такое же имя, как и набор сетевых данных, но при этом сопровождается окончанием _Junctions.
Наборы сетевых данных в базе данных Microsoft SQL Server
Набор сетевых данных отслеживается в таблице GDB_ITEMS. В таблице GDB_ITEMTYPES хранится значение, указывающее, что объект является набором сетевых данных. В таблице GDB_ITEMRELATIONSHIPS хранится информация об отношениях сети и набора пространственных объектов.
Также имеются таблицы, созданные в схеме пользователя, владеющего набором сетевых данных. К ним относятся:
- N_<ID>_Desc: Таблица N_<ID>_Desc описывает элементы сети. Это нормализованная таблица, количество строк которой равно количеству соединений, ребер и поворотов в геометрической сети.
- N_<ID>_PROPS: Таблица N_<ID>_PROPS содержит итоговое описание сетевых параметров, например, количество элементов и максимальные значения EID.
- N_<ID>_TOPOLOGY: В данной таблице хранятся все топологии страниц BLOB.
- N_<ID>_EDGEWEIGHT: В данной таблице хранятся все страницы BLOB для значений веса ребра.
- N_<ID>_JUNCTIONWEIGHT: В данной таблице хранятся все страницы BLOB для значений веса соединений.
- N_<ID>_TURNWEIGHT: В данной таблице хранятся все страницы BLOB для значений веса поворотов.
- ND_<ITEMID>_DIRTYAREAS: В таблице ND_<ITEMID>_DIRTYAREAS хранится информация обо всех пространственных объектах сети, подвергнутых редактированию.
- ND_<ITEMID>_DIRTYOBJECTS: В таблице ND_<ITEMID>_DIRTYOBJECTS хранится информация обо всех реляционных объектах сети, подвергнутых редактированию, в наборе сетевых данных.
ID в именах первых шести таблиц является ID логической сети. itemID в двух последних таблицах представляет собой ObjectID из таблицы GDB_ITEMS.
Структуры таблиц показана ниже:
Таблица N_<ID>_Desc содержит записи для всех элементов пересечения, ребра и поворота набора сетевых данных.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
OID |
integer |
Уникальный идентификатор элемента сети |
NOT NULL |
userclassid |
smallint |
Идентификатор класса пространственных объектов, к которому принадлежит элемент |
NOT NULL |
userid |
integer |
ObjectID элемента |
NOT NULL |
usersubid |
integer |
Идентификатор элемента в объекте; применяется только к пространственным объектам "сложное ребро" |
NOT NULL |
elementtype |
smallint |
Кодовая идентификация типа элемента сети |
NOT NULL |
EID |
integer |
Уникальный идентификатор элемента сети; уникален только для типа сетевого элемента |
NOT NULL |
Таблица N_<ID>_PROPS содержит итоговое описание сетевых параметров, например, количество элементов и максимальные значения EID.
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
propertyid |
integer |
The unique identifier of the network property |
NOT NULL |
propertyname |
nvarchar(32) |
The name of the property |
NOT NULL |
propertyvalue |
integer |
The value of the property |
NOT NULL |
Таблица ND_<ITEMID>_DIRTYAREAS отслеживает редактируемые пространственные элементы в наборе сетевых данных.
Имя поля | Тип поля | Описание | Null? |
---|---|---|---|
objectid | integer | Уникальный идентификатор записи | NOT NULL |
isretired | integer | Указывает на использование данного объекта для отслеживания измененной области набора сетевых данных | NOT NULL |
dirtyarea | integer geometry geography | Геометрия полигона измененной области |
Таблица ND_<ITEMID>_DIRTYOBJECTS отслеживает все реляционные объекты сети, подвергнутых редактированию, в наборе сетевых данных, например, повороты и записи истории трафика.
Имя поля | Тип поля | Описание | Null? |
---|---|---|---|
objectid | integer | Уникальный идентификатор записи | NOT NULL |
classid | integer | objectID элемента измененного объекта в таблице GDB_ITEMS. | NOT NULL |
OID | integer | Идентификатор измененного объекта | NOT NULL |
updatetype | smallint | Тип выполненного редактирования – вставить (0), обновить (1) или удалить (2) – для измененного объекта | NOT NULL |
Остальные таблицы сети содержат аналогичные имена полей и типы. Их структура выглядит так:
Имя поля |
Тип поля |
Описание |
Null? |
---|---|---|---|
OID |
integer |
Уникальный идентификатор страницы типа varbinarymax в таблице |
NOT NULL |
pagenumber |
integer |
Номер страницы varbinarymax в таблице |
NOT NULL |
pageblob |
varbinary(max) |
Описание элемента, к которому относится таблица, например ребро и его статус |
|
tableid |
integer |
Для BLOB таблиц N_<ID>_EDGEWEIGHT, N_<ID>_TURNWEIGHT и N_<ID>_JUNCTIONWEIGHT параметр tableID равен weightID. Для BLOB таблицы N_<ID>_TOPOLOGY параметр tableID представляет собой положение исходной таблицы в массиве таблиц топологии, определенных в файле GeoDatabase\GeoDatabase\Network\Network\TableDefs.h. |
NOT NULL |
Далее приведена диаграмма набора сетевых параметров в SQL Server:
Штриховые линии определяют неявные отношения между столбцами.
Существуют дополнительные, опциональные таблицы, которые вы можете использовать как часть набора сетевых данных для модели времени движения или скоростей истории трафика, а также определения изменений в часовом поясе, которые могут повлиять на сетевой анализ. К ним относятся таблицы, которые вы создаете перед созданием вашего набора сетевых данных, и сохраненные в вашей схеме (аналогично внесению в схему класса пространственных объектов, на котором построена сеть). Вам необходимо указать имена таблиц. Дополнительные сведения об использовании таких таблиц истории трафика и часового пояса см. в разделе Дополнительный модуль Дополнительный модуль ArcGIS Network Analyst.
Наборы сетевых данных в XML-документе рабочей области
Ниже показан фрагмент XML-документа, созданного путем экспорта из набора сетевых данных. Ниже приведены свойства элементов ребер и соединений:
<EdgeFeatureSources xsi:type="esri:ArrayOfEdgeFeatureSource">
<EdgeFeatureSource xsi:type="esri:EdgeFeatureSource">
<ID>1</ID>
<ClassID>99</ClassID>
<Name>sdedb.RJP.Road_cl</Name>
<ElementType>esriNETEdge</ElementType>
<Properties xsi:nil="true" />
<FromElevationFieldName />
<ToElevationFieldName />
<Connectivity xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>UsesSubtypes</Key>
<Value xsi:type="xs:short">0</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ClassConnectivity</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>SubtypeConnCount</Key>
<Value xsi:type="xs:int">0</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>DefaultGroup</Key>
<Value xsi:type="xs:int">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>GroupCount</Key>
<Value xsi:type="xs:int">0</Value>
</PropertySetProperty>
</PropertyArray>
</Connectivity>
</EdgeFeatureSource>
</EdgeFeatureSources>
<JunctionFeatureSources xsi:type="esri:ArrayOfJunctionFeatureSource" />
<SystemJunctionSources xsi:type="esri:ArrayOfSystemJunctionSource">
<SystemJunctionSource xsi:type="esri:SystemJunctionSource">
<ID>2</ID>
<ClassID>1683</ClassID>
<Name>sdedb.RJP.Roads_ND_Junctions</Name>
<ElementType>esriNETJunction</ElementType>
<Properties xsi:nil="true" />
<ElevationFieldName />
</SystemJunctionSource>
</SystemJunctionSources>
<TurnFeatureSources xsi:type="esri:ArrayOfTurnFeatureSource" />
<EvaluatedNetworkAttributes xsi:type="esri:ArrayOfEvaluatedNetworkAttribute">
<EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute">
<ID>1</ID>
<Name>speed</Name>
<Units>Unknown</Units>
<DataType>esriNADTBoolean</DataType>
<UsageType>esriNAUTRestriction</UsageType>
<UserData xsi:nil="true" />
<UseByDefault>true</UseByDefault>
<AttributeParameters xsi:type="esri:ArrayOfNetworkAttributeParameter" />
</EvaluatedNetworkAttribute>
<EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute">
<ID>2</ID>
<Name>oneway</Name>
<Units>Unknown</Units>
<DataType>esriNADTBoolean</DataType>
<UsageType>esriNAUTRestriction</UsageType>
<UserData xsi:nil="true" />
<UseByDefault>true</UseByDefault>
<AttributeParameters xsi:type="esri:ArrayOfNetworkAttributeParameter" />
</EvaluatedNetworkAttribute>
<EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute">
<ID>3</ID>
<Name>timeofday</Name>
<Units>Unknown</Units>
<DataType>esriNADTInteger</DataType>
<UsageType>esriNAUTCost</UsageType>
<UserData xsi:nil="true" />
<UseByDefault>true</UseByDefault>
<AttributeParameters xsi:type="esri:ArrayOfNetworkAttributeParameter" />
</EvaluatedNetworkAttribute>
</EvaluatedNetworkAttributes>
<NetworkAssignments xsi:type="esri:ArrayOfNetworkAssignment">
<NetworkAssignment xsi:type="esri:NetworkAssignment">
<IsDefault>true</IsDefault>
<ID>-1</ID>
<NetworkAttributeName>speed</NetworkAttributeName>
<NetworkElementType>esriNETJunction</NetworkElementType>
<NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID>
<NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection>
<NetworkEvaluatorData xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ConstantValue</Key>
<Value xsi:type="xs:boolean">false</Value>
</PropertySetProperty>
</PropertyArray>
</NetworkEvaluatorData>
</NetworkAssignment>
<NetworkAssignment xsi:type="esri:NetworkAssignment">
<IsDefault>true</IsDefault>
<ID>-1</ID>
<NetworkAttributeName>speed</NetworkAttributeName>
<NetworkElementType>esriNETEdge</NetworkElementType>
<NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID>
<NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection>
<NetworkEvaluatorData xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ConstantValue</Key>
<Value xsi:type="xs:boolean">false</Value>
</PropertySetProperty>
</PropertyArray>
</NetworkEvaluatorData>
</NetworkAssignment>
<NetworkAssignment xsi:type="esri:NetworkAssignment">
<IsDefault>true</IsDefault>
<ID>-1</ID>
<NetworkAttributeName>speed</NetworkAttributeName>
<NetworkElementType>esriNETTurn</NetworkElementType>
<NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID>
<NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection>
<NetworkEvaluatorData xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ConstantValue</Key>
<Value xsi:type="xs:boolean">false</Value>
</PropertySetProperty>
</PropertyArray>
</NetworkEvaluatorData>
</NetworkAssignment>
<NetworkAssignment xsi:type="esri:NetworkAssignment">
<IsDefault>true</IsDefault>
<ID>-1</ID>
<NetworkAttributeName>oneway</NetworkAttributeName>
<NetworkElementType>esriNETJunction</NetworkElementType>
<NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID>
<NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection>
<NetworkEvaluatorData xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ConstantValue</Key>
<Value xsi:type="xs:boolean">false</Value>
</PropertySetProperty>
</PropertyArray>
</NetworkEvaluatorData>
</NetworkAssignment>
<NetworkAssignment xsi:type="esri:NetworkAssignment">
<IsDefault>true</IsDefault>
<ID>-1</ID>
<NetworkAttributeName>oneway</NetworkAttributeName>
<NetworkElementType>esriNETEdge</NetworkElementType>
<NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID>
<NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection>
<NetworkEvaluatorData xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ConstantValue</Key>
<Value xsi:type="xs:boolean">false</Value>
</PropertySetProperty>
</PropertyArray>
</NetworkEvaluatorData>
</NetworkAssignment>
<NetworkAssignment xsi:type="esri:NetworkAssignment">
<IsDefault>true</IsDefault>
<ID>-1</ID>
<NetworkAttributeName>oneway</NetworkAttributeName>
<NetworkElementType>esriNETTurn</NetworkElementType>
<NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID>
<NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection>
<NetworkEvaluatorData xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ConstantValue</Key>
<Value xsi:type="xs:boolean">false</Value>
</PropertySetProperty>
</PropertyArray>
</NetworkEvaluatorData>
</NetworkAssignment>
<NetworkAssignment xsi:type="esri:NetworkAssignment">
<IsDefault>true</IsDefault>
<ID>-1</ID>
<NetworkAttributeName>timeofday</NetworkAttributeName>
<NetworkElementType>esriNETJunction</NetworkElementType>
<NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID>
<NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection>
<NetworkEvaluatorData xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ConstantValue</Key>
<Value xsi:type="xs:int">0</Value>
</PropertySetProperty>
</PropertyArray>
</NetworkEvaluatorData>
</NetworkAssignment>
<NetworkAssignment xsi:type="esri:NetworkAssignment">
<IsDefault>true</IsDefault>
<ID>-1</ID>
<NetworkAttributeName>timeofday</NetworkAttributeName>
<NetworkElementType>esriNETEdge</NetworkElementType>
<NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID>
<NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection>
<NetworkEvaluatorData xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ConstantValue</Key>
<Value xsi:type="xs:int">0</Value>
</PropertySetProperty>
</PropertyArray>
</NetworkEvaluatorData>
</NetworkAssignment>
<NetworkAssignment xsi:type="esri:NetworkAssignment">
<IsDefault>true</IsDefault>
<ID>-1</ID>
<NetworkAttributeName>timeofday</NetworkAttributeName>
<NetworkElementType>esriNETTurn</NetworkElementType>
<NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID>
<NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection>
<NetworkEvaluatorData xsi:type="esri:PropertySet">
<PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>Version</Key>
<Value xsi:type="xs:short">1</Value>
</PropertySetProperty>
<PropertySetProperty xsi:type="esri:PropertySetProperty">
<Key>ConstantValue</Key>
<Value xsi:type="xs:int">0</Value>
</PropertySetProperty>
</PropertyArray>
</NetworkEvaluatorData>
</NetworkAssignment>
</NetworkAssignments>
<ConfigurationKeyword>NETWORK_DEFAULTS</ConfigurationKeyword>