[mapserver-commits] r8199 - in trunk/docs: . mapfile mapfile/symbology optimization

svn at osgeo.org svn at osgeo.org
Sun Dec 7 12:36:10 EST 2008


Author: hobu
Date: 2008-12-07 12:36:10 -0500 (Sun, 07 Dec 2008)
New Revision: 8199

Added:
   trunk/docs/glossary.txt
Modified:
   trunk/docs/mapfile/class.txt
   trunk/docs/mapfile/expressions.txt
   trunk/docs/mapfile/layer.txt
   trunk/docs/mapfile/symbology/construction.txt
   trunk/docs/optimization/mapfile.txt
   trunk/docs/optimization/vector.txt
Log:
add some glossary and indexing and internal referencing

Added: trunk/docs/glossary.txt
===================================================================
--- trunk/docs/glossary.txt	                        (rev 0)
+++ trunk/docs/glossary.txt	2008-12-07 17:36:10 UTC (rev 8199)
@@ -0,0 +1,63 @@
+.. glossary::
+
+    CGI
+        Wikipedia provides excellent coverage of 
+        `CGI <http://en.wikipedia.org/wiki/Common_Gateway_Interface>`_.
+    
+    EPSG
+        EPSG codes are numeric codes associated with coordinate system
+        definitions. For instance, EPSG:4326 is geographic WGS84, and
+        EPSG:32611 is "UTM zone 11 North, WGS84". The WMS protocol uses EPSG
+        codes to describe coordinate systems. EPSG codes are published by the
+        `OGP Surveying and Positioning Committee <http://www.epsg.org/>`_. A
+        list of PROJ.4 definitions corresponding to the EPSG codes can be
+        found in the file /usr/local/share/proj/epsg. See
+        http://spatialreference.org for a listing of spatial references and an
+        interface to search for spatial references.
+    
+    GDAL
+        GDAL (Geospatial Data Abstraction Library) is a multi-format raster
+        reading and writing library. It is used as the primary mechanism for
+        reading raster data in MapServer. It is hosted at http://www.gdal.org/
+    
+    Map Scale
+        A treatise of mapping scale can be found on 
+        `about.com <http://geography.about.com/cs/maps/a/mapscale.htm>`_.
+    
+    Mapfile
+        :ref:`Mapfile <mapfile>` is the declarative language that MapServer
+        uses to define data connections, map styling, templating, and server
+        directives. Its format is xml-like and hierarchical, with closing
+        ``END`` tags, but the format is not xml.
+    
+    Mercator
+        Wikipedia provides excellent coverage of the 
+        `Mercator projection <http://en.wikipedia.org/wiki/Mercator_projection>`_.
+
+    OGC
+        The `Open Geospatial Consortium <http://www.opengeospatial.org>`_ is a
+        standards organization body in the GIS domain. Many of its web
+        standards are implemented in MapServer.
+        
+    Proj.4
+        Proj4 is a library for projecting map data.  It is used by MapServer
+        and GDAL and a multitude of other Open Source GIS libraries.  It is
+        located at http://trac.osgeo.org/proj/.
+        
+    Projection
+        A map projection is a mathematical transformation of the surface of a
+        sphere (3D) onto a 2D plane. Due to the laws of the universe, each
+        type of projection must make tradeoffs on how and what features it
+        distorts.
+    
+    Raster
+        A raster is a rectangular grid of pixels. Essentially an image.
+        Rasters are supported in MapServer with a layer type of RASTER, and a
+        variety of formats are supported including GeoTIFF, JPEG, and PNG.
+    
+    Shapefile
+        Shapefiles are simple GIS vector files containing points, lines or
+        areas. The format was designed and published by ESRI and is widely
+        supported in the GIS world. It is effectively the native and highest
+        performance format for MapServer. See `Wikipedia
+        <http://en.wikipedia.org/wiki/Shapefile>`_ for more information.
\ No newline at end of file


Property changes on: trunk/docs/glossary.txt
___________________________________________________________________
Name: svn:keywords
   + Id Rev Date Author

Modified: trunk/docs/mapfile/class.txt
===================================================================
--- trunk/docs/mapfile/class.txt	2008-12-06 18:52:34 UTC (rev 8198)
+++ trunk/docs/mapfile/class.txt	2008-12-07 17:36:10 UTC (rev 8199)
@@ -10,12 +10,22 @@
 COLOR [r] [g] [b]
     Color to use for drawing features.
 
+.. index::
+    pair: DEBUG; CLASS
+    
 DEBUG [on|off]
     Enables debugging of the class object. Verbose output is generated and sent 
     to the standard error output (STDERR) or the MapServer logfile if one is 
-    set using the LOG parameter in the :ref:`WEB` object.
+    set using the LOG parameter in the :ref:`WEB` object.  
     
-EXPRESSION [string]
+    .. seealso::
+        
+        :ref:`rfc28`
+
+.. index::
+    pair: EXPRESSION; CLASS
+    
+:ref:`EXPRESSION <expressions>` [string]
     Four types of expressions are now supported to define class membership. 
     String comparisons, regular expressions, simple logical expressions, and 
     string functions. If no expression is given, then all features are said 
@@ -51,6 +61,9 @@
       at the layer level. You may mix expression types within the different 
       classes of a layer.
 
+.. index::
+    pair: GROUP; CLASS
+    
 GROUP [string]
     Allows for grouping of classes. It is only used when a CLASSGROUP at the
     :ref:`LAYER` level is set. If the CLASSGROUP parameter is set, only classes that
@@ -81,77 +94,99 @@
         ...
       END # layer
 
-    
+
+.. index::
+    pair: KEYIMAGE; CLASS
+     
 KEYIMAGE [filename]
-    Full filename of the legend image for the :ref:`CLASS`. This image is used when 
-    building a legend (or requesting a legend icon via MapScript or the CGI 
-    application).
+    Full filename of the legend image for the :ref:`CLASS`. This image is used
+    when building a legend (or requesting a legend icon via MapScript or the
+    :ref:`CGI application <cgi>`).
     
-LABEL
+:ref:`LABEL`
     Signals the start of a :ref:`LABEL` object.
+
+.. index::
+    pair: MAXSCALEDENOM; CLASS
     
 MAXSCALEDENOM [double]
-    Maximum scale at which this :ref:`CLASS` is drawn.  Scale is given as the
+    Maximum scale at which this :ref:`CLASS` is drawn. Scale is given as the
     denominator of the actual scale fraction, for example for a map at a scale
-    of 1:24,000 use 24000.  Implemented in MapServer 5.0, to replace the
-    deprecated MAXSCALE parameter.
+    of 1:24,000 use 24000. Implemented in MapServer 5.0, to replace the
+    deprecated MAXSCALE parameter. 
 
+    .. seealso::
+        
+        :term:`Map scale`
+
 MAXSCALE [double] - deprecated
     Since MapServer 5.0 the proper parameter to use is MAXSCALEDENOM instead.
     The deprecated MAXSCALE is the maximum scale at which this CLASS is drawn.
-    Scale is given as the denominator of the actual scale fraction, for example
-    for a map at a scale of 1:24,000 use 24000.
+    Scale is given as the denominator of the actual scale fraction, for
+    example for a map at a scale of 1:24,000 use 24000. 
     
 MAXSIZE [integer]
     Maximum size in pixels to draw a symbol. Default is 50.
+
+.. index::
+    pair: MINSCALEDENOM; CLASS
     
 MINSCALEDENOM [double]
     Minimum scale at which this :ref:`CLASS` is drawn.  Scale is given as the
     denominator of the actual scale fraction, for example for a map at a scale
     of 1:24,000 use 24000.  Implemented in MapServer 5.0, to replace the
-    deprecated MINSCALE parameter.
+    deprecated MINSCALE parameter. 
+    
+    .. seealso::
+        
+        :term:`Map scale`
 
 MINSCALE [double] - deprecated
-    Since MapServer 5.0 the proper parameter to use is MINSCALEDENOM
-    instead.  The deprecated MINSCALE is the minimum scale at which this CLASS
-    is drawn.  Scale is given as the denominator of the actual scale fraction,
-    for example for a map at a scale of 1:24,000 use 24000.
+    Since MapServer 5.0 the proper parameter to use is MINSCALEDENOM instead.
+    The deprecated MINSCALE is the minimum scale at which this CLASS is drawn.
+    Scale is given as the denominator of the actual scale fraction, for
+    example for a map at a scale of 1:24,000 use 24000. 
     
 MINSIZE [integer]
     Minimum size in pixels to draw a symbol. Default is 0.
     
 NAME [string]
-    Name to use in legends for this class. If not set class won't show up in legend.
+    Name to use in legends for this class. If not set class won't show up in
+    legend.
     
 OUTLINECOLOR [r] [g] [b]
-    Color to use for outlining polygons and certain marker symbols. Line symbols 
-    do not support outline colors.
+    Color to use for outlining polygons and certain marker symbols. Line
+    symbols do not support outline colors.
     
 SIZE [integer]
-    Height, in pixels, of the symbol/pattern to be used. Only useful with scalable 
-    symbols. For vector (and ellipse) symbol types the default size is based on the 
-    range of Y values in the POINTS defining the symbol. For pixmaps, the default 
-    is the vertical size of the image. Default size is 1 for TTF symbols. 
+    Height, in pixels, of the symbol/pattern to be used. Only useful with
+    scalable symbols. For vector (and ellipse) symbol types the default size
+    is based on the range of Y values in the POINTS defining the symbol. For
+    pixmaps, the default is the vertical size of the image. Default size is 1
+    for TTF symbols.
     
 STATUS [on|off]
     Sets the current display status of the class.  Default turns the class on.
 
-STYLE
-    Signals the start of a :ref:`STYLE` object. A class can contain multiple styles.
+:ref:`STYLE`
+    Signals the start of a :ref:`STYLE` object. A class can contain multiple
+    styles.
 
-SYMBOL [integer|string|filename]
-    The symbol name or number to use for all features if attribute tables are 
-    not used. The number is the index of the symbol in the symbol file, starting 
-    at 1, the 5th symbol in the file is therefore symbol number 5. You can also 
-    give your symbols names using the NAME keyword in the symbol definition file, 
-    and use those to refer to them. Default is 0, which results in a single pixel, 
-    single width line, or solid polygon fill, depending on layer type.
+:ref:`SYMBOL` [integer|string|filename]
+    The symbol name or number to use for all features if attribute tables are
+    not used. The number is the index of the symbol in the symbol file,
+    starting at 1, the 5th symbol in the file is therefore symbol number 5.
+    You can also give your symbols names using the NAME keyword in the symbol
+    definition file, and use those to refer to them. Default is 0, which
+    results in a single pixel, single width line, or solid polygon fill,
+    depending on layer type.
 
-    You can also specify a gif or png filename. The path is relative to the location 
-    of the mapfile.
+    You can also specify a gif or png filename. The path is relative to the
+    location of the mapfile.
     
 TEMPLATE [filename]
-    Template file or URL to use in presenting query results to the user.
+    Template file or URL to use in presenting query results to the user.  See
+    :ref:`template` for more info.
     
 TEXT [string]
     Static text to label features in this class with. This overrides values obtained 
@@ -160,7 +195,8 @@
     label. For example: ([FIRSTNAME],[LASTNAME]).
 
 You can also "stack" 2 symbols to achieve interesting effects. You define the second 
-symbol, which effectively sits "on top" of the symbol normally defined above.
+symbol, which effectively sits "on top" of the symbol normally defined above.  
+See :ref:`sym_construction` for more information.
 
 The following parameters allow you to define the symbol, and they are equivalent 
 to their non-overlay counterparts:

Modified: trunk/docs/mapfile/expressions.txt
===================================================================
--- trunk/docs/mapfile/expressions.txt	2008-12-06 18:52:34 UTC (rev 8198)
+++ trunk/docs/mapfile/expressions.txt	2008-12-07 17:36:10 UTC (rev 8199)
@@ -19,9 +19,10 @@
 Introduction
 -------------------------------------------------------------------------------
 
-As of version 4.6.1, expressions are used in two places. They're used to filter 
-layers for specific records in the dataset and they're used in :ref:`CLASS` EXPRESSIONS 
-to specify to which items this :ref:`CLASS` does apply to.
+As of version 4.6.1, expressions are used in two places. They're used to
+filter layers for specific records in the dataset and they're used in
+:ref:`CLASS` :ref:`EXPRESSIONs <expressions>` to specify to which items this
+:ref:`CLASS` does apply to.
 
 Expression Types
 -------------------------------------------------------------------------------
@@ -41,9 +42,12 @@
 if they are equal to some value. String comparison are the simplest form of 
 MapServer expressions and the fastest option.
 
+.. index::
+    pair: EXPRESSION; CLASSITEM
+    
 To use a string comparison for filtering a :ref:`LAYER`, both FILTERITEM and FILTER 
 must be set. FILTERITEM is set to the attribute name. FILTER is set to the 
-value for comparison. The same rule applies to CLASSITEM and EXPRESSION 
+value for comparison. The same rule applies to :ref:`CLASSITEM <classitem>` and EXPRESSION 
 in the :ref:`CLASS` object.
 
 Example for a simple string comparison filter

Modified: trunk/docs/mapfile/layer.txt
===================================================================
--- trunk/docs/mapfile/layer.txt	2008-12-06 18:52:34 UTC (rev 8198)
+++ trunk/docs/mapfile/layer.txt	2008-12-07 17:36:10 UTC (rev 8199)
@@ -7,6 +7,11 @@
 CLASS
     Signals the start of a :ref:`CLASS` object.
 
+.. index::
+    single: CLASSITEM
+    
+.. _CLASSITEM:
+
 CLASSITEM [attribute]
     Item name in attribute table to use for class lookups.
 
@@ -50,7 +55,10 @@
     MapServer's FILTER_ whenever possible instead. You can also see the SQL 
     submitted by forcing an error, for instance by submitting a DATA parameter 
     you know won't work, using for example a bad column name.
-    
+
+.. index::
+    pair: DEBUG; LAYER
+     
 DEBUG [off|on|0|1|2|3|4|5]
     Enables debugging of a layer in the current map. 
 
@@ -184,6 +192,8 @@
     instead.  The deprecated LABELMAXSCALE is the maximum scale at which this
     LAYER is labeled.  Scale is given as the denominator of the actual scale
     fraction, for example for a map at a scale of 1:24,000 use 24000.
+    
+    .. deprecated:: 5.0
 
 LABELMINSCALEDENOM [double]
     Minimum scale at which this LAYER is labeled.  Scale is given as the
@@ -197,6 +207,8 @@
     LAYER is labeled.  Scale is given as the denominator of the actual scale
     fraction, for example for a map at a scale of 1:24,000 use 24000.
 
+    .. deprecated:: 5.0
+
 .. _LABELREQUIRES:
 
 LABELREQUIRES [expression]
@@ -235,6 +247,8 @@
     Scale is given as the denominator of the actual scale fraction, for example
     for a map at a scale of 1:24,000 use 24000.
 
+    .. deprecated:: 5.0
+
 METADATA
     This keyword allows for arbitrary data to be stored as name value pairs. 
     This is used with OGC WMS to define things such as layer title. It can 
@@ -262,6 +276,8 @@
     is drawn.  Scale is given as the denominator of the actual scale fraction,
     for example for a map at a scale of 1:24,000 use 24000.
 
+    .. deprecated:: 5.0
+
 NAME [string]
     Short name for this layer. Limit is 20 characters. This name is the link 
     between the mapfile and web interfaces that refer to this name. They must 
@@ -314,7 +330,7 @@
 
         PROCESSING "CLOSE_CONNECTION=DEFER" 
 
-PROJECTION
+:ref:`PROJECTION`
     Signals the start of a :ref:`PROJECTION` object.
 
 REQUIRES [expression]
@@ -332,9 +348,12 @@
 
     Some notes regarding the STATUS values:
 
-    - In CGI mode, layers with STATUS DEFAULT cannot be turned off using normal mechanisms. It is recommended to set layers to STATUS DEFAULT while debugging a problem, but set them back to ON/OFF in normal use. 
+    - In CGI mode, layers with STATUS DEFAULT cannot be turned off using
+      normal mechanisms. It is recommended to set layers to STATUS DEFAULT
+      while debugging a problem, but set them back to ON/OFF in normal use.
 
-    - For WMS, layers in the server mapfile with STATUS DEFAULT are always sent to the client. 
+    - For WMS, layers in the server mapfile with STATUS DEFAULT are always
+      sent to the client.
 
 
 STYLEITEM [attribute]
@@ -359,10 +378,10 @@
     as described above.  Scale is given as the denominator of the actual scale
     fraction, for example for a map at a scale of 1:24,000 use 24000.
 
-.. _TEMPLATE:
+    .. deprecated:: 5.0
 
-TEMPLATE [file|url]
-    Used as a global alternative to CLASS TEMPLATE_.
+:ref:`TEMPLATE <template>` [file|url]
+    Used as a global alternative to CLASS TEMPLATE.
 
 TILEINDEX [filename|layername]
     Name of the tileindex file or layer.  A tileindex is similar to 
@@ -412,6 +431,8 @@
     only when necessary as it is expensive to render transparent pixmap 
     symbols onto an RGB map image.
 
+    .. deprecated:: 5.0
+
 TRANSFORM [true|false ul|uc|ur|lc|cc|lr|ll|lc|lr]
     Tells MapServer whether or not a particular layer needs to be transformed 
     from some coordinate system to image coordinates. Default is true. This 

Modified: trunk/docs/mapfile/symbology/construction.txt
===================================================================
--- trunk/docs/mapfile/symbology/construction.txt	2008-12-06 18:52:34 UTC (rev 8198)
+++ trunk/docs/mapfile/symbology/construction.txt	2008-12-07 17:36:10 UTC (rev 8199)
@@ -16,6 +16,9 @@
     :depth: 2
     :backlinks: top
 
+.. index:
+    single: Symbol Construction;
+
 Abstract
 ========
 

Modified: trunk/docs/optimization/mapfile.txt
===================================================================
--- trunk/docs/optimization/mapfile.txt	2008-12-06 18:52:34 UTC (rev 8198)
+++ trunk/docs/optimization/mapfile.txt	2008-12-07 17:36:10 UTC (rev 8199)
@@ -17,12 +17,22 @@
 Introduction
 ------------
 
-The contents of a Map File are used by MapServer for configuration, data access, projection, and more.  Because the Map File is parsed every time a map image is requested, it is important to think about what you include in the file in order to optimize performance.  The optimal Map File is one that doesn't include or reference anything that isn't needed.
+The contents of a Map File are used by MapServer for configuration, data
+access, projection, and more. Because the Map File is parsed every time a map
+image is requested, it is important to think about what you include in the
+file in order to optimize performance. The optimal Map File is one that
+doesn't include or reference anything that isn't needed.
 
 1. Projections
 ==============
 
-There are two ways to define projections in a Map File.  You can either use inline projection parameters or specify an EPSG code for that projection.  If you use the EPSG code method, Proj4 looks up the projection parameters in the Proj4 database using the EPSG code as an ID.  This database lookup takes significantly more resources than when the projection parameters are defined inline.  This lookup takes place for each projection definition using EPSG codes in a Map File.       
+There are two ways to define projections in a Map File. You can either use
+inline projection parameters or specify an EPSG code for that projection. If
+you use the :term:`EPSG` code method, :term:`Proj.4` looks up the projection
+parameters in the Proj4 database using the EPSG code as an ID. This database
+lookup takes significantly more resources than when the projection parameters
+are defined inline. This lookup takes place for each projection definition
+using EPSG codes in a Map File.
 
 **Projection defined using inline projection parameters**
 
@@ -50,27 +60,49 @@
 
 - Use inline projection parameter definitions in place of EPSG codes.
 
-- If you want to use EPSG codes, remove all unneeded projection definition records from the Proj4 database.  
+- If you want to use EPSG codes, remove all unneeded projection definition
+  records from the Proj.4 :term:`EPSG` database.
 
 
 2. Layers
 ==============
 
-For every layer in a Map File that has a status of ON or DEFAULT, MapServer will load that layer and prepare it for display, even if that layer never gets displayed.
+For every layer in a Map File that has a status of ON or DEFAULT, MapServer
+will load that layer and prepare it for display, even if that layer never gets
+displayed.
 
 **Optimization Suggestions**
 
 - Build lean Map Files, only include layers that you plan to use.  
 
-- Turn off unnecessary layers; the more layers Mapserver is displaying, the more time it takes. Have your opening map view show only the minimum necessary to orient the user, and allow them to turn on additional layers as needed. This is particularly true of remote WMS or very large rasters.  
+- Turn off unnecessary layers; the more layers Mapserver is displaying, the
+  more time it takes. Have your opening map view show only the minimum
+  necessary to orient the user, and allow them to turn on additional layers as
+  needed. This is particularly true of remote WMS or very large rasters.
 
-- Related to turning off layers, is turning them on but using MINSCALE and MAXSCALE to determine at what zoomlevels the layer is available. If a map's display is outside of the layer's MINSCALE and MAXSCALE range, then Mapserver can skip processing that layer. It also makes for a really cool effect, that the national boundaries magically change to state boundaries.
+- Related to turning off layers, is turning them on but using MINSCALEDENOM
+  and MAXSCALEDENOM to determine at what zoomlevels the layer is available. If
+  a map's display is outside of the layer's MINSCALEDENOM and MAXSCALEDENOM
+  range, then Mapserver can skip processing that layer. It also makes for a
+  really cool effect, that the national boundaries magically change to state
+  boundaries.
 
-- If you have a complex application, consider using multiple simple and specific Map Files in place of one large 'do everything' Map File.  
+- If you have a complex application, consider using multiple simple and
+  specific Map Files in place of one large 'do everything' Map File.
 
-- In a similar vein, each class also supports MINSCALE and MAXSCALE. If your dataset has data that are relevant at different zoomlevels, then you may find this a very handy trick. For example, give a MINSCALE of 1:1000000, county roads a MINSCALE of 1:100000, and streets a MAXSCALE of 1:50000. You get the cool effect of new data magically appearing, but you don't have Mapserver trying to draw the nation's roads when the entire nation is in view!  
+- In a similar vein, each class also supports MINSCALEDENOM and MAXSCALEDENOM.
+  If your dataset has data that are relevant at different zoomlevels, then you
+  may find this a very handy trick. For example, give a MINSCALEDENOM of
+  1:1000000, county roads a MINSCALEDENOM of 1:100000, and streets a
+  MAXSCALEDENOM of 1:50000. You get the cool effect of new data magically
+  appearing, but you don't have Mapserver trying to draw the nation's roads
+  when the entire nation is in view!
 
-- Classes are processed in order, and a feature is assigned to the first class that matches. So try placing the most commonly-used classes at the top of the class list, so Mapserver doesn't have to try as many classes before finding a match. For example, if you wanted to highlight the single state of Wyoming, you would probably do this: 
+- Classes are processed in order, and a feature is assigned to the first class
+  that matches. So try placing the most commonly-used classes at the top of
+  the class list, so Mapserver doesn't have to try as many classes before
+  finding a match. For example, if you wanted to highlight the single state of
+  Wyoming, you would probably do this:
 
 ::
 
@@ -86,7 +118,8 @@
        END
     END
 
-But it would be a lot more efficient to do this, since 98% of cases will be matched on the first try:
+But it would be a lot more efficient to do this, since 98% of cases will be
+matched on the first try:
 
 ::
 
@@ -102,21 +135,26 @@
      END
    END
 
-- Use tile indexes instead of multiple layers. This is a somewhat complex issue, and is described in a section below.
+- Use :ref:`tile indexes <tileindex>` instead of multiple layers.
 
 3. Symbols
 ==============
 
-When the Map File is loaded, each raster symbol listed in the symbols file is located on the filesystem and loaded.  
+When the Map File is loaded, each raster symbol listed in the symbols file is
+located on the filesystem and loaded.
 
 **Optimization Suggestions**
 
-- Only include raster symbols in your symbols file if you know that they will be used by your application.
+- Only include raster symbols in your symbols file if you know that they will
+  be used by your application.
 
 4. Fonts
 ==============
 
-To load a font, MapServer opens up the fonts.list file which contains an alias for the font and the path for that font file.  If you have a fonts.list file with a long list of fonts, it will take more time for MapServer to locate and load the font that you need.  
+To load a font, MapServer opens up the fonts.list :ref:`fontset` file which
+contains an alias for the font and the path for that font file. If you have a
+fonts.list file with a long list of fonts, it will take more time for
+MapServer to locate and load the font that you need.
 
 **Optimization Suggestions**
 

Modified: trunk/docs/optimization/vector.txt
===================================================================
--- trunk/docs/optimization/vector.txt	2008-12-06 18:52:34 UTC (rev 8198)
+++ trunk/docs/optimization/vector.txt	2008-12-07 17:36:10 UTC (rev 8199)
@@ -16,6 +16,7 @@
 
 Splitting your data
 -------------------
+
 If you find yourself making several layers, all of them using the same dataset
 but filtering to only use some of the records, you could probably do it
 better. If the criteria are static, one approach is to pre-split the data.
@@ -27,21 +28,22 @@
 
 Shapefiles
 ----------
-Use *:ref:`shptree`* to generate a spatial index on your shapefile. This is quick and
-easy ("shptree foo.shp") and generates a .qix file. Mapserver will
+Use :ref:`shptree` to generate a spatial index on your shapefile. This is
+quick and easy ("shptree foo.shp") and generates a .qix file. Mapserver will
 automagically detect an index and use it.
 
 .. note:
 
     Tileindex shapefiles can be indexed with shptree.
 
-MapServer also comes with the *:ref:`sortshp`* utility. This reorganizes a shapefile,
-sorting it according to the values in one of its columns. If you're commonly
-filtering by criteria and it's almost always by a specific column, this can
-make the process slightly more efficient.
+MapServer also comes with the :ref:`sortshp` utility. This reorganizes a
+shapefile, sorting it according to the values in one of its columns. If you're
+commonly filtering by criteria and it's almost always by a specific column,
+this can make the process slightly more efficient.
 
-Although shapefiles are a very fast data format, PostGIS is pretty speedy as
-well, especially if you use indexes well and have memory to throw at caching.
+Although shapefiles are a very fast data format, :ref:`PostGIS
+<input_postgis>` is pretty speedy as well, especially if you use indexes well
+and have memory to throw at caching.
 
 PostGIS
 -------



More information about the mapserver-commits mailing list