[mapserver-commits] r8196 - in trunk/docs: development
development/editing howto optimization
svn at osgeo.org
svn at osgeo.org
Thu Dec 4 21:32:47 EST 2008
Author: hobu
Date: 2008-12-04 21:32:47 -0500 (Thu, 04 Dec 2008)
New Revision: 8196
Added:
trunk/docs/development/editing/
trunk/docs/development/editing/index.txt
trunk/docs/development/editing/map.vim
trunk/docs/development/editing/map_fold.vim
trunk/docs/development/editing/vim.txt
trunk/docs/optimization/tileindex.txt
Removed:
trunk/docs/howto/map.vim
trunk/docs/howto/map_fold.vim
trunk/docs/howto/tileindex.txt
trunk/docs/howto/vim.txt
Modified:
trunk/docs/development/index.txt
trunk/docs/optimization/index.txt
trunk/docs/optimization/mapfile.txt
trunk/docs/optimization/raster.txt
trunk/docs/optimization/vector.txt
Log:
move more stuff around
Added: trunk/docs/development/editing/index.txt
===================================================================
--- trunk/docs/development/editing/index.txt (rev 0)
+++ trunk/docs/development/editing/index.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -0,0 +1,11 @@
+.. _editing:
+
+*****************************************************************************
+ Mapfile Editing
+*****************************************************************************
+
+
+.. toctree::
+ :maxdepth: 1
+
+ vim
Copied: trunk/docs/development/editing/map.vim (from rev 8195, trunk/docs/howto/map.vim)
===================================================================
--- trunk/docs/development/editing/map.vim (rev 0)
+++ trunk/docs/development/editing/map.vim 2008-12-05 02:32:47 UTC (rev 8196)
@@ -0,0 +1,99 @@
+" Vim syntax file
+" Language: map (umn mapserver config file)
+" Maintainer: Andreas Hirner <andreas.hirner at dlr.de>
+" Last Change: $Date: 2004/05/25 19:19:37 $
+" Filenames: *.map
+" Note: The definitions below are taken from TextPad syntax definitions (*.syn) by Chris Thorne (thorne at dmsolutions.ca) as of May 2004, for version 4.0 Mapserver
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+
+" Always ignore case
+syn case ignore
+
+" General keywords first order
+syn keyword mapDefine CLASS END JOIN LABEL LAYER LEGEND MAP METADATA OUTPUTFORMAT
+syn keyword mapDefine PROJECTION QUERYMAP REFERENCE SCALEBAR STYLE SYMBOL WEB
+
+" General keywords second order
+syn keyword mapIdentifier ALPHACOLOR ANGLE ANTIALIAS
+syn keyword mapIdentifier BACKGROUNDCOLOR BACKGROUNDSHADOWCOLOR BACKGROUNDSHADOWSIZE BUFFER
+syn keyword mapIdentifier CHARACTER CLASSITEM COLOR CONNECTION CONNECTIONTYPE
+syn keyword mapIdentifier DATA DATAPATTERN DEBUG DRIVER DUMP
+syn keyword mapIdentifier EMPTY ERROR EXPRESSION EXTENSION EXTENT
+syn keyword mapIdentifier FEATURE FILLED FILTER FILTERITEM FONT FONTSET FOOTER FORCE FORMATOPTION FROM
+syn keyword mapIdentifier GAP GRATICULE GRID GROUP HEADER
+syn keyword mapIdentifier IMAGE IMAGECOLOR IMAGEMODE IMAGEPATH IMAGEQUALITY IMAGETYPE IMAGEURL INDEX INTERLACE INTERVALS
+syn keyword mapIdentifier KEYIMAGE KEYSIZE KEYSPACING
+syn keyword mapIdentifier LABELANGLEITEM LABELCACHE LABELFORMAT LABELITEM LABELMAXSCALE LABELMINSCALE LABELREQUIRES LABELSIZEITEM LATLON LINECAP LINEJOIN LINEJOINMAXSIZE LOG
+syn keyword mapIdentifier MARKER MARKERSIZE MAXARCS MAXBOXSIZE MAXFEATURES MAXINTERVAL MAXSCALE MAXSIZE MAXSUBDIVIDE MAXTEMPLATE MIMETYPE
+syn keyword mapIdentifier MINARCS MINBOXSIZE MINDISTANCE MINFEATURESIZE MININTERVAL MINSCALE MINSIZE MINSUBDIVIDE MINTEMPLATE
+syn keyword mapIdentifier NAME
+syn keyword mapIdentifier OFFSET OFFSITE OUTLINECOLOR OVERLAYBACKGROUNDCOLOR OVERLAYCOLOR OVERLAYMAXSIZE OVERLAYMINSIZE OVERLAYOUTLINECOLOR OVERLAYSIZE OVERLAYSYMBOL
+syn keyword mapIdentifier PARTIALS POINTS POSITION POSTLABELCACHE PROCESSING
+syn keyword mapIdentifier REQUIRES RESOLUTION
+syn keyword mapIdentifier SCALE SHADOWCOLOR SHADOWSIZE SHAPEPATH SIZE SIZEUNITS STATUS STYLEITEM SYMBOLSCALE SYMBOLSET
+syn keyword mapIdentifier TABLE TEMPLATE TEMPLATEPATTERN TEXT TILEINDEX TILEITEM TITLE TO TOLERANCE TOLERANCEUNITS TRANSFORM TRANSPARENCY TRANSPAREN[T] TYPE
+syn keyword mapIdentifier UNITS WMS_ABSTRACT WMS_ACCESSCONSTRAINTS WMS_ONLINERESOURCE WMS_SRS WMS_TITLE WRAP
+
+" General keywords third order
+syn keyword mapKeyword ANNOTATION AUTO BEVEL BITMAP BUTT
+syn keyword mapKeyword CARTOLINE CC CIRCLE CL CR CSV DD DEFAULT
+syn keyword mapKeyword ELLIPSE EMBED FALSE FEET GIANT HILITE INCHES
+syn keyword mapKeyword KILOMETERS LARGE LC LINE LL LR
+syn keyword mapKeyword MEDIUM METERS MILES MITER MULTIPLE MYGIS NORMAL
+syn keyword mapKeyword OFF OGR ON ONE-TO-MANY ONE-TO-ONE ORACLESPATIAL
+syn keyword mapKeyword PIXELS PIXMAP POINT POLYGON POSTGIS QUERY RASTER ROUND
+syn keyword mapKeyword SDE SELECTED SIMPLE SINGLE SMALL SQUARE
+syn keyword mapKeyword TINY TRIANGLE TRUE TRUETYPE UC UL UR VECTOR WFS WMS
+
+" keywords for other purposes
+syn keyword mapTypedef SELECTION
+
+" Comment
+syn match mapComment "#.*"
+
+" Strings (single- and double-quote)
+syn region mapString start=+"+ skip=+\\\\\|\\"+ end=+"+
+syn region mapString start=+'+ skip=+\\\\\|\\'+ end=+'+
+
+" Numbers and hexidecimal values
+syn match mapNumber "-\=\<[0-9]*\>"
+syn match mapNumber "\<0x[abcdefABCDEF0-9]*\>"
+
+" Operators
+syn match mapOperator "EQ"
+syn match mapOperator "[><|\=&!$/\\()\[\]]"
+
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_map_syn_inits")
+ if version < 508
+ let did_map_syn_inits = 1
+ command -nargs=+ HiLink hi link <args>
+ else
+ command -nargs=+ HiLink hi def link <args>
+ endif
+
+ HiLink mapComment Comment
+ HiLink mapKeyword Keyword
+ HiLink mapIdentifier Identifier
+ HiLink mapDefine Define
+ HiLink mapTypedef Typedef
+ HiLink mapNumber Number
+ HiLink mapString String
+ HiLink mapOperator Operator
+
+ delcommand HiLink
+endif
+
+let b:current_syntax = "map"
+
+" vim: ts=8
Copied: trunk/docs/development/editing/map_fold.vim (from rev 8195, trunk/docs/howto/map_fold.vim)
===================================================================
--- trunk/docs/development/editing/map_fold.vim (rev 0)
+++ trunk/docs/development/editing/map_fold.vim 2008-12-05 02:32:47 UTC (rev 8196)
@@ -0,0 +1,54 @@
+" Vim folding mode for UMN MapServer .map files
+" Author: Schuyler Erle <schuyler at nocat.net>
+" Last Change: 2006 May 04
+" Version: 1.0
+" Based on an indent folding mode by Jorrit Wiersma and Max Ischenko
+"
+" To use, copy to your ~/.vim directory and then add the following
+" to your .vimrc:
+"
+" autocmd BufRead *.map source ~/.vim/map_fold.vim
+
+setlocal foldmethod=expr
+setlocal foldexpr=GetMapFileFold(v:lnum)
+setlocal foldtext=MapFileFoldText()
+highlight Folded term=bold ctermfg=white ctermbg=black
+
+function! GetMapFileFold(lnum)
+ " If it's a group statement, fold one level
+ let line = getline(a:lnum)
+
+ if line =~ '\c^\s*\(CLASS\|JOIN\|LABEL\|LAYER\|LEGEND\|METADATA\|OUTPUTFORMAT\|PROJECTION\|QUERYMAP\|REFERENCE\|SCALEBAR\|STYLE\|SYMBOL\|WEB\)\s*\(#.*\)*$'
+ return "a1"
+ endif
+
+ " if it's an END, unfold one level
+ if line =~ '\c^\s*END\s*\(#.*\)*$'
+ return "s1"
+ endif
+
+ " otherwise...
+ return "="
+endfunction
+
+function! MapFileFoldText()
+ let line = getline(v:foldstart)
+ let line3 = substitute(line, '\t', ' ', 'g')
+ let line2 = substitute(line3, '^\( *\)', '&+ ', '')
+
+ let i = v:foldstart
+ let name = ""
+ while i < v:foldend
+ let iline = getline(i)
+ if iline =~ '\c^\s*\(NAME\|EXPRESSION\)\s\s*'
+ let name = substitute(iline, '\c\s*\(NAME\|EXPRESSION\)\s*', '', '')
+ break
+ endif
+ let i = i + 1
+ endwhile
+ if name != ""
+ let line2 = line2 . " " . name
+ endif
+ return line2 . " "
+endfunction
+
Copied: trunk/docs/development/editing/vim.txt (from rev 8195, trunk/docs/howto/vim.txt)
===================================================================
--- trunk/docs/development/editing/vim.txt (rev 0)
+++ trunk/docs/development/editing/vim.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -0,0 +1,90 @@
+*****************************************************************************
+ VIM Syntax
+*****************************************************************************
+
+:Author: Andreas Hirner
+:Contact: andreas.hirner at dlr.de
+:Author: Schuyler Erle
+:Contact: schuyler at tridity.org
+:Revision: $Revision$
+:Date: $Date$
+:Last Updated: 2006/5/5
+
+.. sectnum::
+
+.. contents:: Table of Contents
+ :depth: 2
+ :backlinks: top
+
+General remarks
+===============
+
+vi (vim) resides in: /usr/share/vim/current (vim_root).
+
+Syntax definitions are in vim_root/syntax/\*.vim files. Linking file types to extensions is done in vim_root/ftdetect/\*.vim. (The the star denotes
+the extension and would be replaced with map to define highlighting of Mapserver config files).
+
+
+
+Installation
+============
+
+The installation process requires two steps:
+
+1. Copy the `map.vim`_ syntax file to the syntax directory
+
+ Copy map.vim to the vim syntax directory (on Suse: /usr/share/vim/current/syntax)
+
+2. Register the syntax file in the custom filetype directory
+
+ If absent, create a new directory called ftdetect in vim_root (on Suse Linux: /usr/share/vim/current).
+ Create a new file called map.vim in ftdetect according to the example shown below:
+
+ ::
+
+ " Mapserver config file
+ au BufNewFile,BufRead *.map setf map
+
+Now restart vim and open a map file ....
+
+Folding
+============
+
+Introduction
+------------
+
+`Vim code folding <http://www.vim.org/htmldoc/usr_28.html>`__ can be an extremely handy way to simplify the task of editing complex MapServer mapfiles inside the Vim editor. A Vim command file called `*map_fold.vim*`_ is attached to this document, which defines a folding mode for mapfiles. This file also lives at http://iconocla.st/code/dot/map_fold.vim.
+
+Installation
+------------
+
+Global installation of new Vim filetypes is described in the `Vim syntax howto <http://mapserver.gis.umn.edu/docs/howto/vim-syntax-howto>`__. In Vim 6, you can copy *map_fold.vim* as-is to your *$VIMROOT/ftplugin/* directory, and it should more or less work.
+
+To use locally, create a *~/.vim/ftplugin* directory, copy *map_fold.vim* to it, and then add the following to your *~/.vimrc*:
+
+::
+
+ autocmd BufRead *.map set filetype=map
+
+`map_fold.vim`_ is totally compatible with the `map.vim`_ syntax highlighter, and their combined use is even recommended.
+
+Use
+---
+
+The Vim `folding tutorial <http://www.vim.org/htmldoc/usr_28.html>`__ (at least the first two or three sections) is highly recommended. The Vim `folding reference <http://www.vim.org/htmldoc/fold.html>`__ may also be helpful.
+
+Conclusion
+----------
+
+Hope this helps! Please let me know if you find it useful, or if you find ways to improve it. Thanks!
+
+Closing Remarks
+===============
+
+The keywords are based on the TextPad Symbol Map_40.syn file contributed by Christopher
+Thorne, which can also be found on the Mapserver utility page. I hope the file is
+somehow useful to anybody out there. If there are any questions or suggestions,
+please feel free to contact me.
+
+.. _`map.vim`: map.vim
+.. _`map_fold.vim`: map_fold.vim
\ No newline at end of file
Modified: trunk/docs/development/index.txt
===================================================================
--- trunk/docs/development/index.txt 2008-12-04 20:35:49 UTC (rev 8195)
+++ trunk/docs/development/index.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -13,3 +13,4 @@
svn
tests/index
rfc/index
+ editing/index
Deleted: trunk/docs/howto/map.vim
===================================================================
--- trunk/docs/howto/map.vim 2008-12-04 20:35:49 UTC (rev 8195)
+++ trunk/docs/howto/map.vim 2008-12-05 02:32:47 UTC (rev 8196)
@@ -1,99 +0,0 @@
-" Vim syntax file
-" Language: map (umn mapserver config file)
-" Maintainer: Andreas Hirner <andreas.hirner at dlr.de>
-" Last Change: $Date: 2004/05/25 19:19:37 $
-" Filenames: *.map
-" Note: The definitions below are taken from TextPad syntax definitions (*.syn) by Chris Thorne (thorne at dmsolutions.ca) as of May 2004, for version 4.0 Mapserver
-
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
-if version < 600
- syntax clear
-elseif exists("b:current_syntax")
- finish
-endif
-
-" Always ignore case
-syn case ignore
-
-" General keywords first order
-syn keyword mapDefine CLASS END JOIN LABEL LAYER LEGEND MAP METADATA OUTPUTFORMAT
-syn keyword mapDefine PROJECTION QUERYMAP REFERENCE SCALEBAR STYLE SYMBOL WEB
-
-" General keywords second order
-syn keyword mapIdentifier ALPHACOLOR ANGLE ANTIALIAS
-syn keyword mapIdentifier BACKGROUNDCOLOR BACKGROUNDSHADOWCOLOR BACKGROUNDSHADOWSIZE BUFFER
-syn keyword mapIdentifier CHARACTER CLASSITEM COLOR CONNECTION CONNECTIONTYPE
-syn keyword mapIdentifier DATA DATAPATTERN DEBUG DRIVER DUMP
-syn keyword mapIdentifier EMPTY ERROR EXPRESSION EXTENSION EXTENT
-syn keyword mapIdentifier FEATURE FILLED FILTER FILTERITEM FONT FONTSET FOOTER FORCE FORMATOPTION FROM
-syn keyword mapIdentifier GAP GRATICULE GRID GROUP HEADER
-syn keyword mapIdentifier IMAGE IMAGECOLOR IMAGEMODE IMAGEPATH IMAGEQUALITY IMAGETYPE IMAGEURL INDEX INTERLACE INTERVALS
-syn keyword mapIdentifier KEYIMAGE KEYSIZE KEYSPACING
-syn keyword mapIdentifier LABELANGLEITEM LABELCACHE LABELFORMAT LABELITEM LABELMAXSCALE LABELMINSCALE LABELREQUIRES LABELSIZEITEM LATLON LINECAP LINEJOIN LINEJOINMAXSIZE LOG
-syn keyword mapIdentifier MARKER MARKERSIZE MAXARCS MAXBOXSIZE MAXFEATURES MAXINTERVAL MAXSCALE MAXSIZE MAXSUBDIVIDE MAXTEMPLATE MIMETYPE
-syn keyword mapIdentifier MINARCS MINBOXSIZE MINDISTANCE MINFEATURESIZE MININTERVAL MINSCALE MINSIZE MINSUBDIVIDE MINTEMPLATE
-syn keyword mapIdentifier NAME
-syn keyword mapIdentifier OFFSET OFFSITE OUTLINECOLOR OVERLAYBACKGROUNDCOLOR OVERLAYCOLOR OVERLAYMAXSIZE OVERLAYMINSIZE OVERLAYOUTLINECOLOR OVERLAYSIZE OVERLAYSYMBOL
-syn keyword mapIdentifier PARTIALS POINTS POSITION POSTLABELCACHE PROCESSING
-syn keyword mapIdentifier REQUIRES RESOLUTION
-syn keyword mapIdentifier SCALE SHADOWCOLOR SHADOWSIZE SHAPEPATH SIZE SIZEUNITS STATUS STYLEITEM SYMBOLSCALE SYMBOLSET
-syn keyword mapIdentifier TABLE TEMPLATE TEMPLATEPATTERN TEXT TILEINDEX TILEITEM TITLE TO TOLERANCE TOLERANCEUNITS TRANSFORM TRANSPARENCY TRANSPAREN[T] TYPE
-syn keyword mapIdentifier UNITS WMS_ABSTRACT WMS_ACCESSCONSTRAINTS WMS_ONLINERESOURCE WMS_SRS WMS_TITLE WRAP
-
-" General keywords third order
-syn keyword mapKeyword ANNOTATION AUTO BEVEL BITMAP BUTT
-syn keyword mapKeyword CARTOLINE CC CIRCLE CL CR CSV DD DEFAULT
-syn keyword mapKeyword ELLIPSE EMBED FALSE FEET GIANT HILITE INCHES
-syn keyword mapKeyword KILOMETERS LARGE LC LINE LL LR
-syn keyword mapKeyword MEDIUM METERS MILES MITER MULTIPLE MYGIS NORMAL
-syn keyword mapKeyword OFF OGR ON ONE-TO-MANY ONE-TO-ONE ORACLESPATIAL
-syn keyword mapKeyword PIXELS PIXMAP POINT POLYGON POSTGIS QUERY RASTER ROUND
-syn keyword mapKeyword SDE SELECTED SIMPLE SINGLE SMALL SQUARE
-syn keyword mapKeyword TINY TRIANGLE TRUE TRUETYPE UC UL UR VECTOR WFS WMS
-
-" keywords for other purposes
-syn keyword mapTypedef SELECTION
-
-" Comment
-syn match mapComment "#.*"
-
-" Strings (single- and double-quote)
-syn region mapString start=+"+ skip=+\\\\\|\\"+ end=+"+
-syn region mapString start=+'+ skip=+\\\\\|\\'+ end=+'+
-
-" Numbers and hexidecimal values
-syn match mapNumber "-\=\<[0-9]*\>"
-syn match mapNumber "\<0x[abcdefABCDEF0-9]*\>"
-
-" Operators
-syn match mapOperator "EQ"
-syn match mapOperator "[><|\=&!$/\\()\[\]]"
-
-
-" Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_map_syn_inits")
- if version < 508
- let did_map_syn_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink mapComment Comment
- HiLink mapKeyword Keyword
- HiLink mapIdentifier Identifier
- HiLink mapDefine Define
- HiLink mapTypedef Typedef
- HiLink mapNumber Number
- HiLink mapString String
- HiLink mapOperator Operator
-
- delcommand HiLink
-endif
-
-let b:current_syntax = "map"
-
-" vim: ts=8
Deleted: trunk/docs/howto/map_fold.vim
===================================================================
--- trunk/docs/howto/map_fold.vim 2008-12-04 20:35:49 UTC (rev 8195)
+++ trunk/docs/howto/map_fold.vim 2008-12-05 02:32:47 UTC (rev 8196)
@@ -1,54 +0,0 @@
-" Vim folding mode for UMN MapServer .map files
-" Author: Schuyler Erle <schuyler at nocat.net>
-" Last Change: 2006 May 04
-" Version: 1.0
-" Based on an indent folding mode by Jorrit Wiersma and Max Ischenko
-"
-" To use, copy to your ~/.vim directory and then add the following
-" to your .vimrc:
-"
-" autocmd BufRead *.map source ~/.vim/map_fold.vim
-
-setlocal foldmethod=expr
-setlocal foldexpr=GetMapFileFold(v:lnum)
-setlocal foldtext=MapFileFoldText()
-highlight Folded term=bold ctermfg=white ctermbg=black
-
-function! GetMapFileFold(lnum)
- " If it's a group statement, fold one level
- let line = getline(a:lnum)
-
- if line =~ '\c^\s*\(CLASS\|JOIN\|LABEL\|LAYER\|LEGEND\|METADATA\|OUTPUTFORMAT\|PROJECTION\|QUERYMAP\|REFERENCE\|SCALEBAR\|STYLE\|SYMBOL\|WEB\)\s*\(#.*\)*$'
- return "a1"
- endif
-
- " if it's an END, unfold one level
- if line =~ '\c^\s*END\s*\(#.*\)*$'
- return "s1"
- endif
-
- " otherwise...
- return "="
-endfunction
-
-function! MapFileFoldText()
- let line = getline(v:foldstart)
- let line3 = substitute(line, '\t', ' ', 'g')
- let line2 = substitute(line3, '^\( *\)', '&+ ', '')
-
- let i = v:foldstart
- let name = ""
- while i < v:foldend
- let iline = getline(i)
- if iline =~ '\c^\s*\(NAME\|EXPRESSION\)\s\s*'
- let name = substitute(iline, '\c\s*\(NAME\|EXPRESSION\)\s*', '', '')
- break
- endif
- let i = i + 1
- endwhile
- if name != ""
- let line2 = line2 . " " . name
- endif
- return line2 . " "
-endfunction
-
Deleted: trunk/docs/howto/tileindex.txt
===================================================================
--- trunk/docs/howto/tileindex.txt 2008-12-04 20:35:49 UTC (rev 8195)
+++ trunk/docs/howto/tileindex.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -1,101 +0,0 @@
-.. _tileindex:
-
-*****************************************************************************
-Tileindexes: On the fly mosaics for ease and performance
-*****************************************************************************
-
-:Author: HostGIS
-:Revision: $Revision$
-:Date: $Date$
-:Last Updated: 2007/08/03
-
-.. contents:: Table of Contents
- :depth: 2
- :backlinks: top
-
-Introduction
-------------
-An introduction to tileindexes, Mapserver's method for doing on-the-fly mosaicing.
-
-What is a tileindex and how do I make one?
-------------------------------------------
-A tileindex is a shapefile that ties together several datasets into a single layer.
-Therefore, you don't need to create separate layers for each piece of imagery or
-each county's road data; make a tileindex and let Mapserver piece the mosaic
-together on the fly.
-
-Making a tileindex is easy using 'gdaltindex' for GDAL data sources (rasters) and
-'ogrtindex' for OGR data sources (vectors). You just run them, specifying the
-index file to create and the list of data sources to add to the index.
-
-For example, to make a mosaic of several TIFFs:
-
-::
-
- gdaltindex imagery.shp imagery/*.tif
-
-And to make a mosaic of vectors:
-
-::
-
- ogrtindex strees.shp tiger/CA/*.shp tiger/NV/*.shp
-
-Note: ogrtindex and gdaltindex **add** the specified files to the index. Sometimes
-you'll have to delete the index file to avoid creating duplicate entries.
-
-Using the tileindex in your mapfile
------------------------------------
-
-Using a tileindex as a layer is best explained by an example:
-
-::
-
- LAYER
- Â Â NAME Roads
- STATUS ON
- TYPE LINE
- TILEINDEX "tiger/index.shp"
- TILEITEM "LOCATION"
- END Â Â
-
-There are two items of note here: TILEINDEX and TILEITEM. TILEINDEX is simply
-the path to the index file, and TILEITEM specifies the field in the shapefile
-which contains the filenames referenced by the index. The TILEITEM will usually
-be "LOCATION" unless you specified the *-tileindex* option when running gdaltindex
-or ogrtindex.
-
-Two important notes about the pathnames:
-
- * The path to TILEINDEX follows the same conventions as for any other data
- source, e.g. using the SHAPEPATH or else being relative to the location of
- the mapfile.
- * The filenames specified on the command line to gdaltindex or ogrtindex will
- be used with the same conventions as well, following the SHAPEPATH or else
- being relative to the mapfile's location. I find it very useful to change
- into the SHAPEPATH directory and then run ogrtindex/gdaltindex from there;
- this ensures that I specify the correct pathnames.
-
-Tileindexes may make your map faster
-------------------------------------
-
-A tileindex is often a performance boost for two reasons:
-
- * It's more efficient than having several separate layers.
- * Mapserver will examine the tileindex to determine which datasets fall into
- the map's view, and will open only those datasets. This can result in a
- great savings for a large dataset, especially for use cases where most of
- the time only a very small spatial region of the data is being used. (for
- example, citywide maps with nationwide street imagery)
-
-A tileindex will not help in the case where all/most of the data sources will
-usually be opened anyway (e.g. street data by county, showing states or larger
-regions). In that case, it may even result in a decrease in performance, since
-it may be slower to open 100 files than to open one giant file.
-
-The ideal case for a tileindex is when the most typically requested map areas
-fall into very few tiles. For example, if you're showing state and larger
-regions, try fitting your data into state-sized blocks instead of county-sized
-blocks; and if you're showing cities and counties, go for county-sized blocks.
-
-You'll just have to experiment with it and see what works best for your use
-cases.
Deleted: trunk/docs/howto/vim.txt
===================================================================
--- trunk/docs/howto/vim.txt 2008-12-04 20:35:49 UTC (rev 8195)
+++ trunk/docs/howto/vim.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -1,90 +0,0 @@
-*****************************************************************************
- VIM Syntax
-*****************************************************************************
-
-:Author: Andreas Hirner
-:Contact: andreas.hirner at dlr.de
-:Author: Schuyler Erle
-:Contact: schuyler at tridity.org
-:Revision: $Revision$
-:Date: $Date$
-:Last Updated: 2006/5/5
-
-.. sectnum::
-
-.. contents:: Table of Contents
- :depth: 2
- :backlinks: top
-
-General remarks
-===============
-
-vi (vim) resides in: /usr/share/vim/current (vim_root).
-
-Syntax definitions are in vim_root/syntax/\*.vim files. Linking file types to extensions is done in vim_root/ftdetect/\*.vim. (The the star denotes
-the extension and would be replaced with map to define highlighting of Mapserver config files).
-
-
-
-Installation
-============
-
-The installation process requires two steps:
-
-1. Copy the `map.vim`_ syntax file to the syntax directory
-
- Copy map.vim to the vim syntax directory (on Suse: /usr/share/vim/current/syntax)
-
-2. Register the syntax file in the custom filetype directory
-
- If absent, create a new directory called ftdetect in vim_root (on Suse Linux: /usr/share/vim/current).
- Create a new file called map.vim in ftdetect according to the example shown below:
-
- ::
-
- " Mapserver config file
- au BufNewFile,BufRead *.map setf map
-
-Now restart vim and open a map file ....
-
-Folding
-============
-
-Introduction
-------------
-
-`Vim code folding <http://www.vim.org/htmldoc/usr_28.html>`__ can be an extremely handy way to simplify the task of editing complex MapServer mapfiles inside the Vim editor. A Vim command file called `*map_fold.vim*`_ is attached to this document, which defines a folding mode for mapfiles. This file also lives at http://iconocla.st/code/dot/map_fold.vim.
-
-Installation
-------------
-
-Global installation of new Vim filetypes is described in the `Vim syntax howto <http://mapserver.gis.umn.edu/docs/howto/vim-syntax-howto>`__. In Vim 6, you can copy *map_fold.vim* as-is to your *$VIMROOT/ftplugin/* directory, and it should more or less work.
-
-To use locally, create a *~/.vim/ftplugin* directory, copy *map_fold.vim* to it, and then add the following to your *~/.vimrc*:
-
-::
-
- autocmd BufRead *.map set filetype=map
-
-`map_fold.vim`_ is totally compatible with the `map.vim`_ syntax highlighter, and their combined use is even recommended.
-
-Use
----
-
-The Vim `folding tutorial <http://www.vim.org/htmldoc/usr_28.html>`__ (at least the first two or three sections) is highly recommended. The Vim `folding reference <http://www.vim.org/htmldoc/fold.html>`__ may also be helpful.
-
-Conclusion
-----------
-
-Hope this helps! Please let me know if you find it useful, or if you find ways to improve it. Thanks!
-
-Closing Remarks
-===============
-
-The keywords are based on the TextPad Symbol Map_40.syn file contributed by Christopher
-Thorne, which can also be found on the Mapserver utility page. I hope the file is
-somehow useful to anybody out there. If there are any questions or suggestions,
-please feel free to contact me.
-
-.. _`map.vim`: map.vim
-.. _`map_fold.vim`: map_fold.vim
\ No newline at end of file
Modified: trunk/docs/optimization/index.txt
===================================================================
--- trunk/docs/optimization/index.txt 2008-12-04 20:35:49 UTC (rev 8195)
+++ trunk/docs/optimization/index.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -11,5 +11,6 @@
vector
raster
fastcgi
+ tileindex
Modified: trunk/docs/optimization/mapfile.txt
===================================================================
--- trunk/docs/optimization/mapfile.txt 2008-12-04 20:35:49 UTC (rev 8195)
+++ trunk/docs/optimization/mapfile.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -1,7 +1,7 @@
.. _mapfile_tuning:
*****************************************************************************
- MapFile Tuning
+ Mapfile
*****************************************************************************
:Author: David Fawcett
Modified: trunk/docs/optimization/raster.txt
===================================================================
--- trunk/docs/optimization/raster.txt 2008-12-04 20:35:49 UTC (rev 8195)
+++ trunk/docs/optimization/raster.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -1,7 +1,7 @@
.. _raster_optimization:
*****************************************************************************
- Optimizing raster data sources
+ Raster
*****************************************************************************
:Author: HostGIS
Copied: trunk/docs/optimization/tileindex.txt (from rev 8195, trunk/docs/howto/tileindex.txt)
===================================================================
--- trunk/docs/optimization/tileindex.txt (rev 0)
+++ trunk/docs/optimization/tileindex.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -0,0 +1,101 @@
+.. _tileindex:
+
+*****************************************************************************
+ Tile Indexes
+*****************************************************************************
+
+:Author: HostGIS
+:Revision: $Revision$
+:Date: $Date$
+:Last Updated: 2007/08/03
+
+.. contents:: Table of Contents
+ :depth: 2
+ :backlinks: top
+
+Introduction
+------------
+An introduction to tileindexes, Mapserver's method for doing on-the-fly mosaicing.
+
+What is a tileindex and how do I make one?
+------------------------------------------
+A tileindex is a shapefile that ties together several datasets into a single layer.
+Therefore, you don't need to create separate layers for each piece of imagery or
+each county's road data; make a tileindex and let Mapserver piece the mosaic
+together on the fly.
+
+Making a tileindex is easy using 'gdaltindex' for GDAL data sources (rasters) and
+'ogrtindex' for OGR data sources (vectors). You just run them, specifying the
+index file to create and the list of data sources to add to the index.
+
+For example, to make a mosaic of several TIFFs:
+
+::
+
+ gdaltindex imagery.shp imagery/*.tif
+
+And to make a mosaic of vectors:
+
+::
+
+ ogrtindex strees.shp tiger/CA/*.shp tiger/NV/*.shp
+
+Note: ogrtindex and gdaltindex **add** the specified files to the index. Sometimes
+you'll have to delete the index file to avoid creating duplicate entries.
+
+Using the tileindex in your mapfile
+-----------------------------------
+
+Using a tileindex as a layer is best explained by an example:
+
+::
+
+ LAYER
+ Â Â NAME Roads
+ STATUS ON
+ TYPE LINE
+ TILEINDEX "tiger/index.shp"
+ TILEITEM "LOCATION"
+ END Â Â
+
+There are two items of note here: TILEINDEX and TILEITEM. TILEINDEX is simply
+the path to the index file, and TILEITEM specifies the field in the shapefile
+which contains the filenames referenced by the index. The TILEITEM will usually
+be "LOCATION" unless you specified the *-tileindex* option when running gdaltindex
+or ogrtindex.
+
+Two important notes about the pathnames:
+
+ * The path to TILEINDEX follows the same conventions as for any other data
+ source, e.g. using the SHAPEPATH or else being relative to the location of
+ the mapfile.
+ * The filenames specified on the command line to gdaltindex or ogrtindex will
+ be used with the same conventions as well, following the SHAPEPATH or else
+ being relative to the mapfile's location. I find it very useful to change
+ into the SHAPEPATH directory and then run ogrtindex/gdaltindex from there;
+ this ensures that I specify the correct pathnames.
+
+Tileindexes may make your map faster
+------------------------------------
+
+A tileindex is often a performance boost for two reasons:
+
+ * It's more efficient than having several separate layers.
+ * Mapserver will examine the tileindex to determine which datasets fall into
+ the map's view, and will open only those datasets. This can result in a
+ great savings for a large dataset, especially for use cases where most of
+ the time only a very small spatial region of the data is being used. (for
+ example, citywide maps with nationwide street imagery)
+
+A tileindex will not help in the case where all/most of the data sources will
+usually be opened anyway (e.g. street data by county, showing states or larger
+regions). In that case, it may even result in a decrease in performance, since
+it may be slower to open 100 files than to open one giant file.
+
+The ideal case for a tileindex is when the most typically requested map areas
+fall into very few tiles. For example, if you're showing state and larger
+regions, try fitting your data into state-sized blocks instead of county-sized
+blocks; and if you're showing cities and counties, go for county-sized blocks.
+
+You'll just have to experiment with it and see what works best for your use
+cases.
Modified: trunk/docs/optimization/vector.txt
===================================================================
--- trunk/docs/optimization/vector.txt 2008-12-04 20:35:49 UTC (rev 8195)
+++ trunk/docs/optimization/vector.txt 2008-12-05 02:32:47 UTC (rev 8196)
@@ -1,7 +1,7 @@
.. _vector_optimization:
*****************************************************************************
- Optimizing vector data sources
+ Vector
*****************************************************************************
:Author: HostGIS
More information about the mapserver-commits
mailing list