Геометрические сети в базе геоданных в PostgreSQL

Геометрические сети представляют собой наборы классов объектов линий (границ) и точек (соединений) в наборе данных объектов, который имеет связующие отношения. Геометрические сети используются для моделирования инфраструктуры, например линий электропередач и канализационных систем.

Создание в сети таблиц зависит от присутствия в сети поворотов.

Геометрические сети в ArcGIS for Desktop

В дереве каталога наборы классов объектов, которые содержат геометрические сети, до раскрытия набора данных выглядят аналогично. После раскрытия набора данных можно увидеть геометрическую сеть, представленную следующим значком:

Значок геометрической сети

Имя геометрической сети в базе геоданных в PostgreSQL содержит имя базы данных, имя владельца геометрической сети и имя самой геометрической сети.

Например, геометрическая сеть water_net, принадлежащая пользователю gdb, в базе геоданных sdedb обозначается в дереве Каталога как sdedb.gdb.water_net.

При построении геометрической сети создается независимый класс объектов соединения в наборе классов объектов. Имя этого класса объектов совпадает с именем сети, но имеет суффикс _Junctions.

Любые ошибки, появляющиеся в процессе создания геометрической сети, записываются в таблицу ошибок построения, которую также можно увидеть в Каталоге. Имя этой таблицы <network_name>_builderr. Если при создании геометрической сети water_net имелись ошибки, в базе геоданных будет создана таблица sdedb.gdb.water_net_builderr.

Геометрические сети в базе данных PostgreSQL

Геометрические сети отслеживаются в таблице gdb_items. В таблице gdb_itemtypes хранится значение, указывающее, что объект является геометрической сетью. В таблице gdb_itemrelationships хранится информация об отношениях сети и набора пространственных объектов.

В дополнение к этим таблицам сети создаются из набора таблиц разного размера, который хранится в схеме пользователя, создавшего геометрическую сеть. Размер этих таблиц зависит от размера сети. Например, на размер сети могут повлиять количество соединений и количество границ.

Всего в каждой сети имеется 9 фиксированных таблиц, которые идентифицируются следующими обозначениями: N_<ID>_<table_descriptor>, где ID – логический идентификатор сети, который хранится в определении сетей в таблице gdb_items; например, N_1_<table descriptor>, N_2_<table descriptor>.

Фактическое количество таблиц может быть различным – в зависимости от элементов, содержащихся в сети. Для сети с поворотами и весами может быть создано не более 21 таблицы.

Для всех этих таблиц осуществляется контроль версий, если он осуществляется и для самой сети.

Следующие таблицы создаются во всех случаях: n_<id>_desc, n_<id>_e<#>, n_<id>_estatus, n_<id>_etopo, n_<id>_flodir, n_<id>_jdesc, n_<id>_jstatus, n_<id>_jtopo, and n_<id>_props.

ПримечаниеПримечание:

Таблицы N_<ID>_* можно просматривать в СУБД, но не следует изменять с помощью SQL или сторонних приложений, поскольку это может привести к порче сети.

n_<id>_<>

В таблицах базы геоданных, имя которых начинается с префикса N_, хранится информация о сетях.

n_<id>_desc

Таблица n_<id>_desc описывает элементы сети. Это нормализованная таблица, количество строк которой равно количеству соединений и границ в геометрической сети.

Тип поля

Описание

Null?

oid

Имя поля

integer

Уникальный идентификатор элемента геометрической сети

NOT NULL

userclassid

integer

Идентификатор класса пространственных объектов, к которому принадлежит элемент

NOT NULL

userid

integer

ObjectID элемента

NOT NULL

usersubid

integer

Идентификатор элемента в объекте; применяется только к пространственным объектам "сложное ребро"

NOT NULL

elementtype

smallint

Код, указывающий тип сетевого элемента: 1 = соединение или 2 = граница

NOT NULL

eid

integer

Уникальный идентификатор элемента сети; уникален только для типа сетевого элемента

NOT NULL

n_<id>_props

Таблица n_<id>_props содержит итоговое описание сетевых параметров, например, количество элементов и максимальные значения EID.

Имя поля

Тип поля

Описание

Null?

propertyid

integer

Уникальный идентификатор сетевого свойства

NOT NULL

propertyname

varchar(32)

Имя свойства

NOT NULL

propertyvalue

integer

Значение свойства

NOT NULL

Все остальные таблицы сети содержат аналогичные имена полей и типы. Имена полей таблицы и отслеживаемые этими полями параметры описаны под определениями таблицы.

Имя поля

Тип поля

Описание

Null?

oid

integer

Уникальный идентификатор страницы bytea в таблице

NOT NULL

pagenumber

integer

Номер страницы bytea в таблице

NOT NULL

pageblob

bytea

Описание элемента, к которому относится таблица, например ребро и его статус

View a diagram of a geometric network in PostgreSQL.

Штриховые линии определяют неявные отношения между столбцами.

ПримечаниеПримечание:

Для открытия файла необходим Adobe Acrobat Reader.

Описание таблицы ошибок построения можно найти в разделе Схема таблицы ошибок построения сети.

Геометрические сети в XML-документе рабочей области

Для геометрических сетей элемент данных в документе XML указан как тип GeometricNetwork. Ниже показана часть документа XML, экспортированная из набора данных пространственных объектов, содержащего геометрическую сеть:

<DataElement xsi:type="esri:DEGeometricNetwork">
  <CatalogPath>/V=sde.DEFAULT/FD=m6db.perrita.Electric/GN=m6db.perrita.Electric_Net</CatalogPath> 
  <Name>m6db.perrita.Electric_Net</Name> 
  <DatasetType>esriDTGeometricNetwork</DatasetType> 
  <DSID>-1</DSID> 
  <Versioned>false</Versioned> 
  <CanVersion>true</CanVersion> 
  <Extent xsi:type="esri:EnvelopeN">
    <XMin>0</XMin> 
    <YMin>0</YMin> 
    <XMax>6229821.98995209</XMax> 
    <YMax>2299265.90002099</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>5937666.642992</XOrigin> 
    <YOrigin>2016067.94250924</YOrigin> 
    <XYScale>31249.9999708962</XYScale> 
    <ZOrigin>0</ZOrigin> 
    <ZScale>1</ZScale> 
    <MOrigin>0</MOrigin> 
    <MScale>1</MScale> 
    <XYTolerance>6.56166666666667E-04</XYTolerance> 
    <ZTolerance>0.00002</ZTolerance> 
    <MTolerance>0.00002</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>5937666.642992</XOrigin> 
    <YOrigin>2016067.94250924</YOrigin> 
    <XYScale>31249.9999708962</XYScale> 
    <ZOrigin>0</ZOrigin> 
    <ZScale>400000</ZScale> 
    <MOrigin>0</MOrigin> 
    <MScale>400000</MScale> 
    <XYTolerance>6.56166666666667E-04</XYTolerance> 
    <ZTolerance>0.00002</ZTolerance> 
    <MTolerance>0.00002</MTolerance> 
    <HighPrecision>true</HighPrecision> 
  </SpatialReference>
  <NetworkType>esriNTUtilityNetwork</NetworkType> 
  <OrphanJunctionFeatureClassName>m6db.perrita.Electric_Net_Junctions</OrphanJunctionFeatureClassName> 
  <FeatureClassNames xsi:type="esri:Names">
    <Name>m8db.perrita.Prime</Name> 
    <Name>m8db.perrita.Secondary</Name> 
    <Name>m8db.perrita.bridging</Name> 
    <Name>m8db.perrita.circuit_bkr</Name> 
    <Name>m8db.perrita.StreetLights</Name> 
    <Name>m8db.perrita.meters</Name> 
    <Name>m8db.perrita.switch</Name> 
    <Name>m8db.perrita.transformers</Name> 
    <Name>m8db.perrita.Tapwire</Name> 
    <Name>m8db.perrita.Electric_Net_Junctions</Name> 
  </FeatureClassNames>
  <ConnectivityRules xsi:type="esri:ArrayOfConnectivityRule" /> 
  <NetworkWeights xsi:type="esri:ArrayOfNetWeight">
    <NetWeight xsi:type="esri:NetWeight">
      <WeightID>0</WeightID> 
      <WeightName>switch</WeightName> 
      <WeightType>esriWTInteger</WeightType> 
      <BitGateSize>0</BitGateSize> 
    </NetWeight>
  </NetworkWeights>
  <WeightAssociations xsi:type="esri:ArrayOfNetWeightAssociation">
    <NetWeightAssociation xsi:type="esri:NetWeightAssociation">
      <WeightID>0</WeightID> 
      <TableName>m8db.perrita.switch</TableName> 
      <FieldName>Status</FieldName> 
    </NetWeightAssociation>
  </WeightAssociations>
</DataElement>

Связанные темы

9/11/2013