000 11754nam a22004813i 4500
001 EBC5475556
003 MiAaPQ
005 20240724113302.0
006 m o d |
007 cr cnu||||||||
008 240724s2017 xx o ||||0 eng d
020 _a9781466510098
_q(electronic bk.)
020 _z9781466510081
035 _a(MiAaPQ)EBC5475556
035 _a(Au-PeEL)EBL5475556
035 _a(CaPaEBR)ebr11595531
035 _a(OCoLC)987028260
040 _aMiAaPQ
_beng
_erda
_epn
_cMiAaPQ
_dMiAaPQ
050 4 _aG70.212 .Y36 2017
082 0 _a910.2855133
100 1 _aYang, Chaowei.
245 1 0 _aIntroduction to GIS Programming and Fundamentals with Python and ArcGIS®.
250 _a1st ed.
264 1 _aMilton :
_bTaylor & Francis Group,
_c2017.
264 4 _c©2017.
300 _a1 online resource (329 pages)
336 _atext
_btxt
_2rdacontent
337 _acomputer
_bc
_2rdamedia
338 _aonline resource
_bcr
_2rdacarrier
505 0 _aCover -- Half Title -- Title Page -- Copyright Page -- Dedication -- Contents -- Preface -- Acknowledgments -- Editor -- Contributors -- Section I: Overview -- 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 -- Section II: Python Programming -- 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.
505 8 _a5.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.
505 8 _a8.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 -- Section III: Advanced GIS Algorithms and Their Programming in ArcGIS -- 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.
505 8 _a10.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.
505 8 _aSection IV: Advanced Topics -- 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 -- References -- Index.
520 _aCombining GIS concepts and fundamental spatial thinking methodology with real programming examples, this book introduces popular Python-based tools and their application to solving real-world problems. It elucidates the programming constructs of Python with its high-level toolkits and demonstrates its integration with ArcGIS Theory. Filled with hands-on computer exercises in a logical learning workflow this book promotes increased interactivity between instructors and students while also benefiting professionals in the field with vital knowledge to sharpen their programming skills. Readers receive expert guidance on modules, package management, and handling shapefile formats needed to build their own mini-GIS.
588 _aDescription based on publisher supplied metadata and other sources.
590 _aElectronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
650 0 _aPython (Computer program language).
655 4 _aElectronic books.
776 0 8 _iPrint version:
_aYang, Chaowei
_tIntroduction to GIS Programming and Fundamentals with Python and ArcGIS®
_dMilton : Taylor & Francis Group,c2017
_z9781466510081
797 2 _aProQuest (Firm)
856 4 0 _uhttps://ebookcentral.proquest.com/lib/orpp/detail.action?docID=5475556
_zClick to View
999 _c3917
_d3917