Connaissance de vos données

Lorsque vous créez une solution point-in-polygon, il est important de comprendre comment vos données affecteront les performances et la sélection de l'opération Spectrum à utiliser, ainsi que certains des facteurs de limitation de vos données.

Où se trouvent vos données ? Il est important de savoir où se trouvent vos données et le type de données dont vous allez disposer pour votre solution. Par exemple, le fait d'avoir des fichiers TAB sur le système de fichiers ou des données dans un DBMS modifie les performances de votre opération. Spectrum délègue le traitement de certaines opérations (jointures spatiales) à la base de données (par exemple, Oracle et SQL Server), ce qui améliore vos performances. Par exemple, des opérations comme la suivante :

Select a.id, b.id from flood_plane a, customers b where MI_Contains(a.geom, b.geom)

Quel est le format de géométrie ? Il existe une différence de performances lors de l'utilisation d'un format de géométrie Native MapInfo et celle d'un fichier au format x/y (par exemple, un fichier CSV avec des valeurs de lat/long). Pour améliorer les performances, pensez à utiliser un format x/y au lieu de format de géométrie natif MapInfo.

Vos données sont-elles statiques ou changent-elles ? Si vous savez que (tout ou partie de) vos données ne changent pas et que vous utilisez l'opération Query Spatial Data, il existe une option de configuration lors de la création de vos ressources nommées qui peut considérablement améliorer les performances. Dans Spectrum, on l'appelle la volatilité. Par défaut, la volatilité de toutes les ressources est définie sur true. Cela signifie que Spectrum part du principe que toutes les données peuvent changer à tout moment et qu'il doit vérifier les données chaque fois qu'il y a accès, pour déterminer si elles ont changé et décider s'il est nécessaire de charger les nouvelles données.

Comment la volatilité affecte-t-elle les opérations point-in-polygon ? Si la volatilité est définie sur true, et même si la source de données n'a pas changé, le simple fait de vérifier la ressource a un impact négatif sur les performances. Si vous savez que vos données ne vont pas changer et que vous avez besoin d'un système performant, désactivez la volatilité. Si les performances sont un problème, et que vous savez qu'une partie de vos données vont changer (par exemple, des listes de clients ou des points de sondage), mais que d'autres ne vont pas changer (par exemple, des parcelles, des terrains ou des secteurs commerciaux), assurez-vous que la volatilité est désactivée sur autant de données statistiques que possible. Cela augmente les performances. Pour plus d'informations sur la volatilité et sur la façon de modifier ce paramètre pour les ressources, reportez-vous à la section Volatilité de la source de données.

Utilisez-vous des fichiers TAB ? Lorsque vous utilisez des fichiers TAB, vous avez la possibilité de conserver un pool de descripteurs de fichiers ouverts afin d'éviter les frais d'ouverture et de réouverture à chaque lecture de fichier. Spectrum Spatial utilise le pool de descripteurs de fichiers pour les fichiers TAB natifs dont le paramètre de volatilité est défini sur false. Les fichiers Native TAB incluent les fichiers Native Extended (NativeX) et Seamless TAB. Toutes les tables du référentiel Spectrum Spatial sont, par défaut, volatiles (true). La volatilité des fichiers Native TAB signifie que le schéma peut changer à tout moment. Pour tirer parti de cette amélioration des performances, définissez le paramètre de volatilité sur false dans Spatial Manager. En règle générale, la définition du paramètre de volatilité sur false est recommandée si les données sont modifiées uniquement à des périodes connues ou si elles ne le sont pas du tout. Pour plus d'informations sur le pool de descripteurs de fichiers des fichiers Native et Seamless TAB, consultez les rubriques MapInfo Native TAB et Seamless TAB de la section Ressources et données du Guide Spectrum Spatial.