Suite

Comment vérifier si un polygone contient un autre polygone dans OL3 ?

Comment vérifier si un polygone contient un autre polygone dans OL3 ?


Existe-t-il une possibilité de vérifier si un polygone est contenu dans un autre polygone dans OL3 ?

J'ai remarqué qu'il y a quelques méthodes dans ol.extent, par exemple. ol.extent.containsExtent(extent1, extent2). Mais cela ne vérifie que les étendues et non le polygone entier. Donc, dans certains cas, j'obtiens "vrai" bien que le polygone soit bien à l'extérieur de l'autre polygone, mais toujours dans l'étendue… Ce dont j'ai besoin, c'est d'une fonction ou d'un algorithme qui vérifie si un polygone contient entièrement un autre polygone comme je le fais habituellement dans n'importe quel SIG.


Comment vérifier si un polygone contient un autre polygone dans OL3 ? - Systèmes d'information géographique

Les triangulations sont souvent utilisées pour représenter des domaines géométriques 2D et 3D dans des domaines d'application tels que l'infographie, la modélisation physique, les systèmes d'information géographique, l'imagerie médicale, etc. Le polygone de la carte montré ici

peut être représenté par la triangulation sur la carte ci-dessous.

La triangulation décompose un polygone complexe en une collection de polygones triangulaires plus simples. Vous pouvez utiliser ces polygones pour développer des algorithmes géométriques ou des applications graphiques.

De même, vous pouvez représenter la limite d'un domaine géométrique 3D à l'aide d'une triangulation. La figure ci-dessous montre l'enveloppe convexe d'un ensemble de points dans l'espace 3-D. Chaque facette de la coque est un triangle.

Format de matrice de triangulation

MATLAB ® utilise un format matriciel pour représenter les triangulations. Ce format comporte deux parties :

Les sommets, représentés sous la forme d'une matrice dans laquelle chaque ligne contient les coordonnées d'un point de la triangulation.

La connectivité de triangulation, représentée sous la forme d'une matrice dans laquelle chaque ligne définit un triangle ou un tétraèdre.

Cette figure montre une triangulation 2D simple.

Le tableau suivant présente les informations sur les sommets.

Les données du tableau précédent sont stockées sous forme de matrice dans l'environnement MATLAB. Les identifiants de sommet sont des étiquettes utilisées pour identifier des sommets spécifiques. Ils sont montrés pour illustrer le concept d'un identifiant de sommet, mais ils ne sont pas stockés explicitement. Au lieu de cela, les numéros de ligne de la matrice servent d'ID de sommet.

Les données de connectivité de triangulation sont présentées dans ce tableau.

Les données de cette table sont stockées sous forme de matrice dans l'environnement MATLAB. Les identifiants de triangle sont des étiquettes utilisées pour identifier des triangles spécifiques. Ils sont montrés pour illustrer le concept d'un identifiant de triangle, mais ils ne sont pas stockés explicitement. Au lieu de cela, les numéros de ligne de la matrice servent d'ID de triangle.

Vous pouvez voir que le triangle T1 est défini par trois sommets, . De même, T4 est défini par les sommets, . Ce format s'étend naturellement aux dimensions supérieures, qui nécessitent des colonnes de données supplémentaires. Par exemple, un tétraèdre dans l'espace 3-D est défini par quatre sommets, dont chacun a trois coordonnées, (X, oui, z).

Vous pouvez représenter et interroger les types de triangulations suivants à l'aide de MATLAB :

Triangulations 2D constituées de triangles délimités par des sommets et des arêtes

Triangulations de surface 3-D constituées de triangles délimités par des sommets et des arêtes

Triangulations 3-D constituées de tétraèdres délimités par des sommets, des arêtes et des faces

Interrogation des triangulations à l'aide de la classe de triangulation

Le format matriciel fournit une représentation compacte de bas niveau basée sur un tableau pour les triangulations. Lorsque vous utilisez des triangulations pour développer des algorithmes, vous pouvez avoir besoin de plus d'informations sur les propriétés géométriques, la topologie et les informations de contiguïté.

Par exemple, vous pouvez calculer les centres des triangles avant de tracer la triangulation annotée illustrée ci-dessous. Dans ce cas, vous utilisez les incenters pour afficher les étiquettes des triangles (T1, T2, etc.) dans chaque triangle. Si vous souhaitez tracer la frontière en rouge, vous devez déterminer les arêtes référencées par un seul triangle.

La classe de triangulation

Vous pouvez utiliser la triangulation pour créer une représentation en mémoire de toutes les données de triangulation 2D ou 3D au format matriciel, telles que la sortie matricielle de la fonction delaunay ou d'autres outils logiciels. Lorsque vos données sont représentées à l'aide de la triangulation , vous pouvez effectuer des requêtes topologiques et géométriques, que vous pouvez utiliser pour développer des algorithmes géométriques. Par exemple, vous pouvez trouver les triangles ou tétraèdres attachés à un sommet, ceux qui partagent une arête, leurs centres circonscrits et d'autres caractéristiques.

Vous pouvez créer une triangulation de l'une des deux manières suivantes :

Transmettez les données existantes que vous avez au format matriciel à la triangulation . Ces données peuvent être la sortie d'une fonction MATLAB, telle que delaunay ou convhull . Vous pouvez également importer des données de triangulation créées par une autre application logicielle. Lorsque vous travaillez avec des données importées, assurez-vous que les données de connectivité référencent le tableau de sommets à l'aide d'une indexation basée sur 1 au lieu d'une indexation basée sur 0.

Passer un ensemble de points à delaunayTriangulation . La triangulation de Delaunay qui en résulte est un type particulier de triangulation. Cela signifie que vous pouvez effectuer n'importe quelle requête de triangulation sur vos données, ainsi que toute requête spécifique à Delaunay. En termes plus formels du langage MATLAB, delaunayTriangulation est une sous-classe de triangulation .

Création d'une triangulation à partir de données matricielles

Cet exemple montre comment utiliser les données de la matrice de triangulation pour créer une triangulation, explorer ce que c'est et explorer ce qu'elle peut faire.


Détection de trous et représentation sans forme et routage géographique basé sur des points de repère doubles dans les réseaux de capteurs sans fil

Dans les réseaux de capteurs sans fil, un problème important de routage géographique est le problème de « minimum local », qui est causé par un « trou » qui bloque le processus de transfert gourmand. Les algorithmes de routage géographique existants utilisent des stratégies de routage de périmètre pour trouver un long chemin de détour lorsqu'une telle situation se produit. Pour éviter le long chemin de détour, les recherches récentes se concentrent sur la détection du trou à l'avance, puis les nœuds situés sur la limite du trou annoncent les informations du trou aux nœuds proches du trou. Par conséquent, le long chemin de détour peut être évité dans un itinéraire futur. Nous proposons un algorithme de détection de trou heuristique qui identifie le trou facilement et rapidement, puis propose une représentation du trou quelle que soit la forme du trou. De plus, nous déterminons quantitativement les zones à proximité du trou qui doivent être annoncées les informations du trou. Avec de telles informations, un nouveau schéma de routage avec deux points de repère a été développé. Les résultats de simulation illustrent que notre approche peut atteindre de meilleures performances en termes de longueur moyenne et de nombre de sauts dans les chemins de routage. La simulation montre également que notre approche introduit une très faible complexité de calcul.


Voici d'autres tentatives :

En partant simplement, l'aire d'un carré de 25$ de côté est de 625$ :

Ensuite, mon préféré, un bonhomme de neige. Malheureusement, il a une assez petite surface, mais je vais l'ajouter ici quand même. Cela montre que l'ajout de beaucoup de petits polygones ne fonctionne pas.

Et un diamant est gros , à 736$ :

Et j'en ai d'abord oublié un encore plus gros à 741$ :

Mais le plus gros sera lorsque la forme sera la plus circulaire possible (voir plus bas pour le pourquoi), qui est cette forme à 768$ :

J'utilise ce site Web pour les dessiner, ce qui vous indique très utilement la longueur de la ligne que vous dessinez.

Un peu de maths, ça m'a fait réfléchir à comment résoudre ça :

À partir d'un nœud, il n'y a que quelques autres nœuds qui peuvent être connectés de telle sorte que la longueur est de 5 $ d'unités. En utilisant le théorème de Pythagore, nous pouvons voir que quelques-unes de ces « possibilités » ont une longueur de 5 $ :

Donc à partir d'un nœud (dans le premier quadrant), voici les lignes possibles qui peuvent être tracées :

Maintenant, la zone maximale d'une forme à n côtés sera un polygone régulier à n côtés (Belle preuve ici de Math.SE). Donc pour $n=20$ , la plus grande surface sera lorsque ces 20 côtés formeront un icosagone.

La plus grande surface possible, donc, si nous n'avions pas à nous connecter aux nœuds serait de 789,22 $

L'angle interne d'un icosagone est $(180 imes (n-2)) / n = 3240/20 = 162$ degrés. Ainsi, la superficie maximale sera lorsque ces clôtures sont installées afin qu'elles aient un angle de 162 $ degrés entre chacune. Cependant cela ne sera pas possible.

Pour en revenir aux possibilités, et en utilisant un peu de trigonométrie, les angles sont :

Comme vous pouvez le voir, cela ne totalisera pas 162 $, peu importe comment vous les placez. Il n'y a pas non plus de formes à n côtés avec des angles internes de 126,87 $ ou 143,13 $ non plus.

Donc, pour obtenir la plus grande surface, le plus grand polygone à n côtés possible doit être formé. Cela signifie que la plus grande zone sera lorsque la forme est aussi ronde que possible.


Comment vérifier si un polygone contient un autre polygone dans OL3 ? - Systèmes d'information géographique

Le package MDSYS.SDO_UTIL contient des sous-programmes d'utilitaires spatiaux.

35.1 SDO_UTIL.AFFINETRANSFORMES

Renvoie une géométrie qui reflète une transformation affine de la géométrie d'entrée.

Géométrie d'entrée sur laquelle effectuer la transformation affine.

Une valeur de chaîne TRUE entraîne l'exécution de la traduction. Une valeur de chaîne FALSE (la valeur par défaut) entraîne la non-exécution de la traduction. Si ce paramètre est TRUE , la traduction est effectuée autour du point en (tx,ty) ou (tx,ty,tz).

Valeur de l'axe X pour la translation. La valeur par défaut est 0.0.

Valeur de l'axe Y pour la translation. La valeur par défaut est 0.0.

Valeur de l'axe Z pour la translation. La valeur par défaut est 0.0.

Une valeur de chaîne TRUE entraîne l'exécution d'une mise à l'échelle. Une valeur de chaîne FALSE (la valeur par défaut) entraîne la non-exécution de la mise à l'échelle.

Point sur la géométrie d'entrée sur lequel effectuer la mise à l'échelle. Si la mise à l'échelle est TRUE , cette géométrie doit être soit un point zéro (géométrie ponctuelle avec des ordonnées 0,0 ou 0,0,0 pour la mise à l'échelle autour de l'origine) soit un point différent de zéro (géométrie ponctuelle avec des ordonnées pour la mise à l'échelle autour d'un point autre que le origine). Si la mise à l'échelle est FALSE , psc1 peut être une valeur nulle.

Valeur de l'axe X pour la mise à l'échelle (autour du point spécifié dans le paramètre psc1 ou de l'origine). La valeur par défaut est 0.0.

Valeur de l'axe Y pour la mise à l'échelle (autour du point spécifié dans le paramètre psc1 ou de l'origine). La valeur par défaut est 0.0.

Valeur de l'axe Z pour la mise à l'échelle (autour du point spécifié dans le paramètre psc1 ou de l'origine). La valeur par défaut est 0.0.

Une valeur de chaîne TRUE entraîne l'exécution de la rotation. Une valeur de chaîne FALSE (la valeur par défaut) entraîne la non-exécution de la rotation.

Pour les géométries bidimensionnelles, la rotation utilise les valeurs p1 et d'angle. Pour les géométries tridimensionnelles, la rotation utilise soit les valeurs angle et dir, soit les valeurs line1 et angle.

Point pour la rotation de la géométrie bidimensionnelle autour d'un point spécifié.

Ligne de rotation autour d'un axe spécifié.

Paramètre de rotation d'angle (en radians) pour la rotation autour d'un axe spécifié ou autour de l'axe X, Y ou Z. La valeur par défaut est 0.0.

Paramètre de rotation pour le roulis sur l'axe x(0), y(1) ou z(2). Si la valeur du paramètre de rotation est TRUE mais que le paramètre dir n'est pas utilisé, utilisez une valeur de -1 (la valeur par défaut)

Une valeur de chaîne TRUE entraîne l'exécution du cisaillement. Une valeur de chaîne FALSE (la valeur par défaut) empêche l'exécution du cisaillement.

Pour les géométries bidimensionnelles, le cisaillement utilise les valeurs des paramètres shxy et shyx. Pour les géométries tridimensionnelles, le cisaillement utilise les valeurs des paramètres shxy , shyx , shxz , shzx , shyz et shzy .

Valeur du cisaillement dû à X le long de la direction Y. La valeur par défaut est 0.0.

Valeur du cisaillement dû à Y le long de la direction X. La valeur par défaut est 0.0.

Valeur du cisaillement dû à X le long de la direction Z (géométries tridimensionnelles uniquement). La valeur par défaut est 0.0.

Valeur du cisaillement dû à Z le long de la direction X (géométries tridimensionnelles uniquement).

Valeur du cisaillement dû à Y le long de la direction Z (géométries tridimensionnelles uniquement).

Valeur du cisaillement dû à Z le long de la direction Y (géométries tridimensionnelles uniquement).

Une valeur de chaîne TRUE entraîne l'exécution de la réflexion. Une valeur de chaîne FALSE (la valeur par défaut) entraîne l'absence de réflexion.

Pour les géométries bidimensionnelles, la réflexion utilise la valeur lineR pour la réflexion autour d'un axe et la valeur pref pour le centroïde pour l'auto-réflexion. Pour les géométries tridimensionnelles, la réflexion utilise la valeur lineR pour la réflexion autour d'un axe la valeur dirR pour la réflexion sur les plans yz, xz et xy les valeurs planeR , n et bigD pour la réflexion sur un plan spécifié et la valeur pref pour le centroïde pour l'auto-réflexion.

Point à travers lequel effectuer la réflexion.

Ligne le long de laquelle effectuer la réflexion.

Nombre indiquant le plan autour (à travers) duquel effectuer la réflexion : 0 pour le plan yz, 1 pour le plan xz ou 2 pour le plan xy. Si la valeur du paramètre de réflexion est TRUE mais que le paramètre dirR n'est pas utilisé, utilisez une valeur de -1 (la valeur par défaut).

Une valeur de chaîne TRUE entraîne l'exécution d'une réflexion sur un plan arbitraire. Une valeur de chaîne FALSE (la valeur par défaut) entraîne la non-exécution d'une réflexion sur un plan arbitraire.

Vecteur normal de l'avion.

Valeur delta pour l'équation plane dans les géométries tridimensionnelles.

Pour les géométries tridimensionnelles, bigD = delta et n = (A,B,C) où n est la normale du plan dans l'espace tridimensionnel. Ainsi, l'équation du plan est :

L'ordre des transformées affines importe car ce sont des multiplications matricielles et vectorielles.

Vous devez valider la géométrie résultante à l'aide de la fonction SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT.

L'exemple suivant effectue une transformation affine sur une géométrie à deux dimensions.

Ce qui suit est une version simplifiée de l'exemple précédent, utilisant les valeurs par défaut pour la plupart des paramètres.

L'exemple suivant effectue une transformation affine sur une géométrie tridimensionnelle.

35.2 SDO_UTIL.APPEND

Ajoute une géométrie à une autre géométrie pour créer une nouvelle géométrie.

Objet de géométrie auquel la géométrie2 doit être ajoutée.

Objet de géométrie à ajouter à geometry1 .

Cette fonction ne doit être utilisée que sur des géométries n'ayant aucune interaction spatiale (c'est-à-dire sur des objets disjoints). Si les géométries d'entrée ne sont pas disjointes, la géométrie résultante peut être invalide.

Cette fonction n'effectue pas d'opération d'union ni aucune autre opération de géométrie de calcul. Pour effectuer une opération d'union, utilisez la fonction SDO_GEOM.SDO_UNION, qui est décrite dans SDO_GEOM Package (Geometry). La fonction APPEND s'exécute plus rapidement que la fonction SDO_GEOM.SDO_UNION.

Le type de géométrie (valeur SDO_GTYPE) de la géométrie résultante reflète les types des géométries d'entrée et l'opération d'ajout. Par exemple, si les géométries en entrée sont des polygones bidimensionnels (SDO_GTYPE = 2003), la géométrie résultante est un multipolygone bidimensionnel (SDO_GTYPE = 2007).

Une exception est levée si géométrie1 et géométrie2 sont basées sur des systèmes de coordonnées différents.

L'exemple suivant ajoute les géométries cola_a et cola_c. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

35.3 SDO_UTIL.BEARING_TILT_FOR_POINTS

Calcule le relèvement et l'inclinaison d'un point de départ à un point final.

Objet géométrique du point de départ à partir duquel calculer le relèvement et l'inclinaison. La géométrie du point doit être basée sur un système de coordonnées géodésiques.

Objet de géométrie de point final à utiliser dans le calcul du relèvement et de l'inclinaison. La géométrie du point doit être basée sur le même système de coordonnées géodésiques que start_point .

Nombre de radians, mesuré dans le sens des aiguilles d'une montre à partir du nord.

Nombre de radians, mesuré à partir de la normale.

Les géométries des points en entrée doivent être basées sur le même système de coordonnées géodésiques. S'ils sont basés sur un système de coordonnées non géodésique, le relèvement de sortie est une valeur nulle.

L'inclinaison est calculée comme l'arc tangente de la différence entre les valeurs de hauteur divisée par la distance entre les points (avec la hauteur exclue du calcul de distance). C'est-à-dire : tilt = atan(height_difference/distance)

Pour convertir des radians en degrés décimaux ou des degrés décimaux en radians, vous pouvez utiliser la fonction SDO_UTIL.CONVERT_UNIT. Pour renvoyer une géométrie de point qui se trouve à une distance et un relèvement spécifiés à partir d'un point de départ, vous pouvez utiliser la fonction SDO_UTIL.POINT_AT_BEARING.

L'exemple suivant calcule le relèvement et l'inclinaison pour deux points de longitude/latitude, où l'altitude du point de départ est 0 (zéro) et l'altitude du point final est de 5000 mètres. Cet exemple affiche les valeurs de relèvement et d'inclinaison en radians.

L'exemple suivant est le même que le précédent, sauf qu'il affiche le relèvement et l'inclinaison en degrés décimaux au lieu de radians.

35.4 SDO_UTIL.CIRCLE_POLYGON

Crée des approximations de polygones ou de polylignes de cercles et d'arcs dans les systèmes de coordonnées géodésiques.

Le premier format permet un contrôle total de la sortie.

Le deuxième format renvoie la géométrie du polygone qui se rapproche et est couvert par un cercle spécifié.

Le troisième format renvoie une géométrie de ligne qui se rapproche de la limite du cercle depuis le début jusqu'à l'azimut de fin (un arc).

Le centre du cercle. Doit être une géométrie de point dans un système de coordonnées géodésiques. La géométrie renvoyée sera dans le même système de coordonnées.

Longitude centrale (en degrés) du cercle à utiliser pour créer la géométrie renvoyée.

Latitude centrale (en degrés) du cercle à utiliser pour créer la géométrie renvoyée.

Longueur (en mètres) du rayon du cercle à utiliser pour créer la géométrie renvoyée.

Une valeur numérique à utiliser pour construire la géométrie du polygone. La valeur du paramètre arc_tolerance a la même signification et les mêmes instructions d'utilisation que la valeur du mot clé arc_tolerance dans la chaîne de paramètre params pour la fonction SDO_GEOM.SDO_ARC_DENSIFY. L'unité de mesure associée à la géométrie est associée à la valeur du paramètre arc_tolerance. (Pour plus d'informations, consultez les notes d'utilisation de la fonction SDO_GEOM.SDO_ARC_DENSIFY dans le package SDO_GEOM (géométrie).)

Angle de départ (en degrés) de l'arc, mesuré dans le sens inverse des aiguilles d'une montre depuis le sud.

Si start_azimuth et end_azimuth sont nuls, le comportement est comparable au second format, qui renvoie la géométrie du polygone qui se rapproche et est couvert par un cercle spécifié.

Angle d'extrémité (en degrés) de l'arc, mesuré dans le sens inverse des aiguilles d'une montre depuis le sud. Si l'orientation n'est pas explicitement spécifiée, l'arc sera la section dans le sens inverse des aiguilles d'une montre du cercle à partir de start_azimuth si end_azimuth est supérieur à start_azimuth , et l'arc sera la section dans le sens des aiguilles d'une montre si end_azimuth est inférieur à start_azimuth .

Si start_azimuth et end_azimuth sont nuls, le comportement est comparable au second format, qui renvoie la géométrie du polygone qui se rapproche et est couvert par un cercle spécifié.

Contrôle quelle partie du cercle de start_azimuth à end_azimuth est utilisée. Cela contrôle la forme de la sortie renvoyée, pas l'orientation de la sortie : un polygone renvoyé est toujours orienté dans le sens inverse des aiguilles d'une montre et un arc renvoyé va toujours de start_azimuth à end_azimuth . La valeur peut être l'une des suivantes :

0 ou null (par défaut) : Automatique (voir la description du paramètre end_azimuth).

1 ou +1 : l'arc est tracé dans le sens inverse des aiguilles d'une montre de start_azimuth à end_azimuth .

-1 : L'arc est tracé dans le sens des aiguilles d'une montre de start_azimuth à end_azimuth .

S'il est défini sur 1, le résultat sera une ligne si 0 ou nul (par défaut), le résultat est un polygone. Si start_azimuth et end_azimuth spécifient un sous-ensemble du cercle avec un résultat de polygone, le polygone renvoyé inclura le centre du cercle (c'est-à-dire sera un secteur du cercle).

Le premier format de cette fonction est utile pour créer un polygone en forme de cercle autour d'un point central spécifié lorsqu'un vrai cercle ne peut pas être utilisé (un cercle n'est pas valide pour les données géodésiques avec Oracle Spatial et Graph). La géométrie renvoyée a une valeur SDO_SRID de 8307 (pour Longitude / Latitude (WGS 84) ).

Les deuxième et troisième formats de cette fonction sont utiles pour créer une approximation polyligne d'un arc de cercle ou d'un polygone qui représente un secteur du cercle.

Si les valeurs d'azimut de début et de fin sont spécifiées, elles ne doivent pas être égales l'une à l'autre et ne doivent pas couvrir plus d'une rotation de 360 ​​degrés. Les angles doivent être compris entre -720 et +720.

Les cercles seront toujours créés avec au moins quatre sommets distincts (un carré).

L'exemple suivant renvoie un polygone en forme de cercle autour d'un point proche du centre de Concord, Massachusetts. Une valeur de rayon de 100 mètres et une valeur arc_tolerance de 5 mètres sont utilisées dans le calcul des sommets des polygones.

35.5 SDO_UTIL.CONCAT_LINES

Concatène deux géométries bidimensionnelles linéaires ou multilignes pour créer une nouvelle géométrie.

Premier objet géométrique pour l'opération de concaténation.

Deuxième objet de géométrie pour l'opération de concaténation.

Chaque géométrie en entrée doit être une géométrie bidimensionnelle linéaire ou multiligne (c'est-à-dire que la valeur SDO_GTYPE doit être 2002 ou 2006). Cette fonction n'est pas prise en charge pour les géométries LRS. Pour concaténer des segments géométriques LRS, utilisez la fonction SDO_LRS.CONCATENATE_GEOM_SEGMENTS (décrite dans SDO_LRS Package (Linear Referencing System) ).

Les géométries en entrée doivent être des chaînes de lignes dont les sommets sont reliés par des segments de ligne droite. Les arcs circulaires et les chaînes de lignes composées ne sont pas pris en charge.

Si une géométrie en entrée est une géométrie multiligne, les éléments de la géométrie doivent être disjoints. S'ils ne sont pas disjoints, cette fonction peut renvoyer des résultats incorrects.

La relation topologique entre géométrie1 et géométrie2 doit être DISJOINT ou TOUCH et si la relation est TOUCH, les géométries ne doivent se croiser qu'à deux extrémités.

Vous pouvez utiliser la fonction d'agrégation spatiale SDO_AGGR_CONCAT_LINES (décrite dans Fonctions d'agrégation spatiale) pour concaténer plusieurs géométries bidimensionnelles linéaires ou multilignes.

Une exception est levée si géométrie1 et géométrie2 sont basées sur des systèmes de coordonnées différents.

L'exemple suivant concatène deux géométries de chaîne de ligne simples.

35.6 SDO_UTIL.CONVERT_UNIT

Convertit les valeurs d'une unité de mesure d'angle, de surface ou de distance en une autre.

Nombre d'unités à convertir. Par exemple, pour convertir 10 degrés décimaux en radians, spécifiez 10 .

Unité de mesure à partir de laquelle convertir la valeur d'entrée. Doit être une valeur de la colonne SDO_UNIT de la table MDSYS.SDO_ANGLE_UNITS (décrite dans la vue MDSYS.SDO_ANGLE_UNITS), la table MDSYS.SDO_AREA_UNITS (décrite dans Unit of Measurement Support) ou la table MDSYS.SDO_DIST_UNITS (décrite dans Unit of Measurement Support ). Par exemple, pour convertir les degrés décimaux en radians, spécifiez Degré .

Unité de mesure dans laquelle convertir la valeur d'entrée. Doit être une valeur de la colonne SDO_UNIT de la même table utilisée pour in_unit . Par exemple, pour convertir les degrés décimaux en radians, spécifiez Radian .

La valeur renvoyée par cette fonction peut ne pas être correcte à un degré de précision extrêmement élevé en raison de la manière dont les opérations mathématiques internes sont effectuées, en particulier si elles impliquent de petits nombres ou des nombres irrationnels (tels que pi ). Par exemple, la conversion d'un degré décimal en minutes décimales donne la valeur 60,000017.

L'exemple suivant convertit 1 radian en degrés décimaux.

35.7 SDO_UTIL.CONVERT3007TO3008

Convertit une géométrie multisurface tridimensionnelle en entrée (SDO_GTYPE 3007) en une géométrie solide simple (SDO_GTYPE 3008).

Objet de géométrie avec SDO_GTYPE 3007 (multisurface). Les surfaces sont de simples polygones sans intérieurs.

Pour plus d'informations sur les attributs SDO_GEOMETRY pour les géométries 3D, consultez Objets spatiaux tridimensionnels.

Cette fonction ne vérifie pas la validité de la géométrie solide simple renvoyée. Pour vérifier la validité d'un objet géométrique, utilisez la fonction SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT.

L'exemple suivant convertit une géométrie multisurface tridimensionnelle en entrée (SDO_GTYPE 3007) en une géométrie solide simple (SDO_GTYPE 3008). Il suppose qu'une table nommée GEOMS3D existe avec au moins une colonne d'ID numérique et une colonne nommée GEOM de type SDO_GEOMETRY contenant des géométries multisurfaces tridimensionnelles.

35.8 SDO_UTIL.DELETE_SDO_GEOM_METADATA

Supprime les métadonnées d'une table spatiale des vues de métadonnées de géométrie USER_SDO_GEOMETRY_METADATA et ALL_SDO_GEOMETRY_METADATA.

Nom du schéma propriétaire de la table spatiale. Doit être en majuscule.

Nom de la table spatiale (une table d'entités qui a une colonne de type SDO_GEOMETRY). Doit être en majuscule.

Nom de la colonne de type SDO_GEOMETRY. Doit être en majuscule.

La suppression des métadonnées d'une table spatiale des vues de métadonnées de géométrie désactive également efficacement tout index spatial basé sur ces métadonnées ( propriétaire , nom_table et nom_colonne ).

Si vous souhaitez restaurer les métadonnées après les avoir supprimées, vous pouvez utiliser la procédure SDO_UTIL.INSERT_SDO_GEOM_METADATA.

Pour exécuter cette procédure, vous devez être le propriétaire des métadonnées, disposer des privilèges DBA ou disposer du privilège SELECT ou INDEX sur la table.

Pour utiliser cette procédure sur une table spatiale dans le schéma d'un autre utilisateur, vous devez disposer des privilèges DBA ou du privilège SELECT sur la table de cet autre utilisateur. Par exemple, si USER1 souhaite insérer des métadonnées de géométrie pour la table USER2.COLA_MARKETS, USER1 doit disposer des privilèges DBA ou SELECT sur la table USER2.COLA_MARKETS.

L'exemple suivant supprime les métadonnées d'une table spatiale nommée COLA_MARKETS avec la colonne de géométrie nommée SHAPE dans le schéma USER2 et désactive ainsi tout index spatial défini sur ces métadonnées. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

Vues de métadonnées géométriques pour une explication des vues USER_SDO_GEOM_METADATA et ALL_SDO_GEOM_METADATA

35.9 SDO_UTIL.DENSIFY_GEOMETRY

Densifie la géométrie d'entrée, en fonction d'une valeur d'intervalle.

Objet géométrique à densifier.

Valeur d'intervalle à utiliser pour la densification de la géométrie. Doit être un nombre positif. (Zéro ou un nombre négatif renvoie la géométrie d'entrée.) La valeur par défaut est 5000. Pour une géométrie géodésique, la valeur par défaut est 5000 mètres.

Cette fonction densifie la géométrie d'entrée en ajoutant plus de points afin qu'aucun segment de ligne ne soit plus long que l'intervalle donné.

Cette fonction est utile lorsqu'une longue ligne géodésique doit être affichée sur une carte plane en montrant la courbure de l'interpolation du grand cercle. Lors de l'affichage de géométries géodésiques sur une carte plate ou plane, la fonction vous aide à voir le chemin géodésique entre les sommets le long d'une chaîne de lignes ou d'un polygone, au lieu de connecter ces sommets avec des lignes droites. La densification est effectuée le long du chemin géodésique.

L'exemple suivant densifie une géométrie d'entrée. (Des commentaires descriptifs sont ajoutés dans la sortie.)

35.10 SDO_UTIL.DROP_WORK_TABLES

Supprime toutes les tables et vues transitoires ("scratch") dans le schéma actuel qui ont été créées lors de la création d'un nuage de points ou d'un TIN.

Chaîne d'ID d'objet représentant un nombre hexadécimal. Utilisez la chaîne donnée dans le message d'erreur qui indique que les tables de travail doivent être supprimées.

Si des tables de travail existent toujours à partir d'une opération SDO_PC_PKG.CREATE_PC ou SDO_TIN_PKG.CREATE_TIN précédente lorsque vous essayez de créer un nuage de points ou un TIN, un message d'erreur s'affiche indiquant que vous devez d'abord supprimer les tables de travail. Utilisez la procédure SDO_UTIL.DROP_WORK_TABLES pour supprimer ces tables de travail.

Cette procédure supprime toutes les tables et vues qui correspondent à 'M%_<oidstr>$%' .

L'exemple suivant supprime les tables de travail d'une précédente opération SDO_PC_PKG.CREATE_PC ou SDO_TIN_PKG.CREATE_TIN, à l'aide d'une chaîne OID spécifiée dans un message d'erreur précédent.

35.11 SDO_UTIL.ELLIPSE_POLYGON

Renvoie la géométrie du polygone qui se rapproche et est couverte par une ellipse spécifiée.

Longitude centrale (en degrés) de l'ellipse à utiliser pour créer la géométrie renvoyée.

Latitude centrale (en degrés) de l'ellipse à utiliser pour créer la géométrie renvoyée.

Longueur (en mètres) du demi-grand axe de l'ellipse à utiliser pour créer la géométrie renvoyée.

Longueur (en mètres) du demi-petit axe de l'ellipse à utiliser pour créer la géométrie renvoyée.

Nombre de degrés de l'azimut (rotation horaire du grand axe depuis le nord) de l'ellipse à utiliser pour créer la géométrie renvoyée. Doit être compris entre 0 et 180. La géométrie renvoyée subit une rotation du nombre de degrés spécifié.

Une valeur numérique à utiliser pour construire la géométrie du polygone. La valeur du paramètre arc_tolerance a la même signification et les mêmes instructions d'utilisation que la valeur du mot clé arc_tolerance dans la chaîne de paramètre params pour la fonction SDO_GEOM.SDO_ARC_DENSIFY. L'unité de mesure associée à la géométrie est associée à la valeur du paramètre arc_tolerance. (Pour plus d'informations, consultez les notes d'utilisation de la fonction SDO_GEOM.SDO_ARC_DENSIFY dans le package SDO_GEOM (géométrie).)

Cette fonction est utile pour créer un polygone de type ellipse autour d'un point central spécifié lorsqu'une véritable ellipse ne peut pas être utilisée (une ellipse n'est pas valide pour les données géodésiques avec Oracle Spatial et Graph). La géométrie renvoyée a une valeur SDO_SRID de 8307 (pour Longitude / Latitude (WGS 84) ).

L'exemple suivant renvoie un polygone de type ellipse, orienté est-ouest (azimut = 90), autour d'un point proche du centre de Concord, Massachusetts. Une valeur arc_tolerance de 5 mètres est utilisée pour calculer les sommets des polygones.

35.12 SDO_UTIL.EXPAND_GEOM

Pour une géométrie avec un anneau extérieur et/ou un ou plusieurs anneaux intérieurs, où un ou plusieurs des anneaux sont des polygones spécifiés sous une forme optimisée (rectangles optimisés), renvoie la géométrie sous une forme où tous les anneaux de polygones optimisés sont spécifiés comme des polygones simples (tous les sommets spécifiés).

Géométrie avec anneaux polygonaux extérieurs et/ou intérieurs spécifiés sous une forme optimisée.

Si aucun des anneaux de la géométrie d'entrée n'est spécifié sous une forme optimisée (rectangles optimisés), la fonction renvoie la géométrie d'entrée.

Les polygones simples et les rectangles optimisés ont des valeurs SDO_ETYPE de 1003 ou 2003, mais des valeurs SDO_INTERPRETATION différentes, comme expliqué dans SDO_ELEM_INFO.

Cette fonction est prise en charge avec les géométries 2D et 3D.

Cette fonction peut être utile si vous utilisez des applications qui ne fonctionnent pas avec des rectangles optimisés, ou si vous préférez utiliser des polygones simples au lieu de rectangles optimisés.

L'exemple suivant utilise une géométrie d'entrée dont les anneaux polygonaux extérieurs et intérieurs sont des rectangles optimisés (et dans ce cas, des carrés) : l'anneau extérieur est de 8x8 et l'anneau intérieur est de 2x2. Il renvoie une géométrie dont les anneaux extérieurs et intérieurs sont spécifiés comme de simples polygones.

35.13 SDO_UTIL.EXTRACT

Renvoie la géométrie bidimensionnelle qui représente un élément spécifié (et éventuellement un anneau) de la géométrie bidimensionnelle d'entrée.

Géométrie à partir de laquelle extraire la géométrie à renvoyer. Doit être une géométrie à deux dimensions.

Numéro de l'élément dans la géométrie : 1 pour le premier élément, 2 pour le deuxième élément, et ainsi de suite. Les géométries avec des valeurs SDO_GTYPE (expliquées dans SDO_GTYPE) se terminant par 1, 2 ou 3 ont un élément. Les géométries avec des valeurs SDO_GTYPE se terminant par 4, 5, 6 ou 7 peuvent avoir plusieurs éléments. Par exemple, un multipolygone avec un SDO_GTYPE de 2007 peut contenir trois éléments (polygones).

Numéro du sous-élément (anneau) dans l'élément : 1 pour le premier sous-élément, 2 pour le deuxième sous-élément, et ainsi de suite. Ce paramètre n'est valable que pour spécifier un sous-élément d'un polygone avec un ou plusieurs trous ou d'un cluster de points :

Pour un polygone avec des trous, son premier sous-élément est son anneau extérieur, son deuxième sous-élément est son premier anneau intérieur, son troisième sous-élément est son deuxième anneau intérieur, et ainsi de suite. Par exemple, dans le polygone avec un trou montré dansPolygone avec un trou, l'anneau extérieur est le sous-élément 1 et l'anneau intérieur (le trou) est le sous-élément 2.

Pour un cluster de points, son premier sous-élément est le premier point du cluster de points, son deuxième sous-élément est le deuxième point du cluster de points, et ainsi de suite.

La valeur par défaut est 0, ce qui entraîne l'extraction de l'intégralité de l'élément.

Cette fonction s'applique uniquement aux géométries bidimensionnelles. Pour les géométries tridimensionnelles, utilisez la fonction SDO_UTIL.EXTRACT3D.

Cette fonction est utile pour extraire un élément ou un sous-élément spécifique d'une géométrie complexe. Par exemple, si vous avez identifié une géométrie comme invalide à l'aide de la fonction SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT ou de la procédure SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT (toutes deux documentées dans SDO_GEOM Package (Geometry)), vous pouvez utiliser la fonction EXTRACT pour extraire la géométrie invalide dans afin de l'examiner.

Pour un polygone avec un ou plusieurs trous, la géométrie renvoyée représentant un anneau intérieur extrait est réorientée de sorte que ses sommets soient présentés dans le sens inverse des aiguilles d'une montre (par opposition à l'ordre des aiguilles d'une montre au sein d'un anneau intérieur).

Si la géométrie est nulle ou a une valeur SDO_GTYPE se terminant par 0, cette fonction renvoie une géométrie nulle.

la géométrie ne peut pas contenir d'élément de type 0 (zéro). Les éléments de type 0 sont décrits dans l'élément de type 0 (zéro).

Cette fonction n'est pas destinée à être utilisée avec des géométries qui ont des valeurs d'ordonnées nulles. Toute valeur d'ordonnée nulle dans la géométrie renvoyée est remplacée par 0 (zéro).

Une exception est levée si element ou ring est un nombre invalide pour la géométrie .

L'exemple suivant extrait le premier (et seul) élément de la géométrie cola_c. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

L'exemple suivant insère un polygone avec un trou (en utilisant la même instruction INSERT que dans l'exemple 2-7 dans Polygone avec un trou) et extrait la géométrie représentant le trou (le deuxième sous-élément). Notez que dans la géométrie renvoyée par la fonction EXTRACT, les sommets sont dans l'ordre antihoraire, par opposition à l'ordre horaire dans le trou (deuxième sous-élément) dans la géométrie d'entrée.

35.14 SDO_UTIL.EXTRACT_ALL

Renvoie tous les éléments et sous-éléments de la géométrie bidimensionnelle d'entrée, sous la forme d'un tableau d'une ou plusieurs géométries. Renvoie un objet de type SDO_GEOMETRY_ARRAY, qui est défini comme VARRAY OF SDO_GEOMETRY .

Géométrie à partir de laquelle extraire tous les éléments et sous-éléments. Doit être une géométrie à deux dimensions.

Indicateur indiquant s'il faut « aplatir » les anneaux en géométries individuelles pour les géométries qui contiennent un anneau extérieur et un ou plusieurs anneaux intérieurs :

0 (zéro) renvoie une géométrie pour chaque élément, mais n'aplatit pas les anneaux en géométries individuelles. (Une géométrie sera toujours renvoyée pour chaque élément de la géométrie d'entrée.)

1 (valeur par défaut) ou toute autre valeur différente de zéro aplatit les anneaux en géométries individuelles.

Par exemple, si un polygone contient un anneau extérieur et un anneau intérieur, la valeur 0 renvoie une seule géométrie contenant les deux anneaux et la valeur 1 renvoie deux géométries, chacune contenant un anneau comme géométrie.

Ce paramètre est ignoré pour les géométries qui ne contiennent pas d'anneau extérieur et un ou plusieurs anneaux intérieurs.

Cette fonction s'applique uniquement aux géométries bidimensionnelles. Pour les géométries tridimensionnelles, utilisez la fonction SDO_UTIL.EXTRACT3D.

Cette fonction vous permet d'extraire tous les éléments et sous-éléments d'une géométrie, quel que soit le nombre d'éléments et de sous-éléments de la géométrie. Les géométries avec des valeurs SDO_GTYPE (expliquées dans SDO_GTYPE) se terminant par 1, 2 ou 3 ont un élément. Les géométries avec des valeurs SDO_GTYPE se terminant par 4, 5, 6 ou 7 peuvent avoir plusieurs éléments. Par exemple, un multipolygone avec un SDO_GTYPE de 2007 peut contenir trois éléments (polygones). Pour extraire des éléments individuels, utilisez plutôt la fonction SDO_UTIL.EXTRACT.

Pour un polygone avec un ou plusieurs trous, avec la valeur par défaut pour le paramètre d'aplatissement, la géométrie renvoyée représentant un anneau intérieur extrait est réorientée de sorte que ses sommets soient présentés dans le sens inverse des aiguilles d'une montre (par opposition à l'ordre des aiguilles d'une montre dans un anneau intérieur). Cependant, si la valeur du paramètre d'aplatissement est 0, aucune réorientation n'est effectuée.

Si la géométrie est nulle ou a une valeur SDO_GTYPE se terminant par 0, cette fonction renvoie une géométrie nulle.

la géométrie ne peut pas contenir d'élément de type 0 (zéro). Les éléments de type 0 sont décrits dans l'élément de type 0 (zéro).

Cette fonction n'est pas destinée à être utilisée avec des géométries qui ont des valeurs d'ordonnées nulles. Toute valeur d'ordonnée nulle dans la géométrie renvoyée est remplacée par 0 (zéro).

L'exemple suivant extrait tous les éléments de la géométrie cola_b. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

L'exemple suivant insère un polygone avec un trou (en utilisant la même instruction INSERT que dans l'exemple 2-7 dans Polygone avec un trou) et extrait tous les éléments et sous-éléments de la géométrie polygon_with_hole. Notez que parce que le paramètre flatten n'est pas spécifié, dans la deuxième géométrie renvoyée par la fonction EXTRACT_ALL, les sommets sont dans l'ordre antihoraire, par opposition à l'ordre horaire dans le trou (deuxième sous-élément) dans la géométrie d'entrée.

L'exemple suivant extrait tous les éléments et sous-éléments de la géométrie polygon_with_hole (insérée dans l'exemple précédent) et spécifie la valeur du paramètre flatten comme 0 (zéro). Cela fait que le tableau renvoyé contient une seule géométrie qui est la même que la géométrie d'entrée. Ainsi, dans la géométrie renvoyée par la fonction EXTRACT_ALL, les sommets sont dans le même ordre dans le sens des aiguilles d'une montre dans le trou (deuxième sous-élément) que dans la géométrie d'entrée.

35.15 SDO_UTIL.EXTRACT3D

Renvoie la géométrie tridimensionnelle qui représente un sous-ensemble spécifié de la géométrie tridimensionnelle d'entrée.

Géométrie à partir de laquelle extraire la géométrie à renvoyer. Doit être une géométrie tridimensionnelle

Une chaîne de nombres délimités par des virgules qui identifie la géométrie du sous-ensemble à renvoyer. Chaque numéro identifie la position relative d'un élément de géométrie dans la géométrie d'entrée. Les éléments et leurs positions dans la chaîne de libellé sont :

polygonID : Numéro de polygone

csurfID : Numéro de surface composite

multiID : nombre multisolide

Une valeur de 0 (zéro) signifie que l'élément ne s'applique pas et vous pouvez omettre les éléments de fin qui ne s'appliquent pas. Par exemple, '0,2,1,4,1' signifie que le numéro de point ne s'applique pas, et il spécifie le deuxième bord du premier anneau du quatrième polygone de la première surface composite.

Cette fonction s'applique uniquement aux géométries tridimensionnelles. Pour les géométries bidimensionnelles, utilisez la fonction SDO_UTIL.EXTRACT.

Cette fonction utilise la méthode getElementByLabel de la classe Java oracle.spatial.geometry.ElementExtractor, qui est décrite dans Oracle Spatial and Graph Java API Reference .

L'exemple suivant extrait, à partir d'une géométrie tridimensionnelle spécifiée, la géométrie de sous-ensemble constituée des éléments suivants : arête 2 de l'anneau 1 du polygone 4 de la surface composite 1 de la géométrie d'entrée.

35.16 SDO_UTIL.EXTRUDE

Renvoie la géométrie solide d'extrusion tridimensionnelle à partir d'un polygone bidimensionnel ou d'une géométrie multipolygone en entrée.

Géométrie polygonale bidimensionnelle à partir de laquelle renvoyer la géométrie d'extrusion. Cette géométrie forme la "base" de la géométrie renvoyée.

Hauteurs au sol sous la forme d'un ensemble de valeurs Z (hauteur) à la base du solide. Les nombres de ce tableau doivent être les valeurs Z (hauteur) à la base de chaque sommet de la géométrie en entrée.

Valeurs de hauteur pour la géométrie d'extrusion. Les nombres dans ce tableau doivent être les valeurs Z (hauteur) au "haut" de chaque point correspondant dans le tableau grdheight. Par exemple, si la hauteur du sol à la base du premier sommet est 0 et la hauteur à ce sommet est 10, le solide à ce point le long de la base s'étend sur 10 unités de haut.

Système de coordonnées tridimensionnelles (SRID) à affecter à la géométrie renvoyée. Si vous ne spécifiez pas ce paramètre, Spatial and Graph attribue automatiquement une valeur SRID tridimensionnelle basée sur la valeur SRID de la géométrie d'entrée.

La géométrie en entrée doit être un polygone bidimensionnel ou une géométrie multipolygone.

Si la géométrie d'entrée est un polygone avec plusieurs anneaux intérieurs, cette fonction combine en interne ces anneaux intérieurs pour en faire un seul anneau intérieur, produisant une nouvelle géométrie qui représente approximativement l'apparence d'origine, la fonction exécute ensuite le processus d'extrusion sur cette nouvelle géométrie et renvoie le résultat.

L'exemple suivant renvoie la géométrie solide tridimensionnelle représentant une extrusion à partir d'une géométrie polygonale bidimensionnelle.

L'exemple suivant renvoie la géométrie solide composite tridimensionnelle représentant une extrusion à partir d'une géométrie polygonale bidimensionnelle avec des anneaux internes.

35.17 SDO_UTIL.FROM_GEOJSON

Convertit un objet GeoJSON (ou plus précisément un objet de géométrie au format GeoJSON) en un objet de géométrie Spatial et Graph.

Géométrie au format GeoJSON à convertir au format SDO_GEOMETRY. Le type de données de l'objet JSON peut être VARCHAR2 ou CLOB.

(Réservé pour une utilisation future. La valeur par défaut est null.)

Valeur SDO_SRID à utiliser dans la géométrie renvoyée. La valeur par défaut est 4326, qui est la valeur EPSG SRID pour le système de coordonnées WGS 84 (longitude/latitude).

La géométrie d'entrée doit être au format GeoJSON. Pour plus d'informations sur l'utilisation des données JSON stockées dans Oracle Database, consultez Oracle Database JSON Developer's Guide .

Pour convertir un objet SDO_GEOMETRY au format GeoJSON, utilisez la fonction SDO_UTIL.TO_GEOJSON.

L'exemple suivant montre la conversion vers et depuis le format GeoJSON. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data, en particulier la géométrie cola_b de la table COLA_MARKETS.) Dans cet exemple, si vous spécifiez srid => NULL, l'objet SDO_GEOMETRY renvoyé aura une valeur SDO_SRID de NULL , par opposition à la valeur par défaut de 4326 si le paramètre n'est pas spécifié.

35.18 SDO_UTIL.FROM_GML311GEOMETRIE

Convertit un fragment de langage de balisage géographique (GML 3.1.1) en un objet de géométrie Spatial and Graph.

Géométrie au format GML version 3.1.1 à convertir au format SDO_GEOMETRY.

Si les données au format GML sont au format latitude/longitude au lieu du format longitude/latitude utilisé par Oracle Spatial, spécifiez 1 pour ce paramètre. Sinon, ne spécifiez pas ce paramètre. (Voir les notes d'utilisation pour plus d'informations.)

La géométrie d'entrée doit être un fragment GML valide décrivant un type de géométrie GML version 3.1.1 défini dans la spécification de mise en œuvre Open GIS.

Certains systèmes de coordonnées géodésiques EPSG ont l'ordre des axes inversé dans leur définition. Pour de tels SRID, les données au format GML peuvent entrer sous forme de latitude/longitude au lieu de longitude/latitude. Si un tel GML doit être converti au type SDO_GEOMETRY, le paramètre coordOrder doit être spécifié comme 1 afin que les valeurs de latitude/longitude soient converties en longitude/latitude, car longitude/latitude est l'ordre utilisé dans le type SDO_GEOMETRY.

L'exemple suivant montre la conversion vers et depuis le format GML version 3.1.1. (L'exemple utilise les définitions et les données de Simple Example : Inserting_ Indexing_ and Querying Spatial Data, en particulier la géométrie cola_b de la table COLA_MARKETS.)

35.19 SDO_UTIL.FROM_GMLGEOMETRY

Convertit un fragment de langage de balisage géographique (GML 2.0) en un objet de géométrie Spatial and Graph.

Géométrie au format GML version 2.0 à convertir au format SDO_GEOMETRY.

La géométrie d'entrée doit être un fragment GML valide décrivant un type de géométrie GML version 2.0 défini dans la spécification de mise en œuvre Open GIS.

L'exemple suivant montre la conversion vers et depuis le format GML version 2.0. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data, en particulier la géométrie cola_b de la table COLA_MARKETS.)

35.20 SDO_UTIL.FROM_JSON

Convertit un objet JSON (ou plus précisément un objet de géométrie au format JSON) en un objet de géométrie Spatial et Graph.

Géométrie au format JSON à convertir au format SDO_GEOMETRY. Le type de données de l'objet JSON peut être VARCHAR2 ou CLOB. Une géométrie au format JSON peut également être convertie.

(Réservé pour une utilisation future. La valeur par défaut est null.)

(Réservé pour une utilisation future. La valeur par défaut est -1.)

La géométrie d'entrée doit être au format JSON. Pour plus d'informations sur l'utilisation des données JSON stockées dans Oracle Database, consultez Oracle Database JSON Developer's Guide .

Pour plus d'informations sur la prise en charge de Spatial et Graph pour JSON, consultez Prise en charge de JSON et GeoJSON dans Oracle Spatial and Graph.

Pour convertir un objet SDO_GEOMETRY au format JSON, utilisez la fonction SDO_UTIL.TO_JSON ou SDO_UTIL.TO_JSON_VARCHAR.

L'exemple suivant montre la conversion vers et depuis le format JSON. (L'exemple utilise les définitions et les données de Simple Example : Inserting_ Indexing_ and Querying Spatial Data, en particulier la géométrie cola_b de la table COLA_MARKETS.)

L'exemple suivant montre un objet JSON qui représente une géométrie spécifiée reconvertie en SDO_GEOMETRY. (Dans ce cas, le JSON reflète la géométrie cola_b de la table COLA_MARKETS, définie dans Exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

35.21 SDO_UTIL.FROM_KMLGEOMETRY

Convertit un document KML (Keyhole Markup Language) en un objet géométrique Spatial and Graph.

Géométrie au format KML de type CLOB ou VARCHAR2 à convertir au format SDO_GEOMETRY.

La géométrie d'entrée doit être un document valide conforme à la spécification KML 2.1.

Cette fonction ne traite pas l'intégralité du document KML, elle traite uniquement les balises géométriques KML.

L'exemple suivant montre la conversion vers et depuis le format KML. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data, en particulier la géométrie cola_c de la table COLA_MARKETS.)

35.22 SDO_UTIL.FROM_WKBGEOMETRY

Convertit une géométrie au format binaire bien connu (WKB) en un objet de géométrie Spatial and Graph.

Géométrie au format WKB à convertir au format SDO_GEOMETRY.

La géométrie d'entrée doit être au format binaire bien connu (WKB), tel que défini par l'Open Geospatial Consortium et l'Organisation internationale de normalisation (ISO).

Cette fonction est calquée sur les recommandations SQL Multimedia de la norme ISO 13249-3, Technologies de l'information - Langages de base de données - SQL Multimedia and Application Packages - Part 3: Spatial .

Pour convertir un objet SDO_GEOMETRY au format WKB, utilisez la fonction SDO_UTIL.TO_WKBGEOMETRY.

L'exemple suivant montre la conversion vers et depuis les formats WKB et WKT, et la validation des géométries WKB et WKT. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data, en particulier la géométrie cola_b de la table COLA_MARKETS.)

35.23 SDO_UTIL.FROM_WKTGEOMETRY

Convertit une géométrie au format texte bien connu (WKT) en un objet de géométrie Spatial and Graph.

Géométrie au format WKT à convertir au format SDO_GEOMETRY.

La géométrie d'entrée doit être au format de texte bien connu (WKT), tel que défini par l'Open Geospatial Consortium et l'Organisation internationale de normalisation (ISO).

Cette fonction est calquée sur les recommandations SQL Multimedia de la norme ISO 13249-3, Technologies de l'information - Langages de base de données - SQL Multimedia and Application Packages - Part 3: Spatial .

Pour convertir un objet SDO_GEOMETRY en CLOB au format WKT, utilisez la fonction SDO_UTIL.TO_WKTGEOMETRY. (Vous pouvez utiliser la fonction SQL TO_CHAR pour convertir le CLOB résultant en type VARCHAR2.)

L'exemple suivant montre la conversion vers et depuis les formats WKB et WKT, et la validation des géométries WKB et WKT. (L'exemple utilise les définitions et les données de Simple Example : Inserting_ Indexing_ and Querying Spatial Data, en particulier la géométrie cola_b de la table COLA_MARKETS.)

35.24 SDO_UTIL.GEO_SEARCH

Interroge la table avec la hiérarchie des noms géographiques (ELOC_ADMIN_AREA_SEARCH).

Un ou plusieurs noms de la table avec la hiérarchie des noms géographiques. Utilisez des virgules pour séparer plusieurs valeurs de nom.

Détermine si la correspondance approximative d'Oracle Text sera utilisée pour rechercher des correspondances pour la ou les valeurs de nom. 0 (zéro, la valeur par défaut) n'utilise pas la correspondance floue 1 utilise la correspondance floue. Cependant, consultez les notes d'utilisation pour plus d'explications et d'exemples.

Pour utiliser cette fonction, vous devez comprendre les concepts d'Enrichissement des données de localisation, qui décrit également les actions de configuration nécessaires.

Pour le paramètre flou, si la valeur est 0 (valeur par défaut), les valeurs de name doivent correspondre dans l'orthographe aux valeurs de l'ensemble de données pour l'emplacement, bien que pour un emplacement, l'ensemble de données puisse permettre de nombreuses variations d'orthographe et de casse. Si la valeur est 1, des erreurs mineures dans les valeurs de nom (comme des fautes d'orthographe) seront également considérées comme correspondant à l'emplacement. Par exemple:

fuzzy=>0 fera correspondre « nashua, nh, usa » et « nashua, new hampshire, usa » au même nom standard.

fuzzy=>1 , en plus des valeurs correspondantes incluses pour 0, fera correspondre « nashuaa,NH,usa » (où le nom de la ville est mal orthographié) à ce même nom standard.

L'exemple suivant recherche des informations sur San Francisco. Il n'utilise pas de correspondance floue.

L'exemple suivant utilise une correspondance approximative (valeur approximative de 1 ), et par conséquent trouvera des correspondances pour San Francisco, Californie, malgré la faute d'orthographe du nom de la ville dans le paramètre de nom (San f Fr ac isco).

35.25 SDO_UTIL.GET_2D_FOOTPRINT

Renvoie une géométrie bidimensionnelle qui reflète l'empreinte de la géométrie tridimensionnelle d'entrée.

Objet de géométrie en trois dimensions.

Vous pouvez utiliser cette fonction pour renvoyer l'empreinte 2D (sur un plan x-y où z=0) de géométries 3D telles que des bâtiments.

L'exemple suivant renvoie l'empreinte 2D d'une géométrie 3D. Il suppose qu'une table nommée FTPTS existe avec au moins une colonne ID numérique et une colonne nommée GEOMETRY de type SDO_GEOMETRY contenant des géométries tridimensionnelles.

35.26 SDO_UTIL.GETFIRSTVERTEX

Renvoie la première coordonnée des sommets de la géométrie en entrée.

Cette fonction renvoie un objet de type MDSYS.VERTEX_TYPE, défini comme suit :

Le type MYSYS.VERTEX_TYPE est destiné uniquement à l'utilisation d'Oracle. N'utilisez pas ce type dans les définitions de colonnes ou dans les fonctions que vous créez.

Cet exemple suppose une table nommée DATA_2D qui a été créée et remplie comme suit :

L'instruction SELECT suivante appelle à la fois les fonctions SDO_UTIL.Get First Vertex et SDO_UTIL.Get Last Vertex. Le résultat montre que le premier sommet est à (12,13) ​​et le dernier sommet est à (20,21). (La sortie est reformatée pour plus de lisibilité.)

35.27 SDO_UTIL.GETLASSVERTEX

Renvoie la dernière coordonnée des sommets de la géométrie d'entrée.

Cette fonction renvoie un objet de type MDSYS.VERTEX_TYPE, défini comme suit :

Le type MYSYS.VERTEX_TYPE est destiné uniquement à l'utilisation d'Oracle. N'utilisez pas ce type dans les définitions de colonnes ou dans les fonctions que vous créez.

Cet exemple suppose une table nommée DATA_2D qui a été créée et remplie comme suit :

L'instruction SELECT suivante appelle à la fois les fonctions SDO_UTIL.Get First Vertex et SDO_UTIL.Get Last Vertex. Le résultat montre que le premier sommet est à (12,13) ​​et le dernier sommet est à (20,21). (La sortie est reformatée pour plus de lisibilité.)

35.28 SDO_UTIL.GETNUMELEM

Renvoie le nombre d'éléments dans la géométrie d'entrée.

Géométrie pour laquelle retourner le nombre d'éléments.

L'exemple suivant renvoie le nombre d'éléments pour chaque géométrie dans la colonne SHAPE de la table COLA_MARKETS. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

35.29 SDO_UTIL.GETNUMVERTICES

Renvoie le nombre de sommets dans la géométrie en entrée.

Géométrie pour laquelle retourner le nombre de sommets.

L'exemple suivant renvoie le nombre de sommets pour chaque géométrie dans la colonne SHAPE de la table COLA_MARKETS. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

35.30 SDO_UTIL.GETNURBSAPPROX

Renvoie une géométrie de chaîne de ligne qui est une approximation de la géométrie de la courbe NURBS en entrée.

Objet de géométrie de courbe NURBS.

Valeur de tolérance (voir Tolérance). Tant que la valeur de tolérance est valide, elle n'affecte pas le fonctionnement et la sortie de la fonction, comme expliqué dans les notes d'utilisation.

Cette fonction est utile pour renvoyer une approximation polyligne de la géométrie d'entrée pour un traitement ultérieur par des sous-programmes qui ne peuvent pas traiter directement les géométries de courbe NURBS. La fonction est appelée en interne par plusieurs fonctions Oracle Spatial et Graph, et elle peut également être appelée directement par les utilisateurs.

La géométrie en entrée doit être une courbe NURBS dans le système de coordonnées projetées (non géodésiques).

Si la géométrie d'entrée ne contient pas au moins un élément de courbe NURBS, la fonction renvoie la géométrie d'entrée.

Une valeur de tolérance est requise comme entrée en raison de l'utilisation interne de la fonction par Oracle Spatial et Graph. Cependant, pour les appels directs à la fonction par les utilisateurs, la valeur de tolérance spécifiée n'affecte pas la polyligne renvoyée, qui peut avoir jusqu'à environ 200 points.

Les points d'extrémité de la géométrie de chaîne de lignes renvoyée sont les premier et dernier points de contrôle, car une courbe NURBS est limitée à ses points d'extrémité.

Pour plus d'informations sur la prise en charge des géométries NURBS (non uniformes rationnelles B-spline), consultez Prise en charge des courbes NURBS dans Oracle Spatial and Graph.

L'exemple suivant crée une table spatiale et insère une géométrie de courbe NURBS, puis utilise la fonction SDO_UTIL.GETNURBSAPPROX (avec une valeur de tolérance de 0,05) pour renvoyer une géométrie de chaîne de lignes qui est une approximation de la géométrie de courbe NURBS.

35.31 SDO_UTIL.GETVERTICES

Renvoie les coordonnées des sommets de la géométrie en entrée.

Géométrie pour laquelle retourner les coordonnées des sommets.

Ceci n'est efficace que lorsque l'entrée est une géométrie de point orientée. Voir Point orienté pour plus d'informations sur les points orientés.

La valeur valide peut être l'une des suivantes :

  • 0 : Renvoie uniquement les coordonnées des sommets
  • 1 : Renvoie à la fois les coordonnées et le vecteur d'orientation

Cette fonction renvoie un objet de MDSYS.VERTEX_SET_TYPE, qui consiste en une table d'objets de MDSYS.VERTEX_TYPE. Oracle Spatial and Graph définit le type VERTEX_SET_TYPE comme :

Oracle Spatial and Graph définit le type d'objet VERTEX_TYPE comme :

Les types VERTEX_SET_TYPE et VERTEX_TYPE sont destinés à être utilisés par Oracle uniquement. N'utilisez pas ces types dans les définitions de colonnes ou les fonctions que vous créez.

Cette fonction peut être utile pour trouver un sommet qui rend une géométrie invalide. Par exemple, si vous avez identifié une géométrie comme invalide à l'aide de la fonction SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT ou de la procédure SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT (toutes deux décrites dans le package SDO_GEOM (Geometry)), vous pouvez utiliser la fonction GETVERTICES pour afficher les sommets sous forme de tableau. format.

Cette fonction renvoie uniquement les coordonnées du point et ne renvoie pas les vecteurs d'orientation lorsque l'entrée est une géométrie de point orientée. Pour que les vecteurs d'orientation soient également renvoyés, vous devez passer le paramètre INCLUDE_ORIENTED_PT à 1 . Voir le dernier exemple dans la section Exemples.

L'exemple suivant renvoie les coordonnées X et Y et les valeurs d'ID des sommets des géométries dans la colonne SHAPE de la table COLA_MARKETS. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

L'exemple suivant renvoie à la fois les coordonnées et le vecteur d'orientation, comme deux sommets pour une géométrie de point orientée. (Cet exemple utilise la géométrie de point créée dans l'exemple 2-12).

35.32 SDO_UTIL.INITIALIZE_INDEXES_FOR_TTS

Initialise tous les index spatiaux dans un tablespace qui a été transporté vers une autre base de données.

Cette procédure fait partie de la prise en charge de l'utilisation de la fonction d'espace table transportable Oracle avec des espaces table contenant des index spatiaux. Utilisez cette procédure uniquement soit (A) l'opération d'importation des fichiers de vidage pré-version 11.2 est terminée, soit (B) après que l'opération d'importation depuis une autre plate-forme endian dans la version 11.2 ou ultérieure soit terminée. Chaque utilisateur qui a un index spatial dans le tablespace doit appeler la procédure.

Pour les fichiers de vidage antérieurs à la version 11.2, après avoir appelé la procédure SDO_UTIL.INITIALIZE_INDEXES_FOR_TTS, vous devez exécuter une instruction au format suivant pour chaque index qui se trouve dans le tablespace transportable importé :

Pour plus d'informations sur les tablespaces transportables et le transport des tablespaces vers d'autres bases de données, reportez-vous au manuel Oracle Database Administrator's Guide .

L'exemple suivant pour une importation de fichiers de vidage antérieurs à la version 11.2 initialise tous les index spatiaux dans un tablespace qui a été transporté vers une autre base de données. Il inclut également l'instruction ALTER INDEX requise pour deux index spatiaux hypothétiques.

Dans l'exemple suivant, le propriétaire de l'index spatial doit appeler la procédure SDO_UTIL.INITIALIZE_INDEXES_FOR_TTS uniquement si l'instruction SELECT renvoie la chaîne Y , pour refléter le fait que les index spatiaux sont importés de différentes plates-formes endian dans la version 11.2.

Dans cet exemple, si vous appelez la procédure SDO_UTIL.INITIALIZE_INDEXES_FOR_TTS lorsque l'instruction SELECT renvoie la chaîne N , la procédure ne fait rien car il n'est pas nécessaire d'effectuer une conversion endian.

35.33 SDO_UTIL.INSERT_SDO_GEOM_METADATA

Ajoute des métadonnées pour une table spatiale aux vues de métadonnées de géométrie USER_SDO_GEOMETRY_METADATA et ALL_SDO_GEOMETRY_METADATA.

Nom du schéma propriétaire de la table spatiale. Doit être en majuscule.

Nom de la table spatiale (une table d'entités qui a une colonne de type SDO_GEOMETRY). Doit être en majuscule.

Nom de la colonne de type SDO_GEOMETRY. Doit être en majuscule.

Tableau de longueur variable d'un type d'objet, classé par dimension et comportant une entrée pour chaque dimension. (Le type SDO_DIM_ARRAY est expliqué dans DIMINFO.)

L'un des éléments suivants : la valeur SDO_SRID du système de coordonnées pour toutes les géométries de la colonne, ou NULL si aucun système de coordonnées spécifique ne doit être associé aux géométries.

Cette procédure est une alternative à l'utilisation de l'instruction SQL INSERT pour ajouter des métadonnées pour une table spatiale aux vues de métadonnées de géométrie. (L'utilisation d'une instruction INSERT pour mettre à jour la vue USER_SDO_GEOMETRY_METADATA est illustrée dans Exemple simple : insertion, indexation et interrogation de données spatiales.)

Pour utiliser cette procédure sur une table spatiale dans le schéma d'un autre utilisateur, vous devez disposer des privilèges DBA ou du privilège SELECT sur la table de cet autre utilisateur. Par exemple, si USER1 souhaite insérer des métadonnées de géométrie pour la table USER2.COLA_MARKETS, USER1 doit disposer des privilèges DBA ou SELECT sur la table USER2.COLA_MARKETS.

L'exemple suivant ajoute des métadonnées pour une table spatiale nommée COLA_MARKETS avec la colonne de géométrie nommée SHAPE dans le schéma USER2. Il crée également l'index spatial. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

Vues de métadonnées géométriques pour une explication des vues USER_SDO_GEOM_METADATA et ALL_SDO_GEOM_METADATA

Attribut SRID de type SDO_GEOMETRY

Systèmes de coordonnées (Systèmes de référence spatiale) pour des informations détaillées sur la prise en charge des systèmes de coordonnées

35.34 SDO_UTIL.INTERIOR_POINT

Renvoie un point dont il est garanti qu'il s'agit d'un point intérieur (pas sur la limite ou le bord) sur la surface d'un objet géométrique polygone.

Objet de géométrie polygone. La valeur SDO_GTYPE de la géométrie doit être 2003 ou 2007. (Les valeurs SDO_GTYPE sont expliquées dans SDO_GTYPE.)

Cette fonction renvoie un objet de géométrie de point représentant un point qui est garanti être un point intérieur sur la surface, mais pas sur la limite ou le bord, de geom . Le point renvoyé peut être n'importe quel point intérieur de la surface, cependant, si vous appelez la fonction plusieurs fois avec les mêmes valeurs de paramètres geom et tol, le point renvoyé sera le même.

La relation entre le point renvoyé et la géométrie d'origine est INSIDE, que vous pouvez vérifier à l'aide de l'opérateur SDO_RELATE avec 'mask=inside' .

Dans la plupart des cas, cette fonction est plus utile que la fonction SDO_GEOM.SDO_POINTONSURFACE, qui renvoie un point dont il n'est pas garanti qu'il soit un point intérieur.

L'exemple suivant renvoie un objet de géométrie qui est un point intérieur sur la surface de cola_a . (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

35.35 SDO_UTIL.POINT_AT_BEARING

Renvoie une géométrie de point qui se trouve à la distance et au relèvement spécifiés à partir du point de départ.

Objet de géométrie de point à partir duquel calculer la distance au relèvement spécifié, pour localiser le point souhaité. La géométrie du point doit être basée sur un système de coordonnées géodésiques.

Nombre de radians, mesuré dans le sens des aiguilles d'une montre à partir du nord. Doit être compris entre - pi à pi ou 0 à 2* pi . (L'une ou l'autre convention sur les plages fonctionnera).

Nombre de mètres depuis start_point et le long de la direction initiale du relèvement jusqu'au point de destination calculé. Doit faire moins de la moitié de la circonférence de la Terre.

La géométrie du point d'entrée doit être basée sur un système de coordonnées géodésiques. Si elle est basée sur un système de coordonnées non géodésique, cette fonction renvoie une valeur nulle.

Pour convertir des degrés décimaux en radians ou des distances non métriques en mètres, vous pouvez utiliser la fonction SDO_UTIL.CONVERT_UNIT. Pour calculer le relèvement et l'inclinaison d'un point de départ à un point final, vous pouvez utiliser la procédure SDO_UTIL.BEARING_TILT_FOR_POINTS.

L'exemple suivant renvoie le point à 100 kilomètres à un relèvement de 1 radian à partir du point avec les coordonnées de longitude et de latitude (-72, 43).

35.36 SDO_UTIL.POLYGONTOLINE

Convertit tous les éléments de type polygone d'une géométrie en éléments de type ligne et définit la valeur SDO_GTYPE en conséquence.

L'ordre des sommets de chaque élément de type ligne résultant est le même que dans l'élément de type polygone associé, et les points de début et de fin de chaque segment de type ligne sont le même point.

Si la géométrie d'entrée est une ligne, elle est renvoyée.

L'exemple suivant convertit la géométrie du polygone d'entrée, qui est la même géométrie que cola_b (voir Exemple simple : Inserting_ Indexing_ and Querying Spatial Data), en une géométrie de chaîne de lignes. Dans la géométrie renvoyée, la valeur SDO_GTYPE (2002) indique une géométrie LINE à deux dimensions, et la valeur SDO_ETYPE (2) et la valeur SDO_INTERPRETATION (1) dans le tableau SDO_ELEM_INFO indiquent une chaîne de lignes dont les sommets sont connectés par des segments de ligne droite.

35.37 SDO_UTIL.RECTIFY_GEOMETRIE

Résout certains problèmes avec la géométrie d'entrée et renvoie une géométrie valide.

Géométrie à vérifier pour les problèmes qui peuvent être corrigés.

Cette fonction vérifie les problèmes suivants qui peuvent rendre une géométrie invalide et résout les problèmes dans la géométrie renvoyée :

Limite de polygone se coupant elle-même

Orientation incorrecte des anneaux extérieurs ou intérieurs (ou les deux) d'un polygone

Si la géométrie d'entrée a un autre problème qui la rend invalide, la fonction lève une exception.

Si la géométrie d'entrée est valide, la fonction renvoie une géométrie identique à la géométrie d'entrée.

Pour plus d'informations sur l'utilisation de cette fonction dans le cadre de la procédure recommandée pour le chargement et la validation des données spatiales, consultez Recommandations pour le chargement et la validation des données spatiales.

Cette fonction est utilisée en interne par la fonction SDO_UTIL.SIMPLIFY dans le cadre du processus de simplification de la géométrie.

Cette fonction appelle en interne la fonction SDO_GEOM.SDO_SELF_UNION si nécessaire.

L'exemple suivant vérifie la géométrie cola_b pour voir si elle a des problèmes qui peuvent être résolus. (Dans ce cas, la géométrie est valide, donc la géométrie d'entrée est renvoyée. L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

35.38 SDO_UTIL.REMOVE_DUPLICATE_VERTICES

Supprime les sommets en double (redondants) d'une géométrie.

Géométrie à partir de laquelle supprimer les sommets en double.

Lorsque deux sommets consécutifs d'une géométrie sont identiques ou dans la valeur de tolérance associée à la géométrie, Spatial and Graph considère que la géométrie n'est pas valide. Les fonctions de validation de géométrie spatiale et graphique renvoient l'erreur ORA-13356 dans ces cas. Vous pouvez utiliser la fonction REMOVE_DUPLICATE_VERTICES pour changer ces géométries invalides en géométries valides.

Cette fonction ferme également les polygones de sorte que le premier sommet de l'anneau soit le même que le dernier sommet de l'anneau.

Cette fonction n'est prise en charge pour aucune géométrie de point (y compris les points orientés).

Si la géométrie d'entrée ne contient aucun sommet en double, elle est renvoyée.

L'exemple suivant supprime un sommet en double de la géométrie d'entrée, qui est la même géométrie que cola_b (voir Exemple simple : Inserting_ Indexing_ and Querying Spatial Data) sauf qu'il a été délibérément rendu invalide en ajoutant un troisième sommet qui est le même point que le deuxième sommet (8,1).

35.39 SDO_UTIL.REVERSE_LINESTRING

Renvoie une géométrie de chaîne de lignes avec les sommets de la géométrie d'entrée dans l'ordre inverse.

Géométrie de chaîne de lignes dont les sommets doivent être inversés dans la géométrie de sortie. La valeur SDO_GTYPE de la géométrie d'entrée doit être 2002. (SDO_GTYPE explique les valeurs SDO_GTYPE.)

Étant donné que la valeur SDO_GTYPE de la géométrie d'entrée doit être 2002, cette fonction ne peut pas être utilisée pour inverser les géométries LRS. Pour inverser une géométrie LRS, utilisez la fonction SDO_LRS.REVERSE_GEOMETRY, qui est décrite dans le package SDO_LRS (Linear Referencing System) .

L'exemple suivant renvoie une géométrie de chaîne de lignes qui inverse les sommets de la géométrie d'entrée.

35.40 SDO_UTIL.SIMPLIFIER

Simplifie la géométrie d'entrée, basée sur une valeur de seuil, à l'aide de l'algorithme Douglas-Peucker.

Géométrie à simplifier.

Valeur seuil à utiliser pour la simplification de la géométrie. Doit être un nombre positif. (Zéro renvoie la géométrie d'entrée.) Si la géométrie d'entrée est géodésique, la valeur est le nombre de mètres si la géométrie d'entrée n'est pas géodésique, la valeur est le nombre d'unités associées aux données.

Lorsque la valeur de seuil est diminuée, la géométrie renvoyée est susceptible d'être plus proche de la géométrie d'entrée à mesure que la valeur de seuil est augmentée, moins de points sont susceptibles d'être dans la géométrie renvoyée. Voir les notes d'utilisation pour plus d'informations.

Valeur de tolérance (voir Tolérance). Ne doit pas être supérieur au seuil et pour de meilleures performances, ne doit pas être le même que le seuil . Si vous ne spécifiez pas de valeur, la valeur par défaut est 0,0000005.

Pour certaines géométries de ligne, lorsque la ligne est simplifiée, elle peut se retrouver avec des boucles auto-croisées au milieu. Bien qu'il s'agisse d'une géométrie valide (pour les lignes), dans certains cas, il n'est pas souhaitable d'avoir ces boucles dans le résultat de l'opération de simplification. Une valeur de 0 (la valeur par défaut) ne supprime pas ces boucles. Une valeur de 1 (ou tout autre nombre positif différent de zéro) supprime ces boucles et renvoie toujours des segments de ligne simples.

Cette fonction convertit également les arcs en lignes, élimine les sommets en double et corrige de nombreux problèmes de chevauchement des polygones de bord. La raison pour laquelle cette fonction résout parfois des problèmes est qu'elle appelle en interne la fonction SDO_UTIL.RECTIFY_GEOMETRY à la fin du processus de simplification pour s'assurer qu'une géométrie valide est renvoyée. Cependant, notez que si deux géométries parfaitement alignées sont simplifiées indépendamment, les géométries peuvent ne pas être alignées après la simplification.

Cette fonction est utile lorsque vous souhaitez une géométrie avec une résolution moins fine que la géométrie d'origine. Par exemple, si la résolution d'affichage ne peut pas afficher les centaines ou les milliers de virages du cours d'une rivière ou d'une frontière politique, de meilleures performances pourraient être obtenues si la géométrie était simplifiée pour n'afficher que les principaux virages.

Si vous utilisez cette fonction avec des géométries qui ont plus de deux dimensions, seules les deux premières dimensions sont utilisées dans le traitement de la requête, et seules les deux premières dimensions de la géométrie renvoyée doivent être considérées comme valides et significatives.

Cette fonction utilise l'algorithme de Douglas-Peucker, qui est expliqué dans plusieurs manuels de cartographie et documents de référence. (Dans certaines explications, le terme tolérance est utilisé au lieu de seuil, cependant, il est différent de la signification Oracle Spatial et Graph de la tolérance.)

Comparez cette fonction avec SDO_UTIL.SIMPLIFYVW, qui utilise l'algorithme Visvalingham-Whyatt.

La géométrie renvoyée peut être un polygone, une ligne ou un point, selon la définition de la géométrie et la valeur de seuil. Les considérations suivantes s'appliquent :

Un polygone peut se simplifier en une ligne ou un point et une ligne peut se simplifier en un point, si la valeur de seuil associée à la géométrie est suffisamment grande. Par exemple, un rectangle fin se simplifiera en une ligne si la distance entre les deux côtés longs parallèles est inférieure à la valeur seuil, et une ligne se simplifiera en un point si la distance entre les points de départ et d'arrivée est inférieure à la valeur seuil. .

Dans un polygone avec un trou, si l'anneau extérieur ou l'anneau intérieur (le trou) se simplifie en une ligne ou un point, l'anneau intérieur disparaît (n'est pas inclus dans) la géométrie résultante.

Les caractéristiques topologiques de la géométrie en entrée peuvent ne pas être conservées après la simplification. Pour une géométrie de collection, le nombre d'éléments peut augmenter afin d'éviter le chevauchement d'éléments individuels. Dans tous les cas, cette fonction ne renverra pas une géométrie invalide.

Cette fonction n'est pas prise en charge pour les géométries du système de référencement linéaire (LRS) (qui sont décrites dans Système de référencement linéaire).

L'exemple suivant simplifie une géométrie de chaîne de lignes qui reflète les sommets de la route illustrés à la Figure 7-20 dans Exemple de fonctions LRS, bien que la géométrie dans cet exemple ne soit pas une géométrie LRS. Avec la valeur seuil de 6, la chaîne de lignes résultante n'a que trois points : les points de début et de fin, et (12, 4,12).

La figure 35-1 montre le résultat de cet exemple. Dans la Figure 35-1, la ligne noire pleine épaisse est la géométrie résultante, et la ligne claire et pleine fine entre les points de départ et de fin est la géométrie d'entrée.

Figure 35-1 Simplification d'une géométrie

35.41 SDO_UTIL.SIMPLIFYVW

Simplifie la géométrie d'entrée, basée sur une valeur de seuil, à l'aide de l'algorithme Visvalingham-Whyatt.

Géométrie à simplifier.

Valeur seuil à utiliser pour la simplification de la géométrie, exprimée en pourcentage entre 0 et 100. Lorsque la valeur est diminuée, la géométrie renvoyée est susceptible d'être plus proche de la géométrie d'entrée à mesure que la valeur est augmentée, moins de points sont susceptibles d'être dans la géométrie renvoyée.

Vous pouvez essayer différentes valeurs pour obtenir le niveau de simplification souhaité.

Valeur de tolérance (voir Tolérance). Si vous ne spécifiez pas de valeur, la valeur par défaut est 0,0000005.

Pour certaines géométries de ligne, lorsque la ligne est simplifiée, elle peut se retrouver avec des boucles auto-croisées au milieu. Bien qu'il s'agisse d'une géométrie valide (pour les lignes), dans certains cas, il n'est pas souhaitable d'avoir ces boucles dans le résultat de l'opération de simplification. Une valeur de 0 (la valeur par défaut) ne supprime pas de telles boucles. Une valeur de 1 (ou tout autre nombre positif différent de zéro) supprime ces boucles et renvoie toujours des segments de ligne simples.

Voir les notes d'utilisation de la fonction SDO_UTIL.SIMPLIFY, qui simplifie également une géométrie d'entrée mais utilise un algorithme différent (Douglas-Peucker).

L'exemple suivant simplifie la même géométrie de chaîne de ligne utilisée dans l'exemple pour SDO_UTIL.SIMPLIFY.

Notez que la géométrie résultante dans ce cas, en utilisant 80 comme valeur vertex_threshold, a les mêmes points que l'exemple pour SDO_UTIL.SIMPLIFY, mais sans aucune information de dimension de mesure (c'est-à-dire que les sommets sont 2,2, 12,4 et 5,14). Une valeur vertex_threshold significativement plus faible entraînerait probablement une géométrie avec plus de sommets.

35.42 SDO_UTIL.THEME3D_GET_BLOCK_TABLE

Renvoie la table de blocs (le cas échéant) pour un thème 3D (thèmes DEM, PC et TIN).

Nom du thème 3D. Doit être une valeur de la vue USER_SDO_3DTHEMES ou ALL_SDO_3DTHEMES (décrite dans les vues xxx_SDO_3DTHEMES.

Cette fonction retourne le nom de la table de blocs pour le thème, si le thème a une table de blocs associée. S'il n'y a pas de table de blocs associée, la fonction renvoie une valeur nulle.

Cet exemple effectue les opérations suivantes pour chaque thème de la table USER_SDO_3DTHEMES : vérifie s'il a plusieurs LOD et a une texture, et renvoie le nom de la table de bloc. (Il suppose que les thèmes ont été précédemment insérés dans la table USER_SDO_3DTHEMES.)

35.43 SDO_UTIL.THEME3D_HAS_LOD

Vérifie si un thème 3D a plusieurs niveaux de détail (LOD) (pour les thèmes DEM, PC et TIN avec pyramidage), ou si un thème est impliqué dans une chaîne de thèmes à plusieurs LOD (pour les thèmes SDO_GEOMETRY).

Nom du thème 3D. Doit être une valeur de la vue USER_SDO_3DTHEMES ou ALL_SDO_3DTHEMES (décrite dans les vues xxx_SDO_3DTHEMES.

Cette fonction renvoie 0 (zéro) si le thème n'a pas plusieurs LOD ou n'est pas lié à un thème avec plusieurs LOD sinon, elle renvoie 1.

Cet exemple effectue les opérations suivantes pour chaque thème de la table USER_SDO_3DTHEMES : vérifie s'il a plusieurs LOD et a une texture, et renvoie le nom de la table de bloc. (Il suppose que les thèmes ont été précédemment insérés dans la table USER_SDO_3DTHEMES.)

35.44 SDO_UTIL.THEME3D_HAS_TEXTURE

Vérifie si un thème 3D a des textures (pour les thèmes DEM, TIN, serveur de tuiles de carte et SDO_GEOMETRY).

Nom du thème 3D. Doit être une valeur de la vue USER_SDO_3DTHEMES ou ALL_SDO_3DTHEMES (décrite dans les vues xxx_SDO_3DTHEMES.

Cette fonction renvoie 0 (zéro) si le thème n'a pas de textures sinon, elle renvoie 1.

Cet exemple effectue les opérations suivantes pour chaque thème de la table USER_SDO_3DTHEMES : vérifie s'il a plusieurs LOD et a une texture, et renvoie le nom de la table de bloc. (Il suppose que les thèmes ont été précédemment insérés dans la table USER_SDO_3DTHEMES.)

35.45 SDO_UTIL.TO_GEOJSON

Convertit un objet SDO_GEOMETRY en une géométrie de type CLOB au format GeoJSON.

Géométrie au format SDO_GEOMETRY à convertir en objet GeoJSON.

Pour plus d'informations sur l'utilisation des données JSON stockées dans Oracle Database, consultez Oracle Database JSON Developer's Guide .

Pour convertir une géométrie au format GeoJSON en un objet SDO_GEOMETRY, utilisez la fonction SDO_UTIL.FROM_GEOJSON.

L'exemple suivant montre la conversion vers et depuis le format JSON. (L'exemple utilise les définitions et les données de Simple Example : Inserting_ Indexing_ and Querying Spatial Data, en particulier la géométrie cola_b de la table COLA_MARKETS.)

L'exemple suivant montre l'objet GeoJSON qui représente une géométrie spécifiée. (Dans ce cas, la définition de la géométrie reflète la géométrie cola_b de la table COLA_MARKETS, définie dans Exemple simple : Insertion_Indexation_ et interrogation de données spatiales.)

35.46 SDO_UTIL.TO_GML311GEOMETRIE

Convertit un objet de géométrie Spatial et Graph en un fragment de langage de balisage géographique (GML version 3.1.1) en fonction des types de géométrie définis dans le document de schéma Open GIS geometry.xsd.

Géométrie pour laquelle retourner le fragment GML version 3.1.1.

Cette fonction ne convertit pas les cercles, les géométries contenant des arcs de cercle, les géométries LRS ou les géométries avec une valeur SDO_ETYPE de 0 (éléments de type 0), elle renvoie un CLOB vide dans ces cas.

Cette fonction convertit la géométrie d'entrée en un fragment GML version 3.1.1 basé sur certains types de géométrie GML définis dans la spécification d'implémentation Open GIS.

Les polygones doivent être définis à l'aide des conventions d'Oracle9 i et des versions ultérieures de Spatial et Graph. C'est-à-dire que la limite externe est stockée en premier (avec ETYPE=1003) suivie de zéro ou plusieurs éléments de limite interne (ETYPE=2003). Pour un polygone avec des trous, la limite extérieure doit être stockée en premier dans la définition SDO_ORDINATES, suivie des coordonnées des limites intérieures.

Les géométries LRS doivent être converties en géométries standard (à l'aide de la fonction SDO_LRS.CONVERT_TO_STD_GEOM ou SDO_LRS.CONVERT_TO_STD_LAYER) avant d'être transmises à la fonction TO_GMLGEOMETRY. (Voir la section Exemples pour un exemple qui utilise CONVERT_TO_STD_GEOM avec la fonction TO_GMLGEOMETRY.)

Tout arc de cercle ou cercle doit être densifié (à l'aide de la fonction SDO_GEOM.SDO_ARC_DENSIFY) ou représenté sous forme de polygones (à l'aide de la fonction SDO_GEOM.SDO_BUFFER) avant d'être transmis à la fonction TO_GMLGEOMETRY. (Voir la section Exemples pour un exemple qui utilise SDO_ARC_DENSIFY avec la fonction TO_GMLGEOMETRY.)

Les points d'étiquette sont supprimés. Autrement dit, si une géométrie a une valeur pour le champ SDO_POINT et des valeurs dans SDO_ELEM_INFO et SDO_ORDINATES, le SDO_POINT n'est pas affiché dans le fragment GML.

La valeur SDO_SRID est sortie sous la forme srsName="SDO:<srid>" . Par exemple, "SDO:8307" indique SDO_SRID 8307 et "SDO:" indique une valeur SDO_SRID nulle.Aucune vérification n'est effectuée pour la validité ou la cohérence de la valeur SDO_SRID. Par exemple, la valeur n'est pas vérifiée pour voir si elle existe dans la table MDSYS.CS_SRS ou si elle est en conflit avec la valeur SRID de la couche dans la vue USER_SDO_GEOM_METADATA.

Les coordonnées sont toujours sorties à l'aide de la balise <coordinates> et de la virgule='.' , cs=',' (c'est-à-dire avec la virgule comme séparateur de coordonnées) et ts=' ' (c'est-à-dire avec un espace comme séparateur de tuple), même si le paramètre NLS_NUMERIC_CHARACTERS a ',' (virgule) comme le caractère décimal.

La sortie GML n'est pas formatée, il n'y a pas de sauts de ligne ni d'indentation des balises. Pour voir le contenu du CLOB renvoyé dans SQL*Plus, utilisez la fonction TO_CHAR() ou définissez le paramètre SQL*Plus LONG sur une valeur appropriée (par exemple, SET LONG 40000 ). Pour obtenir une sortie GML formatée ou pour utiliser la valeur de retour de TO_GMLGEOMETRY dans les fonctions SQLX ou Oracle XML DB telles que XMLELEMENT, utilisez le constructeur XMLTYPE(clobval CLOB).

L'exemple suivant renvoie le fragment GML version 3.1.1 pour la géométrie cola_b dans la table COLA_MARKETS. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

L'exemple suivant renvoie le fragment GML version 3.1.1 pour la densification d'arc de la géométrie cola_d dans la table COLA_MARKETS. (L'exemple utilise les définitions et les données de l'exemple simple : Inserting_ Indexing_ and Querying Spatial Data.)

L'exemple suivant convertit une géométrie LRS en géométrie standard et renvoie le fragment GML version 3.1.1 pour la géométrie. (L'exemple utilise les définitions et les données de l'exemple de fonctions LRS.)

Les exemples suivants renvoient des fragments GML version 3.1.1 pour divers types de géométrie.


Hfrhyu

550 ? Exportation du raster de pente pour tout le pays dans l'année composite GEEGEE Landsat SR // masquer le nuage / l'ombre avec une autre méthode que le pixel de qualité "la région d'exportation ne contient aucun pixel valide (non masqué) - Google Earth EgineGoogle Earth Engine, comment distinguer entre les rivières/les ruisseaux et les étangs/lacs dans un masque d'eauL'outil de script Python échoue lors du traitement des données de précipitations de Google Earth EngineErreur de Google Earth Engine : le nombre de pixels demandés à partir d'Image.load dépasse le maximum autoriséImages sans nuage dans une petite zone de Sentinel-2Utilisation de l'image exportToDrive dans Moteur Google Earth ?

Les incendies de bâtiments en bois deviennent-ils plus chauds que 600 °C ?

Que signifie "légèrement écrasées" pour les gousses de cardamome ?

Comment se fait-il que Sam ne soit pas devenu Lord of Horn Hill ?

Un parti peut-il changer unilatéralement de candidat en vue d'une élection générale ?

Quelle est la signification de « retenue d'infraction renforcée » ?

Manipulation du siècle dans les pandas

Est-il rentable de mettre à niveau un vieux vélo de banlieue Giant Escape R3 avec des pièces de marque d'entrée de gamme (roues, transmission) ?

Où trouver les conférences de Serre au Collège de France ?

Si mon chercheur principal a reçu des subventions de recherche d'une entreprise pour pouvoir payer mon salaire postdoctoral, avais-je aussi un conflit d'intérêts potentiel ?

Ensembles de puissances cumulés maximum avec des éléments non adjacents

Que signifie cette citation de Jacques Hadamard ?

Générer une grille de couleurs RVB

Est-ce que ce patron sorcier homebrew Lady of Pain est équilibré?

Retiré �, mais seul � apparaît comme retiré sur les services bancaires en ligne, quelles sont mes obligations ?

Quelle est la signification de la comparaison “rapide comme de la soie” ?

Pourquoi les fonctions trigonométriques versine, haversine, exsecant, etc. sont-elles rarement utilisées en mathématiques modernes ?

Embarquement refusé bien que j'aie un visa et des documents appropriés. A qui dois-je adresser une réclamation ?


Comment vérifier si un polygone contient un autre polygone dans OL3 ? - Systèmes d'information géographique

jmalczew/newj.JPG" />
Journal of Geographic Information and Decision Analysis, vol. 4, n°1, p. 1-10
Quelle est la représentativité des échantillons dans un réseau d'échantillonnage ?

Gr&ecutegoire Dubois
Institut de Minéralogie & Pétrographie, Université de Lausanne, Suisse
[email protected]

Contenu
1. Introduction
2. Indice des voisins les plus proches (NNI)
3. Dimension fractale des réseaux d'échantillonnage
4. Indice Morisita
5. Polygones de Thiessen/Voronoï
6. Coefficient de représentativité (CR)
7. Conclusions
Les références
RÉSUMÉ Les schémas d'échantillonnage présentent fréquemment des structures irrégulières qui peuvent affecter les analyses du phénomène étudié. De nombreuses méthodes permettant d'évaluer le biais d'échantillonnage existent mais aucune n'est entièrement satisfaisante. Ces méthodes seront brièvement discutées ici et sur la base de leurs avantages et inconvénients, une tentative est faite pour concevoir une nouvelle méthode qui évaluera le niveau de "représentativité" des échantillons dans un réseau de surveillance. Cette méthode introduit un coefficient de représentativité (RC) basé sur les polygones de Thiessen ainsi que sur les distances des voisins les plus proches. L'utilisation de ce coefficient doit faciliter l'identification des données agrégées ainsi que des points isolés, permettre au chercheur de définir les mesures pouvant être moyennées pour les problèmes de désagrégation et permettre la comparaison de différentes stratégies d'échantillonnage pour une surface donnée.
MOTS CLÉS : réseau d'échantillonnage, structure spatiale, coefficient de représentativité, indice de Morisita, polygones de Thiessen/Voronoi, fractales, indice des plus proches voisins.

introduction
Les géoscientifiques manipulent souvent des données fournies par des réseaux de surveillance et/ou des campagnes d'échantillonnage sur lesquelles ils ont peu de contrôle. Pour de nombreuses raisons, l'une d'entre elles étant la difficulté d'accès à certains emplacements, les schémas d'échantillonnage présentent des structures irrégulières et des clusters qui peuvent affecter l'analyse du phénomène étudié. Sur la base de la théorie des variables régionalisées (Matheron, 1963), on peut supposer que l'erreur type maximale de l'estimation de krigeage est une mesure raisonnable de la qualité d'un plan d'échantillonnage. McBratney et al. (1981) ont montré qu'une stratégie d'échantillonnage basée sur une grille triangulaire régulière maintiendrait l'erreur type maximale au minimum et qu'une grille carrée est approximativement équivalente lorsque la variation du phénomène étudié est isotrope. De nombreux travaux ont déjà été réalisés sur la conception de stratégies d'échantillonnage optimales qui impliquent l'utilisation du semi-variogramme qui exprime quantitativement la dépendance spatiale de la variable (voir par exemple McBratney et al., 1981 Burgess et al., 1981 Oliver et Webster, 1986 Burrough, 1991). Si l'utilisation de semi-variogrammes est particulièrement intéressante lorsque le phénomène analysé présente une anisotropie dans l'espace, elle nécessite l'indépendance vis-à-vis des localisations absolues des propriétés statistiques de la variable. La validité d'une telle hypothèse, dite hypothèse de stationnarité, peut être analysée à l'aide de fenêtres mobiles qui calculeront localement la moyenne et la variance de la variable. Cependant, une telle méthode est clairement influencée par le plan d'échantillonnage et les données groupées auront un fort impact sur l'estimation de ces statistiques.
Le biais d'échantillonnage peut être évalué à l'aide de méthodes visant à décrire le niveau d'irrégularité dans la distribution spatiale des échantillons et certaines de ces méthodes seront discutées ici. Deux jeux de données de précipitations journalières réalisées en Suisse le 8 mai 1986 seront utilisés pour illustrer les méthodes : l'un contient les 467 échantillons, le second contient un sous-ensemble de 167 échantillons extraits aléatoirement du précédent. Les deux ensembles de données sont illustrés à la figure 1 et à la figure 2.


Figure 1. Lieux de prélèvement des 467 mesures effectuées en Suisse

Figure 2. Sous-ensemble de 167 échantillons de la figure 1.

2. Indice des voisins les plus proches (NNI)
L'indice des voisins les plus proches (NNI) (Clark et Evans, 1954) compare les distances entre les échantillons les plus proches aux distances auxquelles on s'attendrait par hasard. Le NNI est défini comme le rapport de la moyenne des distances des plus proches voisins (NNdist), C'est

N est le nombre de points d'échantillonnage et, à la moyenne des distances les plus proches voisins pour une répartition uniforme des points . Cette distance aléatoire moyenne (MRD) est défini comme

Stotal est la surface totale de la zone étudiée. Le NNI est donc égal à

On notera deux limitations à la méthode. Si l'ensemble des données peut être décrit par le NNI, il n'indique pas les clusters. Deuxièmement, la géométrie de la surface analysée peut être complexe et avoir un impact sur la répartition spatiale des points de prélèvement.

3. Dimension fractale des réseaux d'échantillonnage
Mandelbrot (1982) a introduit le terme de « fractal » qui est utilisé pour décrire un phénomène spatial continu qui présente une corrélation spatiale à différentes échelles. Pour une fonction fractale linéaire, le Hausdorff-Besicovitch () dimension peut varier entre 1 (elle peut être complètement dérivée) et 2, la fonction est tellement irrégulière qu'elle couvre tout l'espace des 2 dimensions. la joie d'amour et al. (1986) ont appliqué des fractales pour décrire l'hétérogénéité des réseaux de mesure. Quand l'hétérogénéité du réseau apparaît à différentes échelles d'un espace de dimension E, il peut être caractérisé par une dimension fractale m. Les auteurs ont également montré qu'à chaque fois m< E, phénomènes de dimension fractale p < E-Dm ne peut pas être détecté par le réseau même si la densité des stations de surveillance est infinie. m est défini par la variation du nombre moyen n(R) d'observations trouvées dans un cercle de rayon variable R centré sur chaque point du réseau de surveillance. Un ensemble de mesures a une dimension fractale ms'il satisfait à la condition suivante m(R) R D m La quantité m se déduit alors de la pente définie par le log(nL) tracé par rapport au journal(L). Comme le soulignent Doswell et Lasher-Trapp (1997), la méthode présente deux limites. La première est la définition arbitraire de la pente lorsque le tracé n'est pas linéaire. Ceci est illustré à la figure 3 où la dimension fractale du réseau d'échantillonnage est de 1,71 jusqu'à 80 km et de 0,75 pour les distances restantes (tableau 2).

La seconde est due aux effets de frontière. Le cercle utilisé pour définir le nombre moyen de points entrant dans R ne trouvera qu'une partie de celles trouvées lorsque le cercle se trouve quelque part au milieu des données (Tessier et al., 1994 Doswell et Lasher-Trapp, 1997).

4. Indice Morisita
Une autre méthode est l'index de Morisita (Morisita, 1959 Cressie, 1993, p. 578, 590-591). La surface analysée est divisée en cellules rectangulaires de taille égale et l'indice est défini comme

    Pour une répartition régulière des échantillons dans l'espace, je augmente avec la taille des cellules pour atteindre la valeur 1.

Si la distribution spatiale des échantillons est aléatoire mais homogène, je est indépendant de la taille des cellules et fluctue autour d'une valeur moyenne de 1.

Le maximum de l'indice, c'est-à-dire la taille typique d'un cluster, est atteint pour une taille de cellule de 19 km pour 467 points et de 22 km pour 167 points.

5. Polygones de Thiessen/Voronoï
Polygones de Thiessen, également appelés polygones de Voronoï ou cellules de Dirichlet (Thiessen, 1911 Okabe et al., 1992) ont la propriété de ne contenir qu'une seule mesure et d'avoir une géométrie qui inclura tous les points de données qui sont plus proches de la mesure que de toute autre mesure. Les observations isolées auront donc des polygones qui seront plus grands que ceux associés aux données regroupées. Ces polygones sont aussi fréquemment utilisés pour définir des poids qui servent à dégrouper les données lorsqu'on tente d'obtenir des statistiques représentatives du phénomène étudié sur l'ensemble de la surface d'intérêt (Isaaks et Srivastava, 1989). Des histogrammes des aires de ces polygones pourraient aider à décrire quantitativement l'homogénéité du réseau d'échantillonnage : en connaissant la taille de cellule moyenne, qui représente la taille de cellule que l'on aurait dans le cas d'un réseau homogène, on peut évaluer l'impact des valeurs extrêmes sur le réseau de prélèvement. Les polygones de Thiessen de l'ensemble de données de 467 points sont illustrés à la figure 6.



Figure 6. Polygones de Thiessen des 467 points d'échantillonnage.

Figure 7. Histogramme de fréquence des surfaces des polygones de Thiessen illustrés à la figure 6.

L'histogramme des fréquences des surfaces de ces polygones (figure 7) montre une distribution asymétrique : alors que la taille idéale des cellules, c'est-à-dire la surface totale divisée par le nombre d'échantillons, a une surface de 88,13 km 2 , on peut observer peu de polygones ayant des zones extrêmement vastes et de nombreux petits polygones mettant en évidence la présence de données groupées.
Deux inconvénients apparaissent lors de l'application d'une telle méthode. La première est due au fait que les frontières des polygones sont fréquemment définies par une enveloppe convexe qui est construite sur la base des points extérieurs. Si une telle approche est acceptable si l'on ne travaille que dans les limites géographiques définies par le réseau d'échantillonnage, un biais peut être introduit lorsque la forme de la région analysée ne correspond pas à l'enveloppe convexe. Les systèmes d'information géographique (SIG) facilitent l'utilisation d'informations supplémentaires qui pourraient mieux définir les limites de la région d'intérêt. Pour l'étude de cas présentée ici, le réseau d'échantillonnage devrait fournir des informations pour toute la surface de la Suisse. La reconstruction des polygones de Thiessen à l'aide des frontières du pays fera apparaître une nouvelle carte illustrée à la figure 8.


Figure 8. Polygones de Thiessen/Voronoi des 467 points d'échantillonnage et frontières des pays.
Figure 9. Comparaison des surfaces des polygones de Thiessen/Voronoi générés avec et sans frontières nationales.

Les différences entre les surfaces des polygones de Thiessen des deux cartes (Figures 6 et 8) sont illustrées à la Figure 9. L'utilisation des frontières nationales a clairement réduit l'impact des très grands polygones trouvés dans le Sud du pays.
Un deuxième problème lié à l'utilisation d'une telle approche est que les points peuvent être regroupés et avoir encore des polygones de Thiessen relativement grands, comme le montre la figure 10.


Figure 10. Les grands polygones de Thiessen ne garantissent pas que les points sont isolés.

  • un terme appelé UNE qui tiendra compte de la surface du polygone de Thiessen. Il est égal au rapport de la surface du polygone de Thiessen (SE) à la surface idéale qu'il devrait avoir pour obtenir un réseau de surveillance homogène. Cette surface est simplement définie comme la surface moyenne (Sm), c'est-à-dire la superficie totale de la zone étudiée STotal, divisé par le nombre de points d'échantillonnage N. UNE est donc défini par
  • le deuxième terme, B, est égal au rapport de la distance au carré entre un point et son plus proche voisin (NNdist) à la surface moyenne des polygones de Thiessen.
    Le choix du carré de la distance est basé sur la volonté de comparer la structure d'un réseau de surveillance à une référence, qui est ici une grille régulière où des points sont répartis au milieu de chaque cellule de la grille. Pour faciliter le calcul, la grille carrée régulière a été conservée comme référence et dans ce cas, NNdist 2 = SE et B = 1. Si le point est plus proche d'un point voisin, alors B < 1 et dans le cas où le point est plus éloigné que la distance théorique, alors B > 1.

Les propriétés du RC sont résumés dans le tableau 3.

L'échantillon est proche d'un point voisin (cluster) :

Parce qu'un RC peut être attribué à n'importe quel point d'échantillonnage, on peut créer des cartes de RC cela devrait aider à identifier les données groupées ainsi que les régions où peu de données sont disponibles. À des fins de cartographie, on pourrait utiliser le logarithme de RC,

à la place du RC de sorte que la RC < 1 devient négatif. La figure 11 affiche les valeurs prises par log10(RC) pour les points d'échantillonnage 467 (en haut) et 167 (en bas). Les points isolés ainsi que ceux regroupés sont mis en évidence, respectivement par log10 (RC) > 0 et un journal10 (RC) < 0.

Figure 11. Niveaux de journal10(CR) pour 467 (en haut) et 167 (en bas) points d'échantillonnage.

CVLes valeurs supérieures à 1 indiquent la présence de valeurs erratiques élevées qui soulignent l'irrégularité du réseau d'échantillonnage. Le CV pour l'ensemble de données de 467 points est inférieur à celui de 167 points d'échantillonnage et montre donc une amélioration de la distribution spatiale des points d'échantillonnage même si des grappes sont toujours présentes (la valeur moyenne de la RC est < 1). La méthode proposée présente cependant une limite. Points pour lesquels le RC = 1 (ou journal10RC = 0) ne peut pas être automatiquement classé dans la classe des points situés au milieu des polygones de Thiessen dont la surface est égale à la surface moyenne attendue. Une mesure située dans un grand polygone mais proche d'un autre point peut en effet avoir une RC = 1.
Si la RC ne peut pas être utilisé directement pour pondérer les échantillons avant un dégroupage à cause du problème de contagion, c'est-à-dire que deux points très proches l'un de l'autre auront un faible RC, on peut toujours se servir des CR obtenus pour chaque point pour un problème de désagrégation. Le point qui a le plus bas RC peut être moyenné à son voisin le plus proche et un nouveau réseau d'échantillonnage est obtenu. En procédant ainsi et après plusieurs itérations, le RC du réseau tendra vers 1. Un inconvénient est qu'un tel processus peut prendre du temps puisque la construction des polygones doit être répétée après chaque itération. De plus, l'utilisation de frontières qui ont une forme géométrique complexe peut nécessiter de la part de l'utilisateur de vérifier à quels polygones correspond un seul point puisqu'un même polygone peut être divisé en plusieurs morceaux lorsqu'on le "découpe" avec les frontières. La tentative de convertir un réseau d'échantillonnage irrégulier en un réseau plus régulier est similaire aux techniques de triangulation qui remplissent les trous avec des points jusqu'à ce que tous les triangles aient la même taille (Kanevsky et Savelieva, 1995). La principale différence vient de la moyenne des données qui réduira systématiquement la quantité d'informations tout en préservant la plus importante alors que la méthode de triangulation nécessite l'échantillonnage de nouveaux emplacements.

7. Conclusions
« Tous les échantillons sont égaux mais certains sont plus égaux que d'autres. ». Les points isolés demandent plus d'attention que les données agrégées même si ces dernières sont essentielles pour l'analyse des variations micro-échelles du phénomène étudié. Le Coefficient de Représentativité devrait aider les décideurs à améliorer les campagnes d'échantillonnage en identifiant les zones sous-échantillonnées ainsi que pour le dégroupage des données afin d'obtenir des statistiques représentatives du phénomène analysé. On peut affirmer que l'utilisation d'une seule valeur pour décrire la complexité du réseau d'échantillonnage est en quelque sorte limitative. Il permet cependant la comparaison de différentes stratégies d'échantillonnage au sein d'une région définie. Le RC bénéficie des informations fournies non seulement par les NNI et les surfaces des polygones de Thiessen, mais aussi par les limites de la région d'intérêt qui influence clairement la structure spatiale d'un réseau de surveillance. Utilisé en combinaison avec des semi-variogrammes, il devrait également fournir une information intéressante sur l'impact de chaque échantillon lors d'un problème d'estimation.

Les références
Burgess, T.M., R. Webster et A.B. McBratney (1981). Interpolation optimale et cartographie isarithmique des propriétés du sol. IV. Stratégie d'échantillonnage. Journal des sciences du sol, 32: 643-659.
Burrough, P.A. (1991). Plans d'échantillonnage pour quantifier la composition des unités cartographiques. Dans Variabilités spatiales des sols et des reliefs, Soil Science Society of America, SSSA Publication spéciale no. 28, pages 89-125.
Clark, P.J. et F.C. Evans (1954). Distance au voisin le plus proche comme mesure des relations spatiales dans les populations. Écologie, 35: 445-453.
Cressie, N. (1993). Statistiques pour les données spatiales. John Wiley & Sons Inc., édition révisée, 900 p.
Doswell III C. A. et S. Lasher-Trapp (1997). Sur la mesure du degré d'irrégularité dans un réseau d'observation. Journal of Atmospheric and Oceanic Technology, 14: 120-132.
Isaaks E.H. et Srivastava R.M. (1989). Introduction à la géostatistique appliquée. Presses de l'Université d'Oxford.
Kanevsky M. et Savelieva E. (1995). Réseaux de surveillance environnementale et description quantitative du clustering. Dans: Actes de la conférence annuelle de l'Association internationale de géologie mathématique, IAMG, Osaka, Japon. p. 31-32.
Lovejoy S., D. Schertzer et P. Ladoy (1986). Caractérisation fractale de réseaux de mesures géophysiques inhomogènes. La nature, 319: 43-44.
Mandelbrot, B.B. (1982). La géométrie fractale de la nature. W.H. Freeman.
Matheron G. (1963). Principes de géostatistique. Géologie économique, 58: 1246-1266
McBratney, A. B., R. Webster et T. M. Burgess (1981). La conception de schémas d'échantillonnage optimaux pour l'estimation locale et la cartographie des variables rationnalisées. I. Théorie et méthode. Informatique et géosciences 7(4): 331-334.
Morisita, M. (1959). Mesure de la dispersion et analyse des schémas de distribution. Mémoires de la Faculté des Sciences, Université de Kyushu, Série E. Biologie. 2: 215-235.
Okabe A., B. Boots & amp K. Sugihara (1992). Tessellations spatiales. Concept et applications des diagrammes de Voronoï. Wiley et fils.
Oliver M.A. et Webster R. (1986). Combinaison d'échantillonnages emboîtés et linéaires pour déterminer l'échelle et la forme de variation spatiale des variables régionalisées. Analyse géographique, 18(3): 227-242.
Tessier Y., S. Lovejoy et D. Schertzer (1994). Analyse multifractale et simulation du réseau météorologique mondial. Journal de météorologie appliquée, 33: 1572-1586.
Thiessen, A. H. (1911). Précipitations moyennes pour les grandes zones. Revue météorologique mensuelle, 39: 1082-1084.
JGIDA vol. 4, non. 1
Accueil JGIDA


Comment vérifier si un polygone contient un autre polygone dans OL3 ? - Systèmes d'information géographique

Le service Web Geomark vous permet de partager des zones géographiques d'intérêt sur le Web dans une variété de formats et de systèmes de coordonnées.

Cliquez ici pour obtenir des informations complètes sur le service.

Voici un exemple de géomarque montrant toute la province.

Voici un exemple de géomarque de l'ensemble de la province représentée comme un groupe de zones plus petites.

Exemple commercial général - un demandeur/utilisateur a créé un domaine d'intérêt qui doit être partagé avec une partie qui ne prend pas en charge ce format de fichier ou système de coordonnées. Cette option permet de télécharger le fichier et de le convertir en géomarque afin que le destinataire puisse le télécharger dans un format compatible avec son logiciel informatique.

Cette option permet à l'utilisateur de télécharger une forme ou un autre format de fichier dans le formulaire « Créer une géomarque à partir d'un fichier » et de le convertir en géomarque. Il existe sept formats de fichiers différents qui peuvent être téléchargés et convertis en géomarque.

Cliquez ici pour accéder au tutoriel.

Exemple commercial général - n'utilisez cette option que si votre version de Google Earth est 4.9 ou inférieure.

Utilisez ce formulaire pour Construire une nouvelle géomarque à partir de KML que vous avez copiée dans le presse-papiers. L'utilisation du presse-papiers n'est nécessaire que si Google Earth v4.3 ou une version antérieure est installé sur votre ordinateur, car Create Geomark from Google Earth ne fonctionne pas avec ces premières versions.

Cliquez ici pour accéder au tutoriel.

Exemple commercial général - une petite entreprise forestière a créé plusieurs blocs de coupe de géomarques à l'aide du service Web de géomarques et souhaite les soumettre en tant que groupe dans une soumission à une autre partie.

Cette option permet à l'utilisateur de créer une géomarque à partir de plusieurs géomarques d'origine en collant les URL de plusieurs géomarques dans le bloc d'adresse, puis en sélectionnant « Créer une géomarque ». La géomarque nouvellement créée sera unique.

Cliquez ici pour accéder au tutoriel.

Cliquez ici pour ouvrir un document Google Earth qui permet de créer une géomarque en copiant la forme (KML) dessinée dans Google Earth et en la collant dans le formulaire.


XML et ingénierie des données

Peter Aiken , David Allen , dans XML in Data Management , 2004

Mesurer les tâches d'ingénierie des données

Nous avons discuté du fait que le meilleur scénario pourrait être un attribut par minute en termes de mappage de données. D'après des informations anecdotiques dans l'industrie, cependant, il semble qu'une estimation plus réaliste serait de 3 à 5 heures par attribut en moyenne. De toute évidence, certains attributs prendront plus de temps que d'autres, car certaines structures de données sont plus fortement modifiées dans les nouveaux systèmes. Lors de l'estimation du temps qu'il faudra pour travailler avec un attribut, un certain nombre de choses doivent être prises en considération :

Quel type de données se trouve dans l'attribut et comment ces données changent-elles dans le nouveau système ?

Quelles normes de codage sont utilisées et changent-elles ? Par exemple, dans de nombreux systèmes, un code à 1 caractère peut avoir un alphabet de possibilités, chacune ayant une signification de haut niveau différente pour la façon dont cet enregistrement est traité ou compris dans le contexte du système.

Comment cet attribut correspond-il à d'autres attributs dans d'autres structures ? D'un point de vue relationnel, cet attribut est-il une clé primaire ou étrangère ? Si oui, comment cela change-t-il les exigences de ce qui peut être autorisé dans l'attribut ? L'attribut a-t-il les mêmes restrictions dans l'ancien système, et sinon, comment réconcilier ces différences ?

Compte tenu des informations de profilage sur l'attribut (le nombre d'occurrences distinctes, le nombre total d'enregistrements, etc.), ces informations changent-elles au fur et à mesure que l'attribut est migré ? Si tel est le cas, comment cela affecte-t-il les performances, la normalisation et comment cela interagit-il avec d'autres attributs ?

Tous ces facteurs et une foule d'autres entrent dans les estimations du temps réel qu'il faudrait pour migrer un attribut particulier. À mesure que la complexité des systèmes hérités et cibles augmente, le nombre d'attributs a tendance à augmenter, et les implications de ces problèmes ont également tendance à augmenter.

Il devient plus facile de comprendre pourquoi la moyenne est plus proche de 3 à 5 heures par attribut, plutôt que de 1 minute par attribut. Les effets de la nouvelle estimation sur la durée globale du projet sont profonds. Si les gestionnaires de données conservent mais tempèrent leur optimisme et estiment que pour un projet de migration de systèmes particulier, chaque attribut prendra 1 heure, l'estimation passe à environ 1 décennie de travail par personne. Cela pourrait être faisable en 1 an de travail pour 10 personnes, mais ne pourrait probablement pas être accompli par 120 personnes en 1 mois, même s'il n'y avait pas le fardeau énorme de former et de coordonner autant de personnes. *

Avec ces estimations à l'esprit, il devient assez clair pourquoi réussir ces efforts du premier coup devient critique. Si le mappage est effectué de manière incorrecte ou qu'une partie des données ne peut pas être migrée en raison d'une erreur de compréhension des attributs mappés, il y a de fortes chances que des coûts et des efforts supplémentaires substantiels soient nécessaires pour réparer les dommages. En règle générale, les conséquences de l'attribution des mauvais rôles au projet sont des dépassements de budget et de temps importants, associés à des fonctionnalités inférieures aux attentes. Garder ces idées à l'esprit nous permet de tirer le meilleur parti des efforts XML liés à ces projets.


Les menus

Certaines des fonctions de Google Earth peuvent être accomplies via la barre de menu en haut de l'interface.

Le Fichier le menu propose des options qui traitent de l'ouverture et de l'enregistrement des fichiers

Google Earth pour le Web (disponible pour Chrome, Firefox, Edge, Opera)

Google Earth pour le Web est une version de Google Earth basée sur un navigateur qui permet une visualisation rapide des fichiers kml et kmz sur une carte. Sa facilité d'utilisation est bénéfique, mais il présente certaines limites, telles que la difficulté de créer des fichiers kmz et l'incapacité de calculer la surface des polygones, de produire des profils d'altitude, des animations et bien d'autres.

Si l'on a des difficultés à charger Google Earth pour le Web, il est recommandé de modifier les paramètres de votre navigateur afin que l'accélération matérielle soit activée.

Google Earth pour le Web peut être utilisé pour rechercher des emplacements, afficher des visites à partir du Voyager, charger des fichiers kml et kmz et mesurer la distance.

Pour importer des fichiers kml dans Google Earth pour le Web, les paramètres doivent d'abord être modifiés pour activer l'importation de fichiers kml.


Voir la vidéo: Angles des polygones réguliers