Actions for Introduction to GIS programming and fundamentals with Python and ArcGIS
Introduction to GIS programming and fundamentals with Python and ArcGIS / Chaowei Yang ; with the collaboration of Manzhu Yu [and seven others].
- Author
- Yang, Chaowei
- Published
- Boca Raton, FL : CRC Press, Taylor & Francis Group, [2017]
- Physical Description
- xxvi, 302 pages ; 25 cm
- Contents
- Machine generated contents note: 1.Introduction -- 1.1.Computer Hardware and Software -- 1.2.GIS and Programming -- 1.3.Python -- 1.4.Class and Object -- 1.5.GIS Data Models -- 1.6.UML -- 1.7.Hands-On Experience with Python -- 1.8.Chapter Summary -- Problems -- 2.Object-Oriented Programming -- 2.1.Programming Language and Python -- 2.2.Class and Object -- 2.2.1.Defining Classes -- 2.2.2.Object Generation -- 2.2.3.Attributes -- 2.2.4.Inheritance -- 2.2.5.Composition -- 2.3.Point, Polyline, and Polygon -- 2.4.Hands-On Experience with Python -- 2.5.Chapter Summary -- Problems -- 3.Introduction to Python -- 3.1.Object-Oriented Support -- 3.2.Syntax -- 3.2.1.Case Sensitivity -- 3.2.2.Special Characters -- 3.2.3.Indentation -- 3.2.4.Keywords -- 3.2.5.Multiple Assignments -- 3.2.6.Namespace -- 3.2.7.Scope -- 3.3.Data Types -- 3.3.1.Basic Data Types -- 3.3.2.Composite Data Types -- 3.4.Miscellaneous -- 3.4.1.Variables -- 3.4.2.Code Style -- 3.5.Operators -- 3.6.Statements -- 3.7.Functions -- 3.8.Hands-On Experience with Python -- 3.9.Chapter Summary -- Problems -- 4.Python Language Control Structure, File Input/Output, and Exception Handling -- 4.1.Making Decisions -- 4.2.Loops -- 4.3.Other Control Structures -- 4.4.File Input/Output -- 4.5.Exceptions -- 4.6.Hands-On Experience with Python -- 4.6.1.Find the Longest Distance between Any Two Points -- 4.6.2.Hands-On Experience: I/O, Create and Read a File -- 4.6.3.Hands-On Experience: I/O, Flow Control, and File -- 4.6.4.Hands-On Experience: Input GIS Point Data from Text File -- 4.7.Chapter Summary -- Problems -- 5.Programming Thinking and Vector Data Visualization -- 5.1.Problem: Visualizing GIS Data -- 5.2.Transforming Coordinate System -- 5.2.1.How to Determine Ratio Value? -- 5.3.Visualizing Vector Data -- 5.4.Point, Polyline, Polygon -- 5.5.Programming Thinking -- 5.5.1.Problem Analysis -- 5.5.2.Think in Programming -- 5.5.3.Match Programming Language Patterns and Structure -- 5.5.4.Implement Program -- 5.6.Hands-On Experience with Python -- 5.6.1.Reading, Parsing, and Analyzing Text File Data -- 5.6.2.Create GIS Objects and Check Intersection -- 5.7.Chapter Summary -- Problems -- 6.Shapefile Handling -- 6.1.Binary Data Manipulation -- 6.2.Shapefile Introduction -- 6.3.Shapefile Structure and Interpretation -- 6.3.1.Main File Structure of a Shapefile -- 6.3.1.1.Main File Header -- 6.3.1.2.Feature Record -- 6.3.2.Index File Structure (.shx) -- 6.3.3.The .dbf File -- 6.4.General Programming Sequence for Handling Shapefiles -- 6.5.Hands-On Experience with Mini-GIS -- 6.5.1.Visualize Polylines and Polygons -- 6.5.2.Interpret Polyline Shapefiles -- 6.6.Chapter Summary -- Problems -- 7.Python Programming Environment -- 7.1.General Python IDE -- 7.1.1.Python Programming Windows -- 7.1.1.1.Command-Line GUI -- 7.1.1.2.Interactive GUI -- 7.1.1.3.File-Based Programming -- 7.1.2.Python IDE Settings -- 7.1.2.1.Highlighting -- 7.1.2.2.General Setting of the Programming Window -- 7.1.2.3.Fonts Setup for the Coding -- 7.1.3.Debugging -- 7.1.3.1.SyntaxError -- 7.1.3.2.Run-Time Exceptions -- 7.1.3.3.Handling Exceptions -- 7.1.3.4.Add Exception Handles and Clean-Up Actions to File Read/Write -- 7.2.Python Modules -- 7.2.1.Module Introduction -- 7.2.2.Set Up Modules -- 7.2.3.System Built-In Modules -- 7.3.Package Management and Mini-GIS -- 7.3.1.Regular GIS Data Organization -- 7.3.2.Mini-GIS Package -- 7.4.Hands-On Experience with Mini-GIS -- 7.4.1.Package Management and Mini-GIS -- 7.4.2.Run and Practice the Mini-GIS Package -- 7.5.Chapter Summary -- Problems -- 8.Vector Data Algorithms -- 8.1.Centroid -- 8.1.1.Centroid of a Triangle -- 8.1.2.Centroid of a Rectangle -- 8.1.3.Centroid of a Polygon -- 8.2.Area -- 8.2.1.Area of a Simple Polygon -- 8.2.2.Area of a Polygon with Hole(s) -- 8.3.Length -- 8.3.1.Length of a Straight Line Segment -- 8.3.2.Length of a Polyline -- 8.4.Line Intersection -- 8.4.1.Parallel Lines -- 8.4.2.Vertical Lines -- 8.5.Point in Polygon -- 8.5.1.A Special Scenario -- 8.6.Hands-On Experience with Python -- 8.6.1.Using Python to Draw a Polygon and Calculate the Centroid -- 8.6.2.Using Python to Draw Polygon and Calculate the Area of Polygon -- 8.6.3.Using Python to Draw Line Segments and Calculate the Intersection -- 8.7.Chapter Summary -- Problems -- 9.ArcGIS Programming -- 9.1.ArcGIS Programming -- 9.2.Introduction to ArcPy Package -- 9.2.1.ArcPy Functions, Classes, and Modules -- 9.2.2.Programming with ArcPy in ArcMap -- 9.2.3.Programming with ArcPy in Python Window outside ArcMap -- 9.2.4.Using Help Documents -- 9.3.Automating ArcTools with Python -- 9.4.Accessing and Editing Data with Cursors -- 9.4.1.SearchCursor -- 9.4.2.UpdateCursor -- 9.4.3.InsertCursor -- 9.4.4.NumPy -- 9.5.Describing and Listing Objects -- 9.5.1.Describe -- 9.5.2.List -- 9.6.Manipulating Complex Objects -- 9.7.Automating Map Production -- 9.8.Creating ArcTools from Scripts -- 9.9.Handling Errors and Messages -- 9.10.External Document and Video Resources -- 9.11.Implementing Spatial Relationship Calculations Using ArcGIS -- 9.12.Summary -- 9.13.Assignment -- 10.Raster Data Algorithm -- 10.1.Raster Data -- 10.2.Raster Storage and Compression -- 10.2.1.Run Length Coding -- 10.2.2.Quad Tree -- 10.3.Raster Data Formats -- 10.3.1.TIFF -- 10.3.2.GeoTIFF -- 10.3.3.IMG -- 10.3.4.NetCDF -- 10.3.5.BMP -- 10.3.6.SVG -- 10.3.7.JPEG -- 10.3.8.GIF -- 10.3.9.PNG -- 10.4.Color Representation and Raster Rendering -- 10.4.1.Color Representation -- 10.4.2.Raster Rendering -- 10.5.Raster Analysis -- 10.6.Hands-On Experience with ArcGIS -- 10.6.1.Hands-On Practice 10.1: Raster Color Renders -- 10.6.2.Hands-On Practice 10.2: Raster Data Analysis: Find the Area with the Elevation Range between 60 and 100 and the Land Cover Type as "Forest" -- 10.6.3.Hands-On Practice 10.3. Access the Attribute Information of Raster Dataset and Calculate the Area -- 10.7.Chapter Summary -- Problems -- 11.Network Data Algorithms -- 11.1.Network Representation -- 11.1.1.Basics Network Representation -- 11.1.2.Directed and Undirected Networks -- 11.1.3.The Adjacency Matrix -- 11.1.4.Network Representation in GIS -- 11.2.Finding the Shortest Path -- 11.2.1.Problem Statement -- 11.2.2.A Brute Force Approach for the Shortest Path Algorithm -- 11.2.3.Dijkstra Algorithm -- 11.3.Types of Network Analysis -- 11.3.1.Routing -- 11.3.2.Closest Facility -- 11.3.3.Service Areas -- 11.3.4.OD Cost Matrix -- 11.3.5.Vehicle Routing Problem -- 11.3.6.Location-Allocation -- 11.4.Hands-On Experience with ArcGIS -- 11.5.Chapter Summary -- Problems -- 12.Surface Data Algorithms -- 12.1.3D Surface and Data Model -- 12.1.1.Surface Data -- 12.1.2.Surface Data Model -- 12.1.2.1.Discrete Data -- 12.1.2.2.Continuous Data -- 12.2.Create Surface Model Data -- 12.2.1.Create Grid Surface Model -- 12.2.2.Creating TIN Surface Model -- 12.2.3.Conversion between TIN and Raster Surface Models -- 12.3.Surface Data Analysis -- 12.3.1.Elevation -- 12.3.2.Slope -- 12.3.3.Aspect -- 12.3.4.Hydrologic Analysis -- 12.4.Hands-On Experience with ArcGIS -- 12.4.1.Hands-On Practice 12.1: Conversion among DEM, TIN, and Contours -- 12.4.2.Hands-On Practice 12.2: Generate Slope and Aspect -- 12.4.3.Hands-On Practice 12.3: Flow Direction -- 12.5.Chapter Summary -- Problems -- 13.Performance-Improving Techniques -- 13.1.Problems -- 13.2.Disk Access and Memory Management -- 13.2.1.File Management -- 13.2.2.Comprehensive Consideration -- 13.3.Parallel Processing and Multithreading -- 13.3.1.Sequential and Concurrent Execution -- 13.3.2.Multithreading -- 13.3.3.Load Multiple Shapefiles Concurrently Using Multithreading -- 13.3.4.Parallel Processing and Cluster, Grid, and Cloud Computing -- 13.4.Relationship Calculation and Spatial Index -- 13.4.1.Bounding Box in GIS -- 13.4.2.Spatial Index -- 13.5.Hands-On Experience with Mini-GIS -- 13.5.1.Data Loading with RAM as File Buffer -- 13.5.2.Data Loading with Multithreading -- 13.5.3.Bounding Box Checking to Speed Up Intersection -- 13.5.4.Line Intersection Using R-Tree Index -- 13.6.Chapter Summary -- Problems -- 14.Advanced Topics -- 14.1.Spatial Data Structure -- 14.1.1.Raster Data Structure in NetCDF/HDF -- 14.1.2.Application of NetCDF/HDF on Climate Study -- 14.2.GIS Algorithms and Modeling -- 14.2.1.Data -- 14.2.2.Density Analysis -- 14.2.3.Regression Analysis (OLS and GWR) -- 14.3.Distributed GIS -- 14.3.1.System Architecture -- 14.3.2.User Interface -- 14.4.Spatiotemporal Thinking and Computing -- 14.4.1.Problem: Dust Simulation and Computing Challenges -- 14.4.2.Methodology 1: Utilizing High-Performance Computing to Support Dust Simulation -- 14.4.3.Methodology 2: Utilizing Spatiotemporal Thinking to Optimize High-Performance Computing -- 14.4.3.1.Dust Storms' Clustered Characteristics: Scheduling Methods -- 14.4.3.2.Dust Storms' Space-Time Continuity: Decomposition Method -- 14.4.3.3.Dust Storm Events Are Isolated: Nested Model -- 14.4.4.Methodology 3: Utilizing Cloud Computing to Support Dust Storm Forecasting -- 14.5.Chapter Summary -- Problems.
- Subject(s)
- ISBN
- 9781466510081 hardcover ; alkaline paper
1466510080 hardcover ; alkaline paper
9781466510098 electronic book - Bibliography Note
- Includes bibliographical references and index.
View MARC record | catkey: 20274590