shptree

Objectif

Créé un index spatial basé sur les quadrants pour un shapefile. La profondeur par défaut est calculé afin que chaque noeud de l’arbre (les cellules du quadrant) contienne 8 géométries. N’utilisez pas la valeur par défaut avec les points, une valeur entre 6 et 10 semble fonctionner. Vos valeurs peuvent être différentes et nécessitent quelques tests.

La page wiki shptree peut également contenir des informations sur cette commande.

Description

Cette commande est un must pour n’importe quelle application MapServer qui utilise des shapefiles. Shptree créé un index spatial de votre shapefile, en utilisant la méthode quadtree. Cela signifie que MapServer utilisera cet index pour trouver rapidement la géométrie appropriée. Il créé un fichier du même nom que votre shapefile avec une extension .qix. La méthode quadtree découpe le fichier en 4 parties (quadrant), récursivement jusqu’à ce que seules quelques géométries soient contenues dans chaque quadrant. Ce nombre minimal peut être défini avec le paramètre <depth> de la commande.

Syntaxe

shptree <shpfile> [<depth>] [<index_format>]
  Where:
  <shpfile> is the name of the .shp file to index.
  <depth>   (optional) is the maximum depth of the inde
       to create, default is 0 meaning that shptre
       will calculate a reasonable default depth.
  <index_format> (optional) is one of:
       NL: LSB byte order, using new index format
       NM: MSB byte order, using new index format
   The following old format options are deprecated
       N:  Native byte order
       L:  LSB (intel) byte order
       M:  MSB byte order
   The default index_format on this system is: NL

Exemple

shptree us_states.shp
  creating index of new  LSB format
Result

Un fichier nommé ‘us_states.qix’ a été créé au même endroit (notez que vous pouvez utiliser la commande shptreevis, décrite à la page suivante, pour visualiser les quadrants quadtree réels qui seront utilisés par MapServer dans ce fichier qix)

Remarques sur le Mapfile

Les shapefiles sont gérés en natif par MapServer et ne nécessitent pas l’extension .shp dans le chemin DATA de l’objet LAYER. En fait, vous NE DEVEZ PAS définir l’extension pour que MapServer utilise les fichiers .qix, par exemple:

LAYER
  ...
  DATA "us_states"    #MapServer will search for us_states.qix and will use it
  ...
END

LAYER
  ...
  DATA "us_states.shp" #MapServer will search for us_states.shp.qix and won't find it
  ...
END

Note

À partir de MapServer 5.2 le fichier qix sera utilisé même lorsque l’extension .shp est spécifiée.