Table of Contents for
Web Mapping Illustrated

Version ebook / Retour

Cover image for bash Cookbook, 2nd Edition Web Mapping Illustrated by Tyler Mitchell Published by O'Reilly Media, Inc., 2005
  1. Web Mapping Illustrated
  2. Cover
  3. Web Mapping Illustrated
  4. A Note Regarding Supplemental Files
  5. Foreword
  6. Preface
  7. Youthful Exploration
  8. The Tools in This Book
  9. What This Book Covers
  10. Organization of This Book
  11. Conventions Used in This Book
  12. Safari Enabled
  13. Comments and Questions
  14. Acknowledgments
  15. 1. Introduction to Digital Mapping
  16. 1.1. The Power of Digital Maps
  17. 1.2. The Difficulties of Making Maps
  18. 1.3. Different Kinds of Web Mapping
  19. 2. Digital Mapping Tasks and Tools
  20. 2.1. Common Mapping Tasks
  21. 2.2. Common Pitfalls, Deadends, and Irritations
  22. 2.3. Identifying the Types of Tasks for a Project
  23. 3. Converting and Viewing Maps
  24. 3.1. Raster and Vector
  25. 3.2. OpenEV
  26. 3.3. MapServer
  27. 3.4. Geospatial Data Abstraction Library (GDAL)
  28. 3.5. OGR Simple Features Library
  29. 3.6. PostGIS
  30. 3.7. Summary of Applications
  31. 4. Installing MapServer
  32. 4.1. How MapServer Applications Operate
  33. 4.2. Walkthrough of the Main Components
  34. 4.3. Installing MapServer
  35. 4.4. Getting Help
  36. 5. Acquiring Map Data
  37. 5.1. Appraising Your Data Needs
  38. 5.2. Acquiring the Data You Need
  39. 6. Analyzing Map Data
  40. 6.1. Downloading the Demonstration Data
  41. 6.2. Installing Data Management Tools: GDAL and FWTools
  42. 6.3. Examining Data Content
  43. 6.4. Summarizing Information Using Other Tools
  44. 7. Converting Map Data
  45. 7.1. Converting Map Data
  46. 7.2. Converting Vector Data
  47. 7.3. Converting Raster Data to Other Formats
  48. 8. Visualizing Mapping Data in a Desktop Program
  49. 8.1. Visualization and Mapping Programs
  50. 8.2. Using OpenEV
  51. 8.3. OpenEV Basics
  52. 9. Create and Edit Personal Map Data
  53. 9.1. Planning Your Map
  54. 9.2. Preprocessing Data Examples
  55. 10. Creating Static Maps
  56. 10.1. MapServer Utilities
  57. 10.2. Sample Uses of the Command-Line Utilities
  58. 10.3. Setting Output Image Formats
  59. 11. Publishing Interactive Maps on the Web
  60. 11.1. Preparing and Testing MapServer
  61. 11.2. Create a Custom Application for a Particular Area
  62. 11.3. Continuing Education
  63. 12. Accessing Maps Through Web Services
  64. 12.1. Web Services for Mapping
  65. 12.2. What Do Web Services for Mapping Do?
  66. 12.3. Using MapServer with Web Services
  67. 12.4. Reference Map Files
  68. 13. Managing a Spatial Database
  69. 13.1. Introducing PostGIS
  70. 13.2. What Is a Spatial Database?
  71. 13.3. Downloading PostGIS Install Packages and Binaries
  72. 13.4. Compiling from Source Code
  73. 13.5. Steps for Setting Up PostGIS
  74. 13.6. Creating a Spatial Database
  75. 13.7. Load Data into the Database
  76. 13.8. Spatial Data Queries
  77. 13.9. Accessing Spatial Data from PostGIS in Other Applications
  78. 14. Custom Programming with MapServer’s MapScript
  79. 14.1. Introducing MapScript
  80. 14.2. Getting MapScript
  81. 14.3. MapScript Objects
  82. 14.4. MapScript Examples
  83. 14.5. Other Resources
  84. 14.6. Parallel MapScript Translations
  85. A. A Brief Introduction to Map Projections
  86. A.1. The Third Spheroid from the Sun
  87. A.2. Using Map Projections with MapServer
  88. A.3. Map Projection Examples
  89. A.4. Using Projections with Other Applications
  90. A.5. References
  91. B. MapServer Reference Guide for Vector Data Access
  92. B.1. Vector Data
  93. B.2. Data Format Guide
  94.  
  95. ESRI Shapefiles (SHP)
  96.  
  97. PostGIS/PostgreSQL Database
  98.  
  99. MapInfo Files (TAB/MID/MIF)
  100.  
  101. Oracle Spatial Database
  102.  
  103. Web Feature Service (WFS)
  104.  
  105. Geography Markup Language Files (GML)
  106.  
  107. VirtualSpatialData (ODBC/OVF)
  108.  
  109. TIGER/Line Files
  110.  
  111. ESRI ArcInfo Coverage Files
  112.  
  113. ESRI ArcSDE Database (SDE)
  114.  
  115. Microstation Design Files (DGN)
  116.  
  117. IHO S-57 Files
  118.  
  119. Spatial Data Transfer Standard Files (SDTS)
  120.  
  121. Inline MapServer Features
  122.  
  123. National Transfer Format Files (NTF)
  124. About the Author
  125. Colophon
  126. Copyright

Using Map Projections with MapServer

The projection settings in a MapServer map file are at two levels: the output map projection and the projection of the input layers of features to be drawn. Example A-1 shows a sample of the projection settings for an output map.

Example A-1. Example settings for the map to be rendered using an Albers Equal Area projection
PROJECTION
  "proj=aea"
  "ellps=WGS84"
  "lat_0=10"
  "lon_0=-90"
END

The settings may look confusing to anyone unfamiliar with projections, but they have a straightforward purpose. If you can get these four settings clear in your mind, you’ll be able to handle most projections with ease.

The first line in Example A-1, "proj=aea", is the most important. It specifies the name of the projection. The abbreviation aea is short for Albers Equal Area projection. Every PROJECTION...END object must have a projection name specified. You should also specify an ellipsoid, e.g., ellps=WGS84. Some functions will not require an ellps parameter to be used, but some will fail without it. If in doubt, use the World Geodetic System WGS84. All the other parameters can be optional. There are 121 projections available through PROJ.4.

The second line, "ellps=WGS84", specifies the ellipsoid to use for the projection. WGS 84 is a specific representation of the shape of the earth. Depending on the area being mapped, there may be more or less precise ellipsoids to use. There are 42 in total. Choosing one to use isn’t necessarily straightforward, unless you can find one that was generated specifically for your country or region of interest. If you can find such, you will get more accurate projection results. WGS 84 is a generally useful ellipsoid for global applications.

The third line, "lat_0=10", specifies the latitude of origin as 10° north. The default latitude of origin is 0° if not specified. The projected north/south coordinates will all start at 0 at this latitude.

The final line, "lon_0=-90", sets the central meridian as 90° west or -90°. The default is 0° if not specified. The projected east/west values all start at 0 at this longitude.

Tip

To learn more about the WGS84 ellipsoid, see http://www.wgs84.com/wgs84/wgs84.htm.

EPSG Codes

Depending on the map projection to be used, there may be more or fewer settings required. It isn’t always necessary to specify all the settings. There are some shortcuts available. One common method is to use a master spatial reference systems list that comes with PROJ.4. This text file, usually named epsg, contains predefined projections, latitude of origins, ellipsoids, etc. You can then refer to a more complex set of options using a single number. These codes are called EPSG codes. They were developed and maintained by the European Petroleum Survey Group (EPSG). See http://www.epsg.org/ for more information about the group.

Here are two examples from the EPSG definitions:

    # NAD83 / UTM zone 10N
    <26910> +proj=utm +zone=10 +ellps=GRS80 +datum=NAD83
            +units=m +no_defs no_defs
    <>
     
    ## WGS84 / LCC Canada
    <42101> +proj=lcc +ellps=WGS84 +lat_0=0 +lon_0=-95
            +lat_1=49 +lat_2=77 +x_0=0 +y_0=-8000000.0
            +datum=WGS84 +units=m no_defs
    <>

As you can see, there are several options used in both of these. Both are single lines, but are shown on multiple lines here for clarity. Rather than have to specify each of these, as in Example A-1, you can simply provide the EPSG code number:

    PROJECTION
      "init=epsg:26910"
    END

This automatically sets all the projection options to project the map into UTM zone 10N using the NAD83 datum. UTM zones and other projections are described in the next section.

Likewise, "init=epsg:42101" would set it to a Lambert Conformal Conic (LCC) projection, with specific options suitable for mapping Canada. This definition is considered custom, or nonstandard. It was developed independently of the EPSG organization and won’t necessarily appear in the default EPSG file. Many of the custom definitions come with PROJ.4 in a separate file. If you can’t find the one you need, it is worth asking for it on the MapServer mailing list or IRC channel. Simply append the additional lines of text definition to the EPSG file, and they are instantly available for use.

EPSG versus epsg

When EPSG codes are used in a MapServer PROJECTION object, the text epsg should be in lowercase. When used in other contexts (such as Open Geospatial Consortium Web Map Server requests using MapServer), the text must be uppercase. For example if you have a wms_srs attribute in a METADATA object for a layer, it would be:

"wms_srs" "EPSG:26910"

This is a common problem when using EPSG codes with MapServer.

Tip

You can specify epsg in uppercase in the PROJECTION object, but on some operating systems, you have to rename the EPSG file to uppercase.