Flux de traitement par lots Query Spatial Data

Cette procédure explique comment créer un sous-flux qui détermine si un polygone contient un ensemble de points via le stage Query Spatial Data. Cet exemple effectue des itérations sur des polygones (lecture d'un polygone à la fois à l'aide de Read Spatial Data et recherche sur la table de points à l'aide de Query Spatial Data (opération MI_Contains ou MI_Intersects)) lorsque vous avez plus de points que de polygones dans vos données.

Remarque : Pour plus d'informations sur l'utilisation d'Enterprise Designer, reportez-vous au Guide du Concepteur de flux de données ou à l'aide d'Enterprise Designer.

Pour créer le sous-flux de traitement Query Spatial Data par lots :

  1. Dans Enterprise Designer, sélectionnez Nouveau > Flux de données > Sous-flux depuis le menu Fichier, ou Nouveau > Sous-flux depuis le volet des tâches.
  2. De la palette, glissez un stage Read Spatial Data jusqu'au canevas de conception.
  3. Double-cliquez sur le stage Read Spatial Data pour afficher la boîte de dialogue Options. Dans l'onglet Général, saisissez votre expression MISQL pour lire les polygones. Dans l'exemple, une instruction select de base est illustrée : SELECT obj FROM "/PolygonTable" (où PolygonTable est la ressource de vos polygones dans le référentiel). Cliquez sur OK.
  4. De la palette, faites glisser le stage Query Spatial Data jusqu'au canevas de conception à droite du stage Read Spatial Data. Cliquez sur le triangle noir plein à droite du stage Read Spatial Data (le port de sortie) et glissez-le à gauche du stage Query Spatial Data pour créer un canal.
  5. Double-cliquez sur le stage Query Spatial Data pour afficher la boîte de dialogue Options. Créez l'instruction MISQL Contains dans la case de texte fournie, puis cliquez sur Vérifier.

    L'instruction MISQL doit lire votre table de points et déterminer si l'un des polygones contient ces points. Par exemple :

    SELECT * FROM "/PointTable" WHERE MI_Contains(${Obj}, obj)
  6. Cliquez sur le bouton Runtime... du stage Query Spatial Data et définissez-le sur le nombre de cœurs sur l'ordinateur. De même, la taille du pool de composants distants doit être définie sur la même valeur. Pour plus d'informations sur la définition de la taille de pool, reportez-vous à la section Réglage précis des performances.
  7. Glissez un récepteur Output jusqu'au canevas. Reliez le port de sortie du stage Query Spatial Data au port d'entrée du récepteur Output.
  8. Double-cliquez sur le récepteur Output et vérifiez le champ que vous souhaitez exposer. Cliquez sur OK.
  9. Enregistrez le sous-flux. Pour exposer le sous-flux à utiliser dans un flux de données, sélectionnez Fichier Exposer/Ne plus exposer et enregistrer ou cliquez sur le bouton Exposer/Ne plus exposer et enregistrer. Le sous-flux apparaît dans le dossier Stages définis par l'utilisateur.