| Introduction | p. 1 |
| Background of Web-Based Mapping Applications | p. 1 |
| Properties of tile-based mapping systems | p. 2 |
| Book Organization | p. 2 |
| Logical Tile Schemes | p. 5 |
| Introduction | p. 5 |
| Global Logical Tile Scheme | p. 7 |
| Blue Marble Example | p. 10 |
| Mercator-Based Schema | p. 11 |
| Variable Start Tile Schemes | p. 12 |
| Standardized Schema | p. 15 |
| References | p. 15 |
| Tiled Mapping Clients | p. 17 |
| Tile Calculation | p. 17 |
| Discrete Map Scales | p. 18 |
| Continuous Map Scales | p. 20 |
| Tile Retrieval | p. 22 |
| Local Tile Storage | p. 23 |
| Network Tile Retrieval | p. 23 |
| Generating the Map View | p. 25 |
| Discrete Scales Map View | p. 25 |
| Continuous Scales Map View | p. 26 |
| Example Client | p. 28 |
| Survey of Tile Map Clients | p. 28 |
| Image Processing and Manipulation | p. 35 |
| Basic Image Concepts | p. 35 |
| Geospatial Images | p. 37 |
| Specialized File Formats | p. 37 |
| Image Manipulation | p. 39 |
| Interpolation 1: Nearest Neighbor | p. 44 |
| Interpolation 2: Bilinear | p. 45 |
| Interpolation 3: Bicubic | p. 46 |
| Choosing Image Formats for Tiles | p. 51 |
| Choosing Tile Sizes | p. 57 |
| Tuning Image Compression | p. 65 |
| References | p. 79 |
| Image Tile Creation | p. 81 |
| Tile Creation from Random Images | p. 82 |
| Tile Creation Preliminaries | p. 83 |
| Bottom-Up Tile Creation | p. 83 |
| Choosing the Base Level for a Set of Source Images | p. 83 |
| Pull-Based Versus Push-Based Tile Creation | p. 87 |
| Tile Creation Algorithms | p. 88 |
| Scaling Process for Lower Resolution Levels | p. 89 |
| Optimization of Tile Creation | p. 97 |
| Caching Tile Sets in Memory to Improve Performance | p. 97 |
| Partial Reading of Source Images | p. 99 |
| Reading Random Areas from Source Images | p. 100 |
| Tile Creation with Partial Source Image Reading | p. 103 |
| Tile Creation with Parallel Computing | p. 103 |
| Multi-Threading of Tile Creation Algorithms | p. 104 |
| Tile Creation for Distributed Computing | p. 105 |
| Partial Updating of Existing Tiled Image Sets | p. 108 |
| References | p. 116 |
| Tile Storage | p. 117 |
| Introduction to Tile Storage | p. 117 |
| Storing Image Tiles as Separate Files | p. 118 |
| Database-Based Tile Storage | p. 121 |
| Custom File Formats | p. 121 |
| Comparative Performance | p. 122 |
| Writing Tests | p. 123 |
| Reading Tests | p. 124 |
| Storage of Tile Metadata | p. 126 |
| Storage of Tiles in Multi-Resolution Image Formats | p. 126 |
| Memory-Cached Tile Storage | p. 127 |
| Online Tile Storage | p. 127 |
| Practical Tile Storage | p. 133 |
| Introduction to Tile Indexes | p. 133 |
| Storage by Zoom Level | p. 136 |
| Introduction to Tile Clusters | p. 138 |
| Tile Cluster Files | p. 139 |
| Multiple Levels of Clusters | p. 140 |
| Practical Implementation of Tile Clusters | p. 141 |
| Application to Memory Cached Tiles | p. 142 |
| Application to Distributed Computing | p. 142 |
| Performance Optimizations of Tile Cluster Method | p. 142 |
| Tile Serving | p. 151 |
| Basics of HTTP | p. 151 |
| Basic Tile Serving | p. 152 |
| Tile Serving Scheme with Encoded Parameters | p. 153 |
| Tile Serving Scheme with Encoded Paths | p. 155 |
| Service Metadata Alternatives | p. 156 |
| Conclusions | p. 157 |
| References | p. 164 |
| Map Projections | p. 165 |
| Introduction to Datums, Coordinate Systems, and Projections | p. 165 |
| The Shape of the Earth | p. 165 |
| Datums | p. 166 |
| Coordinate Systems | p. 169 |
| Map Projections | p. 169 |
| Different Map Projections | p. 170 |
| Cylindrical Equidistant Projection | p. 171 |
| Cylindrical Equal-Area Projection | p. 172 |
| Mercator | p. 172 |
| Universal Transverse Mercator | p. 172 |
| Point Reprojection | p. 175 |
| Map Reprojection | p. 177 |
| Affine Transforms | p. 177 |
| Interpolation | p. 179 |
| Point-wise Reprojection | p. 180 |
| Tablular Point-Wise Reprojection | p. 182 |
| Map Projections for Tiled Imagery | p. 184 |
| Storing Tiles in the Geodetic Projection | p. 184 |
| Storing Tiles in the Mercator Projection | p. 185 |
| Other Projections | p. 186 |
| Which Projection for a Tiled-Mapping System? | p. 187 |
| Conclusion | p. 188 |
| References | p. 191 |
| Tile Creation using Vector Data | p. 193 |
| Vector Data | p. 193 |
| Tile Creation | p. 194 |
| Queries | p. 196 |
| Storage | p. 196 |
| Database Storage | p. 197 |
| File System Storage | p. 200 |
| Case Study: Tiles from Blue Marble Imagery | p. 205 |
| Pull-Based Tiling | p. 205 |
| Push-Based Tiling | p. 207 |
| Results | p. 207 |
| Case Study: Supporting Multiple Tile Clients | p. 221 |
| KML Server | p. 221 |
| Static KML Example | p. 221 |
| Dynamic KML Example | p. 223 |
| WMS Server | p. 223 |
| WMS Servlet Implementation | p. 224 |
| References | p. 233 |
| Index | p. 235 |
| Table of Contents provided by Ingram. All Rights Reserved. |