Guide d'utilisation et de référence
Extension Spatiale dispose de plusieurs fonctions de génération de géométries
à partir de représentations de formes ESRI. La représentation de formes
ESRI prend en charge les coordonnées Z et les mesures, en sus de la
représentation bidimensionnelle prise en charge par la représentation binaires
connue OpenGis. Les fonctions suivantes génèrent une géométrie à partir
d'une forme ESRI :
- GeometryFromShape
- Crée une géométrie à partir de représentation en tant que forme d'un
type de géométrie quelconque.
- PointFromShape
- Crée un point à partir de la représentation de type forme d'un
point.
- LineFromShape
- Crée une ligne à partir de la représentation de type forme d'une
ligne.
- PolyFromShape
- Crée un polygone à partir de la représentation de type forme d'un
polygone.
- MPointFromShape
- Crée un multipoint à partir de la représentation de type forme d'un
multipoint.
- MLineFromShape
- Crée un multiligne à partir de la représentation de type forme d'une
multiligne.
- MPolyFromShape
- Crée un multipolygone à partir de la représentation de type forme
d'un multipolygone.
La syntaxe générale de ces fonctions est identique. Le premier
argument est la représentation de la forme entrée en tant que type de données
BLOB. Le second argument est l'entier identifiant la référence
spatiale à affecter à la géométrie. La fonction GeometryFromShape doit
respecter la syntaxe suivante :
b2gse.GeometryFromShape(ShapeGeometry
Blob(1M), cr db2gse.coordref)
Ces fonctions SHAPE impliquent de définir des structures C pour le
mappage de la représentation binaire ; elles sont donc destinées à
être utilisées dans un programme de langage de troisième génération
(3GL). La fonction AsShape convertit la valeur d'une
géométrie en une représentation de forme ESRI.
Un type de forme de valeur 0 indique une forme vide (NULL) sans données
géométriques associées à la forme.
Valeur
| Type de forme
|
0
| Forme nulle (null shape)
|
1
| Point
|
3*
| Polyligne
|
5
| Polygone
|
8
| Multipoint
|
11
| PointZ
|
13
| PolyligneZ
|
15
| PolygoneZ
|
18
| MultipointZ
|
21
| PointM
|
23
| PolyligneM
|
25
| PolygoneM
|
28
| MultipointM
|
- Remarque :
- *Les types de formes qui ne sont pas spécifiés ci-dessus (2,
4, 6, etc.) sont réservés à de futures utilisations.
Un point consiste en une paire de coordonnées à double précision dans
l'ordre X, Y.
Tableau 67.
Contenu du train d'octets d'un point
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
1
|
Integer
|
1
|
Little
|
Octet 4
|
X
|
X
|
Double
|
1
|
Little
|
Octet 12
|
Y
|
Y
|
Double
|
1
|
Little
|
Un multipoint consiste en une collection de points. La boîte
englobante est stockée dans l'ordre suivant : Ymin, Ymin, Xmax,
Ymax.
Tableau 68.
Contenu du train d'octets d'un multipoint
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
8
|
Integer
|
1
|
Little
|
Octet 4
|
Box
|
Box
|
Double
|
4
|
Little
|
Octet 36
|
NumPoints
|
NumPoints
|
Integer
|
1
|
Little
|
Octet 40
|
Points
|
Points
|
Point
|
NumPoints
|
Little
|
Une polyligne est un ensemble ordonné de sommets, composé d'une ou de
plusieurs parties. Une partie est une suite connectée de plusieurs
points (deux ou plus). Les points peuvent être ou non connectés les uns
aux autres. Des parties peuvent ou non se croiser.
Cette spécification n'interdit pas les points consécutifs dotés de
coordonnées identiques, les lecteurs des fichiers SHAPE doivent donc traiter
ces cas. Cependant, les parties dégénérées de longueur zéro
susceptibles d'être ainsi produites ne sont pas autorisées.
Les zones d'une polyligne sont les suivantes :
- Box
- Boîte englobante associée à la polyligne et stockée dans l'ordre
suivant : Ymin, Ymin, Xmax, Ymax.
- NumParts
- Nombre de parties de la polyligne.
- NumPoints
- Nombre total de points pour toutes les parties.
- Parts
- Tableau de longueur NumParts. Chaque polyligne stocke l'indice
de son premier point dans le tableau des points. Les indices de tableau
sont indiqués par rapport à 0.
- Points
- Tableau de longueur NumPoints. Les points de chaque partie de la
polyligne sont stockés d'extrémité en extrémité. Les points de la
deuxième partie suivent ceux de la première, etc. Le tableau des
parties contient l'indice de tableau du point de départ de chaque
partie. Il n'existe pas de délimiteur entre parties dans le
tableau des points.
Tableau 69.
Contenu du train d'octets d'une polyligne
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
3
|
Integer
|
1
|
Little
|
Octet 4
|
Box
|
Box
|
Double
|
4
|
Little
|
Octet 36
|
NumParts
|
NumParts
|
Integer
|
1
|
Little
|
Octet 40
|
NumPoints
|
NumPoints
|
Integer
|
1
|
Little
|
Octet 44
|
Parts
|
Parts
|
Integer
|
NumParts
|
Little
|
Octet X
|
Points
|
Points
|
Point
|
NumPoints
|
Little
|
- Remarque :
- X = 44 + 4 * NumParts.
Un polygone est formé d'un ou plusieurs anneaux. Un anneau est
une séquence connectée de quatre points ou plus, qui forment une boucle fermée
qui ne génère pas d'intersection avec elle-même. Un polygone peut
contenir plusieurs anneaux externes. L'ordre des sommets ou
orientation d'un anneau indique de quel côté de l'anneau se situe
l'intérieur du polygone. La zone de voisinage située à droite
d'un observateur marchant le long de l'anneau dans l'ordre des
sommets représente l'intérieur du polygone. Les sommets des
anneaux qui définissent des trous dans les polygones vont dans une direction
contraire au sens des aiguilles d'une montre. Les sommets
d'un polygone à anneaux doivent être considérées dans le sens des
aiguilles d'une montre. Les anneaux d'un polygone sont
appelées parties.
Cette spécification n'interdit pas les points consécutifs dotés de
coordonnées identiques, les lecteurs des fichiers SHAPE doivent donc traiter
ces cas. Cependant, les parties dégénérées de longueur zéro ou de
surface zéro susceptibles d'être ainsi produites ne sont pas
autorisées.
Les zones d'un polygone sont les suivantes :
- Box
- Boîte englobante associée au polygone et stockée dans l'ordre
suivant : Ymin, Ymin, Xmax, Ymax.
- NumParts
- Nombre d'anneaux compris dans le polygone.
- NumPoints
- Nombre total de points pour tous les anneaux.
- Parts
- Tableau de longueur NumParts. Stocke, pour chaque anneau,
l'indice de son premier point dans le tableau des points. Les
indices de tableau sont indiqués par rapport à 0.
- Points
- Tableau de longueur NumPoints. Les points de chaque anneau du
polygone sont stockés d'extrémité en extrémité. Les points du
deuxième anneau suivent ceux du premier, etc. Le tableau des parties
contient l'indice de tableau du point de départ de chaque anneau.
Il n'existe pas de délimiteur entre anneaux dans le tableau des
points.
- Remarques importantes sur les formes de type polygone :
-
Figure 40. Polygone doté d'un trou et de quatre sommets

Figure 41. Contenu du train d'octet du polygone. NumParts est égal à 2 et NumPoints à 10. Vous remarquerez que l'ordre des points du polygone (trou) du "beignet" est inversé.

Tableau 70.
Contenu du train d'octets d'un polygone
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
5
|
Integer
|
1
|
Little
|
Octet 4
|
Box
|
Box
|
Double
|
4
|
Little
|
Octet 36
|
NumParts
|
NumParts
|
Integer
|
1
|
Little
|
Octet 40
|
NumPoints
|
NumPoints
|
Integer
|
1
|
Little
|
Octet 44
|
Parts
|
Parts
|
Integer
|
NumParts
|
Little
|
Octet X
|
Points
|
Points
|
Point
|
NumPoints
|
Little
|
- Remarque :
- X = 44 + 4 * NumParts.
Un PointM consiste en une paire de coordonnées à double précision dans
l'ordre X, Y, plus une mesure M.
Tableau 71.
Contenu du train d'octets d'un PointM
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
21
|
Integer
|
1
|
Little
|
Octet 4
|
X
|
X
|
Double
|
1
|
Little
|
Octet 12
|
Y
|
Y
|
Double
|
1
|
Little
|
Octet 20
|
M
|
M
|
Double
|
1
|
Little
|
Les zones d'un multipointM sont les suivantes :
- Box
- Boîte englobante associée au multipointM et stockée dans l'ordre
suivant : Ymin, Ymin, Xmax, Ymax.
- NumPoints
- Nombre de points.
- Points
- Tableau de points de longueur NumPoints.
- NumMs
- Nombre de mesures qui suivent. NumMs ne peut avoir que deux
valeurs 0 si aucune mesure ne suit cette zone, ou il peut être égal à
NumPoints, si des mesures sont spécifiées.
- M Range
- Mesures minimale et maximale associées au multipointM et stockées dans
l'ordre suivant : Mmin, Mmax.
- M Array
- Tableau des mesures de longueur NumPoints.
Tableau 72.
Contenu du train d'octets d'un multipointM
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
28
|
Integer
|
1
|
Little
|
Octet 4
|
Box
|
Box
|
Double
|
4
|
Little
|
Octet 36
|
NumPoints
|
NumPoints
|
Integer
|
1
|
Little
|
Octet 40
|
Points
|
Points
|
Point
|
NumPoints
|
Little
|
Octet X
|
NumMs
|
NumMs
|
Integer
|
1
|
Little
|
Octet X+4*
|
Mmin
|
Mmin
|
Double
|
1
|
Little
|
Octet X+12*
|
Mmax
|
Mmax
|
Double
|
1
|
Little
|
Octet X+20*
|
Marray
|
Marray
|
Double
|
NumPoints
|
Little
|
Remarques :
- X = 40 + (16 * NumPoints)
- * facultatif
Une polyligneM est formée d'une ou plusieurs parties. Une
partie est une suite connectée de plusieurs points (deux ou plus). Les
parties peuvent être ou non connectées les unes aux autres. Les parties
peuvent ou non se couper.
Les zones d'une polyligneM sont les suivantes :
- Box
- Boîte englobante associée à la polyligneM et stockée dans l'ordre
suivant : Ymin, Ymin, Xmax, Ymax.
- NumParts
- Nombre de parties de la polyligneM.
- NumPoints
- Nombre total de points pour toutes les parties.
- Parts
- Tableau de longueur NumParts. Pour chaque anneau, stocke
l'indice de son premier point dans le tableau des points. Les
indices de tableau sont indiqués par rapport à 0.
- Points
- Tableau de longueur NumPoints. Les points de chaque partie de la
polyligneM sont stockés d'extrémité en extrémité. Les points de la
deuxième partie suivent ceux de la première, etc. Le tableau des
parties contient l'indice de tableau du point de départ de chaque
partie. Il n'existe pas de délimiteur entre parties dans le
tableau des points.
- NumMs
- Nombre de mesures qui suivent. NumMs ne peut avoir que deux
valeurs 0 si aucune mesure ne suit cette zone, ou il peut être égal à
NumPoints, si des mesures sont spécifiées.
- M Range
- Mesures minimale et maximale associées à la polyligneM et stockées dans
l'ordre suivant : Mmin, Mmax.
- M Array
- Tableau de longueur NumPoints. Les mesures de chaque partie de la
polyligneM sont stockées d'extrémité en extrémité. Les mesures de
la deuxième partie suivent ceux de la première, etc. Le tableau des
parties contient l'indice de tableau du point de départ de chaque
partie. Il n'existe pas de délimiteur entre parties dans le
tableau des mesures.
Tableau 73.
Contenu du train d'octets d'une polyligneM
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
13
|
Integer
|
1
|
Little
|
Octet 4
|
Box
|
Box
|
Double
|
4
|
Little
|
Octet 36
|
NumParts
|
NumParts
|
Integer
|
1
|
Little
|
Octet 40
|
NumPoints
|
NumPoints
|
Integer
|
1
|
Little
|
Octet 44
|
Parts
|
Parts
|
Integer
|
NumParts
|
Little
|
Octet X
|
Points
|
Points
|
Point
|
NumPoints
|
Little
|
Octet Y
|
NumMs
|
NumMs
|
Integer
|
1
|
Little
|
Octet Y+4*
|
Mmin
|
Mmin
|
Double
|
1
|
Little
|
Octet Y+12*
|
Mmax
|
Mmax
|
Double
|
1
|
Little
|
Octet Y+20*
|
Marray
|
Marray
|
Double
|
NumPoints
|
Little
|
Remarques :
- X = 44 + (4 * NumParts), Y = X
+ (16 * NumPoints).
- * facultatif
Un polygoneM est formé d'un certain nombre d'anneaux. Un
anneau est une boucle fermée qui ne forme pas d'intersection avec
elle-même. Vous remarquerez que les intersections sont calculées dans
l'espace XY, et non dans l'espace XYM. Un
polygoneM peut contenir plusieurs anneaux externes. Les anneaux
d'un polygoneM sont appelées parties.
Les zones d'un polygoneM sont les suivantes :
- Box
- Boîte englobante associée au polygoneM et stockée dans l'ordre
suivant : Ymin, Ymin, Xmax, Ymax.
- NumParts
- Nombre d'anneaux compris dans le polygoneM.
- NumPoints
- Nombre total de points pour tous les anneaux.
- Parts
- Tableau de longueur NumParts. Stocke, pour chaque anneau,
l'indice de son premier point dans le tableau des points. Les
indices de tableau sont indiqués par rapport à 0.
- Points
- Tableau de longueur NumPoints. Les points de chaque anneau du
polygoneM sont stockés d'extrémité en extrémité. Les points du
deuxième anneau suivent ceux du premier, etc. Le tableau des parties
contient l'indice de tableau du point de départ de chaque anneau.
Il n'existe pas de délimiteur entre anneaux dans le tableau des
points.
- NumMs
- Nombre de mesures qui suivent. NumMs ne peut avoir que deux
valeurs 0 si aucune mesure ne suit cette zone, ou il peut être égal à
NumPoints, si des mesures sont spécifiées.
- M Range
- Mesures minimale et maximale associées au polygoneM et stockées dans
l'ordre suivant : Mmin, Mmax.
- M Array
- Tableau de longueur NumPoints. Les mesures de chaque anneau du
polygoneM sont stockés d'extrémité en extrémité. Les mesures du
deuxième anneau suivent celles du premier, etc. Le tableau des parties
contient l'indice de tableau de la mesure de départ de chaque
anneau. Il n'existe pas de délimiteur entre anneaux dans le
tableau des mesures.
- Remarques importantes sur les formes polygoneM :
-
- Les anneaux sont fermés (le premier sommet d'un anneau est
aussi le dernier).
- L'ordre des anneaux dans le tableau des points n'a pas
d'importance.
Tableau 74.
Contenu du train d'octets d'un polygoneM
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
15
|
Integer
|
1
|
Little
|
Octet 4
|
Box
|
Box
|
Double
|
4
|
Little
|
Octet 36
|
NumParts
|
NumParts
|
Integer
|
1
|
Little
|
Octet 40
|
NumPoints
|
NumPoints
|
Integer
|
1
|
Little
|
Octet 44
|
Parts
|
Parts
|
Integer
|
NumParts
|
Little
|
Octet X
|
Points
|
Points
|
Point
|
NumPoints
|
Little
|
Octet Y
|
NumMs
|
NumMs
|
Integer
|
1
|
Little
|
Octet Y+4*
|
Mmin
|
Mmin
|
Double
|
1
|
Little
|
Octet Y+12*
|
Mmax
|
Mmax
|
Double
|
1
|
Little
|
Octet Y+20*
|
Marray
|
Marray
|
Double
|
NumPoints
|
Little
|
Remarques :
- X = 44 + (4 * NumParts), Y = X
+ (16 * NumPoints).
- * facultatif
Un pointZ consiste en un triplet de coordonnées à double précision dans
l'ordre X, Y, Z, plus une mesure M.
Tableau 75.
Contenu du train d'octets d'un pointZ
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
11
|
Integer
|
1
|
Little
|
Octet 4
|
X
|
X
|
Double
|
1
|
Little
|
Octet 12
|
Y
|
Y
|
Double
|
1
|
Little
|
Octet 20
|
Z
|
Z
|
Double
|
1
|
Little
|
Octet 28
|
Mesure
|
M
|
Double
|
1
|
Little
|
Un multipointZ représente un ensemble de pointZ, comme suit :
- La boîte englobante est stockée dans l'ordre suivant :
Ymin, Ymin, Xmax, Ymax.
- La plage Z englobante est stockée dans l'ordre Zmin, Zmax. La
plage M englobante est stockée dans l'ordre Mmin, Mmax.
Tableau 76.
Contenu du train d'octets d'un multipointZ
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
18
|
Integer
|
1
|
Little
|
Octet 4
|
Box
|
Box
|
Double
|
4
|
Little
|
Octet 36
|
NumPoints
|
NumPoints
|
Integer
|
1
|
Little
|
Octet 40
|
Points
|
Points
|
Point
|
NumPoints
|
Little
|
Octet X
|
Zmin
|
Zmin
|
Double
|
1
|
Little
|
Octet 36
|
Zmax
|
Zmax
|
Double
|
1
|
Little
|
Octet X+16
|
Zarray
|
Zarray
|
Double
|
NumPoints
|
Little
|
Octet Y
|
NumMs
|
NumMs
|
Integer
|
1
|
Little
|
Octet Y+4*
|
Mmin
|
Mmin
|
Double
|
1
|
Little
|
Octet Y+12*
|
Mmax
|
Mmax
|
Double
|
1
|
Little
|
Octet Y+20*
|
Marray
|
Marray
|
Double
|
NumPoints
|
Little
|
Remarques :
- X = 40 + (16 * NumPoints); Y
= X + 16 + (8 * NumPoints)
- * facultatif
Une polyligneZ est formée d'une ou plusieurs parties. Une
partie est une suite connectée de plusieurs points (deux ou plus). Les
parties peuvent être ou non connectées les unes aux autres. Les parties
peuvent ou non se couper.
Les zones d'une polyligneZ sont les suivantes :
- Box
- Boîte englobante associée à la polyligneZ et stockée dans l'ordre
suivant : Ymin, Ymin, Xmax, Ymax.
- NumParts
- Nombre de parties de la polyligneZ.
- NumPoints
- Nombre total de points pour toutes les parties.
- Parts
- Tableau de longueur NumParts. Pour chaque anneau, stocke
l'indice de son premier point dans le tableau des points. Les
indices de tableau sont indiqués par rapport à 0.
- Points
- Tableau de longueur NumPoints. Les points de chaque partie de la
polyligneZ sont stockés d'extrémité en extrémité. Les points de la
deuxième partie suivent ceux de la première, etc. Le tableau des
parties contient l'indice de tableau du point de départ de chaque
partie. Il n'existe pas de délimiteur entre parties dans le
tableau des points.
- Z Range
- Valeurs Z minimales et maximales associées à la polyligneZ, stockées dans
l'ordre suivant : Zmin, Zmax.
- Z Array
- Tableau de longueur NumPoints. Les valeurs Z de chaque partie de la
polyligneZ sont stockés d'extrémité en extrémité. Les valeurs Z de
la deuxième partie suivent ceux de la première, etc. Le tableau des
parties contient l'indice de tableau du point de départ de chaque
partie. Il n'existe pas de délimiteur entre parties dans le
tableau des coordonnées Z.
- NumMs
- Nombre de mesures qui suivent. NumMs ne peut avoir que deux
valeurs 0 si aucune mesure ne suit cette zone, ou il peut être égal à
NumPoints, si des mesures sont spécifiées.
- M Range
- Mesures minimale et maximale associées à la polyligneZ et stockées dans
l'ordre suivant : Mmin, Mmax.
- M Array
- Tableau de longueur NumPoints. Les mesures de chaque partie de la
polyligneZ sont stockées d'extrémité en extrémité. Les mesures de
la deuxième partie suivent ceux de la première, etc. Le tableau des
parties contient l'indice de tableau de la mesure de départ de chaque
partie. Il n'existe pas de délimiteur entre parties dans le
tableau des mesures.
Tableau 77.
Contenu du train d'octets d'une polyligneZ
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
13
|
Integer
|
1
|
Little
|
Octet 4
|
Box
|
Box
|
Double
|
4
|
Little
|
Octet 36
|
NumParts
|
NumParts
|
Integer
|
1
|
Little
|
Octet 40
|
NumPoints
|
NumPoints
|
Integer
|
1
|
Little
|
Octet 44
|
Parts
|
Parts
|
Integer
|
NumParts
|
Little
|
Octet X
|
Points
|
Points
|
Point
|
NumPoints
|
Little
|
Octet Y
|
Zmin
|
Zmin
|
Double
|
1
|
Little
|
Octet Y+8
|
Zmax
|
Zmax
|
Double
|
1
|
Little
|
Octet Y+16
|
Zarray
|
Zarray
|
Double
|
NumPoints
|
Little
|
Octet Z
|
NumMs
|
NumMs
|
Integer
|
1
|
Little
|
Octet Z+4*
|
Mmin
|
Mmin
|
Double
|
1
|
Little
|
Octet Z+12*
|
Mmax
|
Mmax
|
Double
|
1
|
Little
|
Octet Z+20*
|
Marray
|
Marray
|
Double
|
NumPoints
|
Little
|
Remarques :
- X = 44 + (4 * NumParts), Y = X
+ (16 * NumPoints), Z = Y + 16 +
(8 * NumPoints)
- * facultatif
Un polygoneZ est formé d'un certain nombre d'anneaux. Un
anneau est une boucle fermée qui ne forme pas d'intersection avec
elle-même. Un polygoneZ peut contenir plusieurs anneaux
externes. Les anneaux d'un polygoneZ sont appelées parties.
Les zones d'un polygoneZ sont les suivantes :
- Box
- Boîte englobante associée au polygoneZ et stockée dans l'ordre
suivant : Ymin, Ymin, Xmax, Ymax.
- NumParts
- Nombre d'anneaux compris dans le polygoneZ.
- NumPoints
- Nombre total de points pour tous les anneaux.
- Parts
- Tableau de longueur NumParts. Stocke, pour chaque anneau,
l'indice de son premier point dans le tableau des points. Les
indices de tableau sont indiqués par rapport à 0.
- Points
- Tableau de longueur NumPoints. Les points de chaque anneau du
polygoneZ sont stockés d'extrémité en extrémité. Les points du
deuxième anneau suivent ceux du premier, etc. Le tableau des parties
contient l'indice de tableau du point de départ de chaque anneau.
Il n'existe pas de délimiteur entre anneaux dans le tableau des
points.
- Z Range
- Valeurs Z minimales et maximales associées à l'arc et stockées dans
l'ordre suivant : Zmin, Zmax.
- Z Array
- Tableau de longueur NumPoints. Les valeurs Z de chaque anneau du
polygoneZ sont stockés d'extrémité en extrémité. Les valeurs Z de
la deuxième partie suivent ceux de la première, etc. Le tableau des
parties contient l'indice de tableau de la valeur Z de départ de
chaque anneau. Il n'existe pas de délimiteur entre anneaux dans le
tableau des valeurs Z.
- NumMs
- Nombre de mesures qui suivent. NumMs ne peut avoir que deux
valeurs 0 si aucune mesure ne suit cette zone, ou il peut être égal à
NumPoints, si des mesures sont spécifiées.
- M Range
- Mesures minimale et maximale associées au polygoneZ et stockées dans
l'ordre suivant : Mmin, Mmax.
- M Array
- Tableau de longueur NumPoints. Les mesures de chaque anneau du
polygoneZ sont stockés d'extrémité en extrémité. Les mesures du
deuxième anneau suivent celles du premier, etc. Le tableau des parties
contient l'indice de tableau de la mesure de départ de chaque
anneau. Il n'existe pas de délimiteur entre anneaux dans le
tableau des mesures.
- Remarques importantes sur les formes de type polygoneZ :
-
- Les anneaux sont fermés (le premier sommet d'un anneau est
aussi le dernier).
- L'ordre des anneaux dans le tableau des points n'a pas
d'importance.
Tableau 78.
Contenu du train d'octets d'un polygoneZ
Position
|
Zone
|
Valeur
|
Type
|
Nombre
|
Ordre
|
Octet 0
|
Type de forme
|
15
|
Integer
|
1
|
Little
|
Octet 4
|
Box
|
Box
|
Double
|
4
|
Little
|
Octet 36
|
NumParts
|
NumParts
|
Integer
|
1
|
Little
|
Octet 40
|
NumPoints
|
NumPoints
|
Integer
|
1
|
Little
|
Octet 44
|
Parts
|
Parts
|
Integer
|
NumParts
|
Little
|
Octet X
|
Points
|
Points
|
Point
|
NumPoints
|
Little
|
Octet Y
|
Zmin
|
Zmin
|
Double
|
1
|
Little
|
Octet Y+8
|
Zmax
|
Zmax
|
Double
|
1
|
Little
|
Octet Y+16
|
Zarray
|
Zarray
|
Double
|
NumPoints
|
Little
|
Octet Z
|
NumMs
|
NumMs
|
Integer
|
1
|
Little
|
Octet Z+4*
|
Mmin
|
Mmin
|
Double
|
1
|
Little
|
Octet Z+12*
|
Mmax
|
Mmax
|
Double
|
1
|
Little
|
Octet Z+20*
|
Marray
|
Marray
|
Double
|
NumPoints
|
Little
|
[ Début de page | Page précédente | Page suivante | Table des matières | Index ]