Python geospatial development : learn to build sophisticated mapping applications from scratch using Python tools for geospatial development
معرفی کتاب «Python geospatial development : learn to build sophisticated mapping applications from scratch using Python tools for geospatial development» نوشتهٔ Westra, Erik، منتشرشده توسط نشر Packt Publishing در سال 2013. این کتاب در 5 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Python geospatial development : learn to build sophisticated mapping applications from scratch using Python tools for geospatial development» در دستهٔ بدون دستهبندی قرار دارد.
Learn to build sophisticated mapping applications from scratch using Python tools for geospatial development **Overview** * Build your own complete and sophisticated mapping applications in Python. * Walks you through the process of building your own online system for viewing and editing geospatial data * Practical, hands-on tutorial that teaches you all about geospatial development in Python **In Detail** Geospatial development links your data to places on the EarthвЂTMs surface. Writing geospatial programs involves tasks such as grouping data by location, storing and analyzing large amounts of spatial information, performing complex geospatial calculations, and drawing colorful interactive maps. In order to do this well, youвЂTMll need appropriate tools and techniques, as well as a thorough understanding of geospatial concepts such as map projections, datums and coordinate systems. Python Geospatial Development, Second Edition teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. Python Geospatial Development teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. This book provides an overview of the major geospatial concepts, data sources and toolkits. It teaches you how to store and access spatial data using Python, how to perform a range of spatial calculations, and how to store spatial data in a database. Because maps are such an important aspect of geospatial programming, the book teaches you how to build your own "slippy map" interface within a web application, and finishes with the detailed construction of a geospatial data editor using Geodjango. Whether you want to write quick utilities to solve spatial problems, or develop sophisticated web applications based around maps and geospatial data, this book includes everything you need to know. **What you will learn from this book** * Access, manipulate and display geospatial data from within your Python programs * Master the core geospatial concepts of location, distance, units, projections and datums * Read and write geospatial data in both vector and raster format * Perform complex, real-world geospatial calculations using Python * Store and access geospatial information in a database * Use points, lines and polygons within your Python programs * Use Python-based tools for converting geospatial data into good looking maps * Build complete web-based mapping applications using Python **Approach** This is a tutorial style book that will teach usage of Python tools for GIS using simple practical examples and then show you how to build a complete mapping application from scratch. The book assumes basic knowledge of Python. No knowledge of Open Source GIS is required. Cover......Page 1 Copyright......Page 3 Credits......Page 4 About the Author......Page 5 About the Reviewers......Page 6 www.PacktPub.com......Page 8 Table of Contents......Page 10 Preface......Page 18 Python......Page 24 Geospatial development......Page 26 Analyzing geospatial data......Page 29 Visualizing geospatial data......Page 31 Creating a geospatial mash-up......Page 33 Recent developments......Page 34 Summary......Page 36 Core GIS concepts......Page 38 Location......Page 39 Distance......Page 42 Units......Page 44 Cylindrical projections......Page 46 Conic projections......Page 48 Azimuthal projections......Page 49 The nature of map projections......Page 50 Coordinate systems......Page 51 Datums......Page 53 Shapes......Page 54 GIS data formats......Page 56 Working with GIS data manually......Page 58 Summary......Page 66 Reading and writing geospatial data......Page 68 GDAL design......Page 69 GDAL example code......Page 72 OGR design......Page 73 OGR example code......Page 74 Availability......Page 75 pyproj......Page 76 Proj......Page 77 Geod......Page 78 Example code......Page 79 Documentation......Page 80 Availability......Page 81 Design......Page 83 Example code......Page 85 Availability......Page 86 Visualizing geospatial data......Page 87 Mapnik......Page 88 Design......Page 89 Example code......Page 91 Availability......Page 93 Summary......Page 94 Chapter 4: Sources of Geospatial Data......Page 96 OpenStreetMap......Page 97 Data Format......Page 98 Obtaining and using OpenStreetMap data......Page 99 TIGER......Page 101 Data format......Page 103 Obtaining and Using TIGER Data......Page 104 Natural Earth......Page 105 Obtaining and using Natural Earth vector data......Page 106 Global self-consistent, hierarchical, high-resolution shoreline database (GSHHS)......Page 107 Data format......Page 108 World Borders Dataset......Page 109 Sources of geospatial data in raster format......Page 110 Landsat......Page 111 Obtaining Landsat imagery......Page 112 Natural Earth......Page 115 Obtaining and using Natural Earth raster data......Page 116 Data format......Page 117 Obtaining and using GLOBE data......Page 118 National Elevation Dataset (NED)......Page 119 Obtaining and using NED data......Page 120 Sources of other types of geospatial data......Page 122 GEOnet Names Server......Page 123 Geographic Names Information System (GNIS)......Page 124 Data format......Page 125 Choosing your geospatial data source......Page 126 Summary......Page 127 Pre-requisites......Page 128 Task – calculate the bounding box for each country in the world......Page 129 Task – save the country bounding boxes into a shapefile......Page 131 Task – analyze height data using a digital elevation map......Page 136 Changing datums and projections......Page 143 Task – change projections to combine shapefiles using geographic and UTM coordinates......Page 144 Task – change the datums to allow older and newer TIGER data to be combined......Page 149 Representing and storing geospatial data......Page 152 Task – calculate the border between Thailand and Myanmar......Page 153 Task – save geometries into a text file......Page 157 Task – identify parks in or near urban areas......Page 158 Converting and standardizing units of geometry and distance......Page 163 Task – calculate the length of the Thai-Myanmar border......Page 164 Task – find a point 132.7 kilometers west of Soshone, California......Page 171 Exercises......Page 173 Summary......Page 175 Spatially-enabled databases......Page 176 Spatial indexes......Page 177 MySQL......Page 180 Installing and configuring PostGIS......Page 185 Using PostGIS......Page 187 Documentation......Page 189 Advanced PostGIS Features......Page 190 Installing SpatiaLite......Page 191 Accessing SpatiaLite from Python......Page 192 Documentation......Page 193 Using SpatiaLite......Page 194 SpatiaLite capabilities......Page 195 Commercial Spatially-Enabled Databases......Page 196 MS SQL Server......Page 197 Using the database to keep track of spatial references......Page 198 Using the appropriate spatial reference for your data......Page 200 Option 1 – Using a database that supports geographies......Page 201 When to use unprojected coordinates......Page 202 Avoiding on-the-fly transformations within a query......Page 203 Don't create geometries within a query......Page 204 Using spatial indexes appropriately......Page 205 MySQL......Page 206 PostGIS......Page 208 SpatiaLite......Page 210 Working with MySQL......Page 212 Working with PostGIS......Page 216 Working with SpatiaLite......Page 218 Comparing the databases......Page 221 Summary......Page 222 About DISTAL......Page 224 Designing and building the database......Page 228 GNIS......Page 233 Importing the data......Page 234 World Borders Dataset......Page 235 GSHHS......Page 237 US places' name data......Page 239 Worldwide places' name data......Page 244 Implementing the DISTAL application......Page 246 The shared "database" module......Page 249 The "select country" script......Page 250 The "select area" script......Page 253 Calculating the bounding box......Page 258 Calculating the map's dimensions......Page 259 Setting up the data source......Page 262 Rendering the map image......Page 263 The "show results" script......Page 265 Identifying the clicked-on point......Page 266 Identifying features by distance......Page 267 Displaying the results......Page 276 Usability......Page 279 Lat/Long coordinate problems......Page 281 Finding the problem......Page 283 Improving performance......Page 286 Calculating the tiled shorelines......Page 288 Using the tiled shorelines......Page 297 Summary......Page 299 Chapter 8: Using Python and Mapnik to Generate Maps......Page 302 Introducing Mapnik......Page 303 Creating an example map......Page 309 Data sources......Page 313 Shapefile......Page 314 PostGIS......Page 315 Gdal......Page 317 Ogr......Page 318 SQLite......Page 319 OSM......Page 320 Rules, filters, and styles......Page 321 Filters......Page 322 Scale denominators......Page 324 "Also" rules......Page 326 Drawing lines......Page 327 Drawing polygons......Page 333 Drawing labels......Page 336 Drawing points......Page 346 Drawing raster images......Page 350 Using colors......Page 352 Maps and layers......Page 353 Map attributes and methods......Page 354 Layer attributes and methods......Page 355 Map rendering......Page 356 MapGenerator revisited......Page 358 The MapGenerator's interface......Page 359 Creating the main map layer......Page 360 Displaying points on the map......Page 361 Rendering the map......Page 362 Map definition files......Page 363 Summary......Page 367 About the ShapeEditor......Page 370 Designing the ShapeEditor......Page 374 Importing a shapefile......Page 375 Selecting a feature......Page 377 Prerequisites......Page 379 The structure of a Django application......Page 380 Models......Page 382 URL dispatching......Page 383 Templates......Page 386 Setting up the database......Page 388 Setting up the ShapeEditor project......Page 390 Creating the shared application......Page 392 Defining the data models......Page 394 Attribute......Page 395 AttributeValue......Page 396 The models.py file......Page 397 Playing with the admin system......Page 401 Summary......Page 408 Implementing the "list shapefiles" view......Page 410 Importing shapefiles......Page 415 The "import shapefile" view function......Page 416 Extracting the uploaded shapefile......Page 420 Open the shapefile......Page 422 Add the Shapefile object to the database......Page 423 Define the shapefile's attributes......Page 424 Store the shapefile's features......Page 425 Store the shapefile's attributes......Page 427 Cleaning up......Page 430 Exporting Shapefiles......Page 431 Define the OGR Shapefile......Page 432 Saving the features into the shapefile......Page 433 Saving the attributes into the shapefile......Page 435 Returning the ZIP archive to the user......Page 437 Summary......Page 439 Chapter 11: ShapeEditor – Selecting and Editing Features......Page 440 Selecting a feature to edit......Page 441 Implementing the Tile Map Server......Page 442 Setting up the Base Map......Page 452 Tile rendering......Page 455 Using OpenLayers to display the map......Page 461 Intercepting mouse clicks......Page 466 Implementing the find feature view......Page 471 Editing features......Page 477 Adding features......Page 485 Deleting features......Page 488 Deleting shapefiles......Page 489 Further improvements and enhancements......Page 491 Summary......Page 492 Index......Page 494 In Detail Geospatial development links your data to places on the Earth's surface. Writing geospatial programs involves tasks such as grouping data by location, storing and analyzing large amounts of spatial information, performing complex geospatial calculations, and drawing colorful interactive maps. In order to do this well, you'll need appropriate tools and techniques, as well as a thorough understanding of geospatial concepts such as map projections, datums and coordinate systems. Python Geospatial Development - Second Edition teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. Python Geospatial Development teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. This book provides an overview of the major geospatial concepts, data sources and toolkits. It teaches you how to store and access spatial data using Python, how to perform a range of spatial calculations, and how to store spatial data in a database. Because maps are such an important aspect of geospatial programming, the book teaches you how to build your own "slippy map" interface within a web application, and finishes with the detailed construction of a geospatial data editor using Geodjango. Whether you want to write quick utilities to solve spatial problems, or develop sophisticated web applications based around maps and geospatial data, this book includes everything you need to know.Approach This is a tutorial style book that will teach usage of Python tools for GIS using simple practical examples and then show you how to build a complete mapping application from scratch. The book assumes basic knowledge of Python. No knowledge of Open Source GIS is required.Who this book is for Experienced Python developers who want to learn about geospatial concepts, work with geospatial data, solve spatial problems, and build map-based applications. This book will be useful those who want to get up to speed with Open Source GIS in order to build GIS applications or integrate Geo-Spatial features into their existing applications If you're experienced in Python here's an opportunity to get deep into Geospatial development, linking data to global locations. No prior knowledge required - this book takes you through it all, step by step. Overview In Detail Geospatial development links your data to places on the Earths surface. Writing geospatial programs involves tasks such as grouping data by location, storing and analyzing large amounts of spatial information, performing complex geospatial calculations, and drawing colorful interactive maps. In order to do this well, youll need appropriate tools and techniques, as well as a thorough understanding of geospatial concepts such as map projections, datums and coordinate systems. Python Geospatial Development, Second Edition teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. Python Geospatial Development teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. This book provides an overview of the major geospatial concepts, data sources and toolkits. It teaches you how to store and access spatial data using Python, how to perform a range of spatial calculations, and how to store spatial data in a database. Because maps are such an important aspect of geospatial programming, the book teaches you how to build your own "slippy map" interface within a web application, and finishes with the detailed construction of a geospatial data editor using Geodjango. Whether you want to write quick utilities to solve spatial problems, or develop sophisticated web applications based around maps and geospatial data, this book includes everything you need to know. What you will learn from this book Approach This is a tutorial style book that will teach usage of Python tools for GIS using simple practical examples and then show you how to build a complete mapping application from scratch. The book assumes basic knowledge of Python. No knowledge of Open Source GIS is required. If you're experienced in Python here's an opportunity to get deep into Geospatial development, linking data to global locations. No prior knowledge required - this book takes you through it all, step by step. Build your own complete and sophisticated mapping applications in Python. Walks you through the process of building your own online system for viewing and editing geospatial data Practical, hands-on tutorial that teaches you all about geospatial development in Python In Detail Geospatial development links your data to places on the Earth's surface. Writing geospatial programs involves tasks such as grouping data by location, storing and analyzing large amounts of spatial information, performing complex geospatial calculations, and drawing colorful interactive maps. In order to do this well, you'll need appropriate tools and techniques, as well as a thorough understanding of geospatial concepts such as map projections, datums and coordinate systems. Python Geospatial Development - Second Edition teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. Python Geospatial Development teaches you everything you need to know about writing geospatial applications using Python. No prior knowledge of geospatial concepts, tools or techniques is required. The book guides you through the process of installing and using various toolkits, obtaining geospatial data for use in your programs, and building complete and sophisticated geospatial applications in Python. This book provides an overview of the major geospatial concepts, data sources and toolkits. It teaches you how to store and access spatial data using Python, how to perform a range of spatial calculations, and how to store spatial data in a database. Because maps are such an important aspect of geospatial programming, the book teaches you how to build your own "slippy map" interface within a web application, and finishes with the detailed construction of a geospatial data editor using Geodjango. Whether you want to write quick utilities to solve spatial problems, or develop sophisticated web applications based around maps and geospatial data, this book includes everything you nee ..
دانلود کتاب Python geospatial development : learn to build sophisticated mapping applications from scratch using Python tools for geospatial development