Jeux de données réseau dans PostgreSQL

Les jeux de données réseau sont des ensembles de classes d'entités possédant une relation de connectivité. Les jeux de données réseau sont créés à partir de trois types de sources : des sources d'entités tronçons (axes de rue, par exemple), des sources d'entités jonctions (classes d'entités points contenant des passages à niveau de voie ferrée, par exemple) et des sources d'entités tournants. Ils permettent de modéliser les transports. Pour utiliser les jeux de données réseau, vous devez avoir installé l'extension ArcGIS Network Analyst.

Jeux de données réseau dans ArcGIS Desktop

Dans l'arborescence du catalogue, les jeux de classes d'entités contenant des jeux de données réseau dans PostgreSQL gardent la même apparence tant que vous n'avez pas développé le jeu de données. Une fois le jeu de données développé, vous voyez apparaître le jeu de données réseau, qui est représenté par l'icône suivante :

Icône du jeu de données réseau

Le nom du réseau, dans une géodatabase PostgreSQL, contient le nom de la base de données, le nom du propriétaire du réseau et le nom du réseau même.

Par exemple, un jeu de données réseau road_network_nd ayant pour propriétaire hbear dans la géodatabase m16 serait répertorié dans l'arborescence du catalogue sous la forme : m16.hbear.road_network_nd.

Lorsque vous créez un jeu de données réseau, une classe d'entités des jonctions système est également créée. Le nom de cette classe d'entités correspond à celui du jeu de données réseau, suivi de _Junctions.

Jeux de données réseau dans une base de données PostgreSQL

Les jeux de données réseau font l'objet d'un suivi dans la table gdb_items. La table gdb_itemtypes stocke une valeur qui indique que l'objet est un jeu de données réseau. La table gdb_itemrelationships stocke des informations sur la relation entre le réseau et le jeu de classes d'entités dans lequel il se trouve.

Des tables sont également créées dans la structure de l'utilisateur qui est propriétaire du jeu de données réseau. Les voici :

L'identifiant indiqué dans les noms des six premières tables est l'identifiant de réseau logique. L'identifiant itemID indiqué dans les deux dernières tables est le objectid issu de la table gdb_items.

Les structures des tables sont les suivantes :

n_<id>_desc

La table n_<id>_desc contient des éléments pour chaque jonction, tronçon et tournant du jeu de données réseau.

Nom du champ

Type de champ

Description

Nul ?

oid

integer

Identifiant unique d'un élément d'un réseau

NOT NULL

userclassid

integer

Identifiant de la classe d'entités à laquelle appartient l'élément

NOT NULL

userid

integer

ObjectID de l'entité

NOT NULL

usersubid

integer

Identifiant d'un élément dans une entité ; concerne uniquement les tronçons complexes

NOT NULL

elementtype

smallint

Code indiquant le type d'élément de réseau concerné

NOT NULL

eid

integer

Identifiant d'élément unique de l'élément de réseau ; l'identifiant d'élément n'est unique que pour le type de l'élément de réseau

NOT NULL

n_<id>_prop

La table n_<id>_props contient un résumé descriptif des propriétés d'un réseau, telles que le nombre d'éléments et les valeurs EID maximales.

Nom du champ

Type de champ

Description

Nul ?

propertyid

integer

The unique identifier of the network property

NOT NULL

propertyname

varchar(32)

The name of the property

NOT NULL

propertyvalue

integer

The value of the property

NOT NULL

nd_<itemID>_dirtyareas

La table nd_<itemid>_dirtyareas effectue le suivi des entités spatiales qui ont été mises à jour dans le jeu de données réseau.

Nom du champ

Type de champ

Description

Nul ?

objectid

integer

Identifiant unique de l'enregistrement

NOT NULL

isretired

integer

Indique si cette entité est toujours utilisée pour effectuer le suivi de la zone à valider d'un jeu de données réseau

NOT NULL

dirtyarea

st_geometry

geometry

Géométrie de polygone de la zone à valider

nd_<itemID>_dirtyobjects

La table nd_<itemid>_dirtyobjects effectue le suivi des objets relationnels mis à jour dans le jeu de données réseau, tels que les tournants et les enregistrements de trafic historique.

Nom du champ

Type de champ

Description

Nul ?

objectid

integer

Identifiant unique de l'enregistrement

NOT NULL

classid

integer

IdObjet de l'élément d'objet à valider dans la table gdb_items

NOT NULL

oid

integer

Identifiant d'objet de l'objet à valider

NOT NULL

updatetype

smallint

Type de mise à jour, insertion (0), mise à jour (1) ou suppression (2), qui a généré l'objet à valider

NOT NULL

Toutes les autres tables de réseau contiennent les mêmes noms et types de champs. Leur structure est la suivante :

Nom du champ

Type de champ

Description

Nul ?

oid

integer

Identifiant unique de la page bytea dans la table

NOT NULL

pagenumber

integer

Numéro de la page bytea dans la table

NOT NULL

pageblob

bytea

Description de l'élément que la table décrit ; par exemple, tronçon et état du tronçon

tableid

integer

Pour les tables d'objets BLOB n_<ID>_edgeweight, n_<ID>_turnweight et n_<ID>_junctionweight, la valeur tableID correspond à la valeur weightID. Pour la table d'objets BLOB n_<ID>_topology, la valeur tableID correspond à la position de la table d'origine dans le réseau de tables de topologie défini dans le fichier GeoDatabase\GeoDatabase\Network\Network\TableDefs.h.

NOT NULL

Voici un diagramme d'un jeu de données réseau dans PostgreSQL :

Tables de jeux de données réseau dans PostgreSQL

Les lignes pointillées indiquent les relations implicites entre colonnes.

Vous pouvez en outre intégrer d'autres tables facultatives à votre jeu de données réseau pour modéliser des temps de trajet en fonction des vitesses de trafic historique ou représenter des changements de fuseau horaire susceptibles d'affecter l'analyse du réseau. Vous créez ces tables avant de créer votre jeu de données réseau et vous les placez dans votre structure (exactement comme la classe d'entités sur laquelle repose un réseau se trouve dans la structure de l'auteur). Vous spécifiez les noms des tables. Reportez-vous à la section Network Analyst de la documentation pour en savoir plus sur l'utilisation de ces tables de fuseau horaire et de trafic historique.

Jeux de données réseau dans un document d'espace de travail XML

Les balises des jeux de données réseau sont de type réseau logique. Voici un extrait de document XML créé par exportation depuis le jeu de données réseau RoadNetwork.

<LogicalNetworkName>m16.hbear.RoadNetwork_ND</LogicalNetworkName> 
  <NetworkType>1</NetworkType> 
  <Buildable>true</Buildable> 
  <SupportsTurns>true</SupportsTurns> 
  <Properties xsi:nil="true" /> 
  <UserData xsi:nil="true" /> 
  <EdgeFeatureSources xsi:type="esri:ArrayOfEdgeFeatureSource">
    <EdgeFeatureSource xsi:type="esri:EdgeFeatureSource">
      <ID>1</ID> 
      <ClassID>1</ClassID> 
      <Name>m16.hbear.Streets</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>3</ID> 
        <ClassID>4</ClassID> 
        <Name>m16.hbear.RoadNetwork_ND_Junctions</Name> 
        <ElementType>esriNETJunction</ElementType> 
        <Properties xsi:nil="true" /> 
        <ElevationFieldName /> 
      </SystemJunctionSource>
    </SystemJunctionSources>
  <TurnFeatureSources xsi:type="esri:ArrayOfTurnFeatureSource">
    <TurnFeatureSource xsi:type="esri:TurnFeatureSource">
      <ID>2</ID> 
      <ClassID>2</ClassID> 
      <Name>m16.hbear.Turns</Name> 
      <ElementType>esriNETTurn</ElementType> 
      <Properties xsi:nil="true" /> 
    </TurnFeatureSource>
  </TurnFeatureSources>
  <EvaluatedNetworkAttributes xsi:type="esri:ArrayOfEvaluatedNetworkAttribute">
    <EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute">
      <ID>1</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>
  </EvaluatedNetworkAttributes>

Rubriques connexes


7/10/2012