Pouria Amirian
Beginning ArcGIS for Desktop Development Using .Net
Pouria Amirian
Beginning ArcGIS for Desktop Development Using .Net
- Broschiertes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Get the very most out of the ArcGIS family of software products ArcGIS software manipulates, processes, and presents geospatial data. With it, you can create maps, use them in a variety of applications, compile geographic data, and more. Now you can tailor this powerful tool to your own development needs using VB.NET and C sharp and the solid guidance in this practical Wrox guide. You'll get up to speed on ArcGIS tools and artifacts, explore best practices from real-world examples, and learn to program in ArcGIS. The book includes fully functional code and guides you all the way through, from…mehr
Andere Kunden interessierten sich auch für
- Vladimir O. SafonovUsing Aspect-Oriented Programming for Trustworthy Software Development160,99 €
- Samuel PhungProfessional Windows Embedded Compact 739,99 €
- Rex BlackManaging the Testing Process39,99 €
- Greg MiletteProfessional Android Sensor Programming43,99 €
- Richard WagnerXML All in One Desk Reference for Dummies35,99 €
- Ian LunnTreehouse CSS3 Foundations35,99 €
- John P. MuellerLinq for Dummies26,99 €
-
-
-
Get the very most out of the ArcGIS family of software products
ArcGIS software manipulates, processes, and presents geospatial data. With it, you can create maps, use them in a variety of applications, compile geographic data, and more. Now you can tailor this powerful tool to your own development needs using VB.NET and C sharp and the solid guidance in this practical Wrox guide. You'll get up to speed on ArcGIS tools and artifacts, explore best practices from real-world examples, and learn to program in ArcGIS. The book includes fully functional code and guides you all the way through, from development to deployment.
Gets programmers up and running on ArcGIS, a family of software products for creating maps and handling geographic data
Shows how to customize and build commands, tools, and extensions using ArcGIS APIs and VB.NET, C sharp, and Java
Covers ArcGIS development through deployment
Topics include object orientation and UML, programming in .NET accessing maps and layers, data management, and more
Learn how to customize your data and improve your productivity with this powerful tool and Beginning ArcGIS Desktop Development Using .Net.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
ArcGIS software manipulates, processes, and presents geospatial data. With it, you can create maps, use them in a variety of applications, compile geographic data, and more. Now you can tailor this powerful tool to your own development needs using VB.NET and C sharp and the solid guidance in this practical Wrox guide. You'll get up to speed on ArcGIS tools and artifacts, explore best practices from real-world examples, and learn to program in ArcGIS. The book includes fully functional code and guides you all the way through, from development to deployment.
Gets programmers up and running on ArcGIS, a family of software products for creating maps and handling geographic data
Shows how to customize and build commands, tools, and extensions using ArcGIS APIs and VB.NET, C sharp, and Java
Covers ArcGIS development through deployment
Topics include object orientation and UML, programming in .NET accessing maps and layers, data management, and more
Learn how to customize your data and improve your productivity with this powerful tool and Beginning ArcGIS Desktop Development Using .Net.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Verlag: Wiley & Sons
- 1. Auflage
- Seitenzahl: 528
- Erscheinungstermin: 18. März 2013
- Englisch
- Abmessung: 233mm x 187mm x 30mm
- Gewicht: 892g
- ISBN-13: 9781118442548
- ISBN-10: 1118442547
- Artikelnr.: 36685201
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- 06621 890
- Verlag: Wiley & Sons
- 1. Auflage
- Seitenzahl: 528
- Erscheinungstermin: 18. März 2013
- Englisch
- Abmessung: 233mm x 187mm x 30mm
- Gewicht: 892g
- ISBN-13: 9781118442548
- ISBN-10: 1118442547
- Artikelnr.: 36685201
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- 06621 890
Pouria Amirian holds a Ph.D. of Geospatial Information Systems (GIS). Dr. Amirian is a developer and GIS/IT lecturer with extensive experience developing and deploying small to large-scale Geospatial Information Systems. Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that guides you through all the techniques involved.
INTRODUCTION xxi
PART I: THE BASICS
CHAPTER 1: WHY GEOSPATIAL IS SPECIAL 3
A Tour of Geospatial Data 4
Why Geospatial Is Special 8
Various Kinds of GIS Software 10
Server GIS 11
Desktop GIS 13
Developer GIS 17
Mobile GIS 18
Geospatial Data Models and Storage 19
Raster 19
Vector 20
Geospatial Data as Text or Binary File 20
Geospatial Data in Georelational Models 21
Geospatial Data Inside Spatial DBMS 21
Geospatial Data in XML Structures 23
Esri Geodatabase 30
Personal Geodatabase 30
File Geodatabase 30
ArcSDE Geodatabase 31
Summary 32
CHAPTER 2: INTRODUCTION TO ARCGIS FOR DESKTOP APPLICATIONS CUSTOMIZATION 35
Four Ways to Customize ArcGIS for Desktop 36
Customizing the User Interface 37
Scripting 41
Desktop Add-Ins 48
ArcObjects SDK 55
Summary 59
PART II: .NET PROGRAMMING FUNDAMENTALS
CHAPTER 3: .NET PROGRAMMING FUNDAMENTALS, PART I 63
The .NET Framework 63
The C# Language 64
A Brief History of C# 64
Basic Concepts 65
Variables and Data Types 66
Nullable Data Types 71
Operations on Variables 71
Arrays 75
Decision-Making 76
Iteration 78
Object Manipulation 81
Data Type Conversion 83
Enumerations 85
Methods 89
Introduction to Object-Oriented Programming in C# 93
Object-Oriented Programming in Action 94
Defi ning Properties 96
Defi ning Methods 98
Defi ning Constructors 98
Summary 100
CHAPTER 4: .NET PROGRAMMING FUNDAMENTALS, PART II 103
Overview of Object-Oriented Programming Concepts 104
Abstraction 104
Encapsulation 104
Inheritance 105
Polymorphism 106
Reference Types and Value Types 108
Assignment Operations 108
Comparison Operations 109
Passing Parameters between Method Calls 109
Brief Explanation of All .NET Types 111
Namespaces and Assemblies 112
Debugging Using Visual Studio 113
Structured Exception Handling 117
Casting Objects 120
Aggregation Using Collections 121
The ArrayList 122
Generics 123
Reading and Writing Files 123
Summary 135
PART III: ARCOBJECTS PROGRAMMING
CHAPTER 5: UNDERSTANDING ARCOBJECTS OBJECT MODEL DIAGRAMS 139
What Is ArcObjects? 140
Interface-Based Programming in Brief 140
Understanding Object Model Diagrams 144
Types of Classes in ArcObjects 145
Relationships between Classes 147
Members of Interfaces 149
Interface Inheritance 151
Wormhole 153
Additional Tips for Using Object Model Diagrams 153
Where to Start with ArcObjects 155
How to Find an Associated Member 156
Summary 163
CHAPTER 6: ACCESSING MAPS AND LAYERS 165
Introduction to Maps and Layers In ArcObjects 165
General Properties of All Layers 175
Working with FeatureLayers 179
Working with RasterLayers 183
Adding an Existing *.lyr File to a Map 184
Adding *.lyr Files Using GxDialog 186
Saving *.lyr and *.mxd Files 191
Summary 194
CHAPTER 7: WORKING WITH TABLES AND FEATURECLASSES 197
Accessing Tables and FeatureClasses 197
Adding and Deleting Fields 204
Adding Existing FeatureClasses, Tables, and Rasters to a Map 207
Deleting an Existing FeatureDataset, FeatureClass, Table, or Raster 215
Creating Tables and Rows 215
Summary 225
CHAPTER 8: SUBSETS OF RECORDS 227
Using Object Model Diagrams for Selecting Features and Rows 228
Working with Existing Selections 229
Selecting Rows and Features 233
Accessing a Subset of Records 237
Simple Statistics of Features 245
Some Important Points about Using Cursors 251
Displaying Subsets of Geospatial Data 254
Summary 255
CHAPTER 9: CONSTRUCTING AND USING THE GEOMETRY OF FEATURES 257
Object Model Diagram for the Geometry of Features and Graphics 258
Displaying Geometries on the Screen 260
Creating and Drawing Points 261
Creating and Drawing Multipoints 264
Creating and Drawing Polylines 268
Creating and Drawing Polygons 272
Creating a New Feature and Editing
an Existing Feature's Geometry 276
Working with Spatial Operators 281
Examining Spatial Relationships 281
Common Geoprocessing Operations 284
Determining the Nearest Points and Distance 287
Length, Area, Centroid, and Envelope of Geometries 292
Summary 293
CHAPTER 10: RENDERING GEOSPATIAL DATA AND USING HYPERLINKS AND MAPTIPS 295
Geospatial Data Display 296
Color and ColorRamp Classes 296
Symbols 298
Renderers for Vector and Raster Geospatial Data 300
Going beyond Simple Display 318
Simple and Advanced MapTips 319
Hyperlinks 321
Summary 324
CHAPTER 11: LABELING, EXPORTING ACTIVEVIEW, AND WORKING WITH ELEMENTS 327
Labeling 328
Labeling with the Default Labeling Engine 329
Labeling with the Maplex Labeling Engine 334
Exporting the ActiveView 336
Working with Elements 346
Adding GraphicElements 348
Adding FrameElements 352
Summary 361
CHAPTER 12: GEOPROCESSING WITH TOOLS AND MODELS 365
ArcObjects and the Geoprocessing Framework 365
Running Geoprocessing Tools 366
Running Custom Tools 375
Opening a Tool's Dialog Box in Code 384
Geoprocessing in the Background 389
Bach Processing 397
Can I Manage the Execution of Geoprocessing Tools? 399
Summary 400
CHAPTER 13: FEATURE DATA MANAGEMENT 403
Use of GUID in ArcObjects 404
Working with the Geodatabase Model 406
Creating Geodatabases 407
Creating FeatureDatasets and FeatureClasses 408
Working with Features 418
Creating New Features 418
Modifying Existing Features 422
Summary 426
CHAPTER 14: ADVANCED TOPICS IN ARCOBJECTS PROGRAMMING AND DEPLOYMENT 429
Sharing State and Functionality between Components 430
Event Handling in ArcObjects 432
Application Extension 435
Add-In Deployment 450
Preparing for Release 450
Add-In File Structure 452
Distributing and Installing an Add-In 453
Custom Component Deployment 456
Creating an Installer for Custom Component 459
Summary 465
APPENDIX: ANSWERS TO CHAPTER EXERCISES 467
INDEX 479
PART I: THE BASICS
CHAPTER 1: WHY GEOSPATIAL IS SPECIAL 3
A Tour of Geospatial Data 4
Why Geospatial Is Special 8
Various Kinds of GIS Software 10
Server GIS 11
Desktop GIS 13
Developer GIS 17
Mobile GIS 18
Geospatial Data Models and Storage 19
Raster 19
Vector 20
Geospatial Data as Text or Binary File 20
Geospatial Data in Georelational Models 21
Geospatial Data Inside Spatial DBMS 21
Geospatial Data in XML Structures 23
Esri Geodatabase 30
Personal Geodatabase 30
File Geodatabase 30
ArcSDE Geodatabase 31
Summary 32
CHAPTER 2: INTRODUCTION TO ARCGIS FOR DESKTOP APPLICATIONS CUSTOMIZATION 35
Four Ways to Customize ArcGIS for Desktop 36
Customizing the User Interface 37
Scripting 41
Desktop Add-Ins 48
ArcObjects SDK 55
Summary 59
PART II: .NET PROGRAMMING FUNDAMENTALS
CHAPTER 3: .NET PROGRAMMING FUNDAMENTALS, PART I 63
The .NET Framework 63
The C# Language 64
A Brief History of C# 64
Basic Concepts 65
Variables and Data Types 66
Nullable Data Types 71
Operations on Variables 71
Arrays 75
Decision-Making 76
Iteration 78
Object Manipulation 81
Data Type Conversion 83
Enumerations 85
Methods 89
Introduction to Object-Oriented Programming in C# 93
Object-Oriented Programming in Action 94
Defi ning Properties 96
Defi ning Methods 98
Defi ning Constructors 98
Summary 100
CHAPTER 4: .NET PROGRAMMING FUNDAMENTALS, PART II 103
Overview of Object-Oriented Programming Concepts 104
Abstraction 104
Encapsulation 104
Inheritance 105
Polymorphism 106
Reference Types and Value Types 108
Assignment Operations 108
Comparison Operations 109
Passing Parameters between Method Calls 109
Brief Explanation of All .NET Types 111
Namespaces and Assemblies 112
Debugging Using Visual Studio 113
Structured Exception Handling 117
Casting Objects 120
Aggregation Using Collections 121
The ArrayList 122
Generics 123
Reading and Writing Files 123
Summary 135
PART III: ARCOBJECTS PROGRAMMING
CHAPTER 5: UNDERSTANDING ARCOBJECTS OBJECT MODEL DIAGRAMS 139
What Is ArcObjects? 140
Interface-Based Programming in Brief 140
Understanding Object Model Diagrams 144
Types of Classes in ArcObjects 145
Relationships between Classes 147
Members of Interfaces 149
Interface Inheritance 151
Wormhole 153
Additional Tips for Using Object Model Diagrams 153
Where to Start with ArcObjects 155
How to Find an Associated Member 156
Summary 163
CHAPTER 6: ACCESSING MAPS AND LAYERS 165
Introduction to Maps and Layers In ArcObjects 165
General Properties of All Layers 175
Working with FeatureLayers 179
Working with RasterLayers 183
Adding an Existing *.lyr File to a Map 184
Adding *.lyr Files Using GxDialog 186
Saving *.lyr and *.mxd Files 191
Summary 194
CHAPTER 7: WORKING WITH TABLES AND FEATURECLASSES 197
Accessing Tables and FeatureClasses 197
Adding and Deleting Fields 204
Adding Existing FeatureClasses, Tables, and Rasters to a Map 207
Deleting an Existing FeatureDataset, FeatureClass, Table, or Raster 215
Creating Tables and Rows 215
Summary 225
CHAPTER 8: SUBSETS OF RECORDS 227
Using Object Model Diagrams for Selecting Features and Rows 228
Working with Existing Selections 229
Selecting Rows and Features 233
Accessing a Subset of Records 237
Simple Statistics of Features 245
Some Important Points about Using Cursors 251
Displaying Subsets of Geospatial Data 254
Summary 255
CHAPTER 9: CONSTRUCTING AND USING THE GEOMETRY OF FEATURES 257
Object Model Diagram for the Geometry of Features and Graphics 258
Displaying Geometries on the Screen 260
Creating and Drawing Points 261
Creating and Drawing Multipoints 264
Creating and Drawing Polylines 268
Creating and Drawing Polygons 272
Creating a New Feature and Editing
an Existing Feature's Geometry 276
Working with Spatial Operators 281
Examining Spatial Relationships 281
Common Geoprocessing Operations 284
Determining the Nearest Points and Distance 287
Length, Area, Centroid, and Envelope of Geometries 292
Summary 293
CHAPTER 10: RENDERING GEOSPATIAL DATA AND USING HYPERLINKS AND MAPTIPS 295
Geospatial Data Display 296
Color and ColorRamp Classes 296
Symbols 298
Renderers for Vector and Raster Geospatial Data 300
Going beyond Simple Display 318
Simple and Advanced MapTips 319
Hyperlinks 321
Summary 324
CHAPTER 11: LABELING, EXPORTING ACTIVEVIEW, AND WORKING WITH ELEMENTS 327
Labeling 328
Labeling with the Default Labeling Engine 329
Labeling with the Maplex Labeling Engine 334
Exporting the ActiveView 336
Working with Elements 346
Adding GraphicElements 348
Adding FrameElements 352
Summary 361
CHAPTER 12: GEOPROCESSING WITH TOOLS AND MODELS 365
ArcObjects and the Geoprocessing Framework 365
Running Geoprocessing Tools 366
Running Custom Tools 375
Opening a Tool's Dialog Box in Code 384
Geoprocessing in the Background 389
Bach Processing 397
Can I Manage the Execution of Geoprocessing Tools? 399
Summary 400
CHAPTER 13: FEATURE DATA MANAGEMENT 403
Use of GUID in ArcObjects 404
Working with the Geodatabase Model 406
Creating Geodatabases 407
Creating FeatureDatasets and FeatureClasses 408
Working with Features 418
Creating New Features 418
Modifying Existing Features 422
Summary 426
CHAPTER 14: ADVANCED TOPICS IN ARCOBJECTS PROGRAMMING AND DEPLOYMENT 429
Sharing State and Functionality between Components 430
Event Handling in ArcObjects 432
Application Extension 435
Add-In Deployment 450
Preparing for Release 450
Add-In File Structure 452
Distributing and Installing an Add-In 453
Custom Component Deployment 456
Creating an Installer for Custom Component 459
Summary 465
APPENDIX: ANSWERS TO CHAPTER EXERCISES 467
INDEX 479
INTRODUCTION xxi
PART I: THE BASICS
CHAPTER 1: WHY GEOSPATIAL IS SPECIAL 3
A Tour of Geospatial Data 4
Why Geospatial Is Special 8
Various Kinds of GIS Software 10
Server GIS 11
Desktop GIS 13
Developer GIS 17
Mobile GIS 18
Geospatial Data Models and Storage 19
Raster 19
Vector 20
Geospatial Data as Text or Binary File 20
Geospatial Data in Georelational Models 21
Geospatial Data Inside Spatial DBMS 21
Geospatial Data in XML Structures 23
Esri Geodatabase 30
Personal Geodatabase 30
File Geodatabase 30
ArcSDE Geodatabase 31
Summary 32
CHAPTER 2: INTRODUCTION TO ARCGIS FOR DESKTOP APPLICATIONS CUSTOMIZATION 35
Four Ways to Customize ArcGIS for Desktop 36
Customizing the User Interface 37
Scripting 41
Desktop Add-Ins 48
ArcObjects SDK 55
Summary 59
PART II: .NET PROGRAMMING FUNDAMENTALS
CHAPTER 3: .NET PROGRAMMING FUNDAMENTALS, PART I 63
The .NET Framework 63
The C# Language 64
A Brief History of C# 64
Basic Concepts 65
Variables and Data Types 66
Nullable Data Types 71
Operations on Variables 71
Arrays 75
Decision-Making 76
Iteration 78
Object Manipulation 81
Data Type Conversion 83
Enumerations 85
Methods 89
Introduction to Object-Oriented Programming in C# 93
Object-Oriented Programming in Action 94
Defi ning Properties 96
Defi ning Methods 98
Defi ning Constructors 98
Summary 100
CHAPTER 4: .NET PROGRAMMING FUNDAMENTALS, PART II 103
Overview of Object-Oriented Programming Concepts 104
Abstraction 104
Encapsulation 104
Inheritance 105
Polymorphism 106
Reference Types and Value Types 108
Assignment Operations 108
Comparison Operations 109
Passing Parameters between Method Calls 109
Brief Explanation of All .NET Types 111
Namespaces and Assemblies 112
Debugging Using Visual Studio 113
Structured Exception Handling 117
Casting Objects 120
Aggregation Using Collections 121
The ArrayList 122
Generics 123
Reading and Writing Files 123
Summary 135
PART III: ARCOBJECTS PROGRAMMING
CHAPTER 5: UNDERSTANDING ARCOBJECTS OBJECT MODEL DIAGRAMS 139
What Is ArcObjects? 140
Interface-Based Programming in Brief 140
Understanding Object Model Diagrams 144
Types of Classes in ArcObjects 145
Relationships between Classes 147
Members of Interfaces 149
Interface Inheritance 151
Wormhole 153
Additional Tips for Using Object Model Diagrams 153
Where to Start with ArcObjects 155
How to Find an Associated Member 156
Summary 163
CHAPTER 6: ACCESSING MAPS AND LAYERS 165
Introduction to Maps and Layers In ArcObjects 165
General Properties of All Layers 175
Working with FeatureLayers 179
Working with RasterLayers 183
Adding an Existing *.lyr File to a Map 184
Adding *.lyr Files Using GxDialog 186
Saving *.lyr and *.mxd Files 191
Summary 194
CHAPTER 7: WORKING WITH TABLES AND FEATURECLASSES 197
Accessing Tables and FeatureClasses 197
Adding and Deleting Fields 204
Adding Existing FeatureClasses, Tables, and Rasters to a Map 207
Deleting an Existing FeatureDataset, FeatureClass, Table, or Raster 215
Creating Tables and Rows 215
Summary 225
CHAPTER 8: SUBSETS OF RECORDS 227
Using Object Model Diagrams for Selecting Features and Rows 228
Working with Existing Selections 229
Selecting Rows and Features 233
Accessing a Subset of Records 237
Simple Statistics of Features 245
Some Important Points about Using Cursors 251
Displaying Subsets of Geospatial Data 254
Summary 255
CHAPTER 9: CONSTRUCTING AND USING THE GEOMETRY OF FEATURES 257
Object Model Diagram for the Geometry of Features and Graphics 258
Displaying Geometries on the Screen 260
Creating and Drawing Points 261
Creating and Drawing Multipoints 264
Creating and Drawing Polylines 268
Creating and Drawing Polygons 272
Creating a New Feature and Editing
an Existing Feature's Geometry 276
Working with Spatial Operators 281
Examining Spatial Relationships 281
Common Geoprocessing Operations 284
Determining the Nearest Points and Distance 287
Length, Area, Centroid, and Envelope of Geometries 292
Summary 293
CHAPTER 10: RENDERING GEOSPATIAL DATA AND USING HYPERLINKS AND MAPTIPS 295
Geospatial Data Display 296
Color and ColorRamp Classes 296
Symbols 298
Renderers for Vector and Raster Geospatial Data 300
Going beyond Simple Display 318
Simple and Advanced MapTips 319
Hyperlinks 321
Summary 324
CHAPTER 11: LABELING, EXPORTING ACTIVEVIEW, AND WORKING WITH ELEMENTS 327
Labeling 328
Labeling with the Default Labeling Engine 329
Labeling with the Maplex Labeling Engine 334
Exporting the ActiveView 336
Working with Elements 346
Adding GraphicElements 348
Adding FrameElements 352
Summary 361
CHAPTER 12: GEOPROCESSING WITH TOOLS AND MODELS 365
ArcObjects and the Geoprocessing Framework 365
Running Geoprocessing Tools 366
Running Custom Tools 375
Opening a Tool's Dialog Box in Code 384
Geoprocessing in the Background 389
Bach Processing 397
Can I Manage the Execution of Geoprocessing Tools? 399
Summary 400
CHAPTER 13: FEATURE DATA MANAGEMENT 403
Use of GUID in ArcObjects 404
Working with the Geodatabase Model 406
Creating Geodatabases 407
Creating FeatureDatasets and FeatureClasses 408
Working with Features 418
Creating New Features 418
Modifying Existing Features 422
Summary 426
CHAPTER 14: ADVANCED TOPICS IN ARCOBJECTS PROGRAMMING AND DEPLOYMENT 429
Sharing State and Functionality between Components 430
Event Handling in ArcObjects 432
Application Extension 435
Add-In Deployment 450
Preparing for Release 450
Add-In File Structure 452
Distributing and Installing an Add-In 453
Custom Component Deployment 456
Creating an Installer for Custom Component 459
Summary 465
APPENDIX: ANSWERS TO CHAPTER EXERCISES 467
INDEX 479
PART I: THE BASICS
CHAPTER 1: WHY GEOSPATIAL IS SPECIAL 3
A Tour of Geospatial Data 4
Why Geospatial Is Special 8
Various Kinds of GIS Software 10
Server GIS 11
Desktop GIS 13
Developer GIS 17
Mobile GIS 18
Geospatial Data Models and Storage 19
Raster 19
Vector 20
Geospatial Data as Text or Binary File 20
Geospatial Data in Georelational Models 21
Geospatial Data Inside Spatial DBMS 21
Geospatial Data in XML Structures 23
Esri Geodatabase 30
Personal Geodatabase 30
File Geodatabase 30
ArcSDE Geodatabase 31
Summary 32
CHAPTER 2: INTRODUCTION TO ARCGIS FOR DESKTOP APPLICATIONS CUSTOMIZATION 35
Four Ways to Customize ArcGIS for Desktop 36
Customizing the User Interface 37
Scripting 41
Desktop Add-Ins 48
ArcObjects SDK 55
Summary 59
PART II: .NET PROGRAMMING FUNDAMENTALS
CHAPTER 3: .NET PROGRAMMING FUNDAMENTALS, PART I 63
The .NET Framework 63
The C# Language 64
A Brief History of C# 64
Basic Concepts 65
Variables and Data Types 66
Nullable Data Types 71
Operations on Variables 71
Arrays 75
Decision-Making 76
Iteration 78
Object Manipulation 81
Data Type Conversion 83
Enumerations 85
Methods 89
Introduction to Object-Oriented Programming in C# 93
Object-Oriented Programming in Action 94
Defi ning Properties 96
Defi ning Methods 98
Defi ning Constructors 98
Summary 100
CHAPTER 4: .NET PROGRAMMING FUNDAMENTALS, PART II 103
Overview of Object-Oriented Programming Concepts 104
Abstraction 104
Encapsulation 104
Inheritance 105
Polymorphism 106
Reference Types and Value Types 108
Assignment Operations 108
Comparison Operations 109
Passing Parameters between Method Calls 109
Brief Explanation of All .NET Types 111
Namespaces and Assemblies 112
Debugging Using Visual Studio 113
Structured Exception Handling 117
Casting Objects 120
Aggregation Using Collections 121
The ArrayList 122
Generics 123
Reading and Writing Files 123
Summary 135
PART III: ARCOBJECTS PROGRAMMING
CHAPTER 5: UNDERSTANDING ARCOBJECTS OBJECT MODEL DIAGRAMS 139
What Is ArcObjects? 140
Interface-Based Programming in Brief 140
Understanding Object Model Diagrams 144
Types of Classes in ArcObjects 145
Relationships between Classes 147
Members of Interfaces 149
Interface Inheritance 151
Wormhole 153
Additional Tips for Using Object Model Diagrams 153
Where to Start with ArcObjects 155
How to Find an Associated Member 156
Summary 163
CHAPTER 6: ACCESSING MAPS AND LAYERS 165
Introduction to Maps and Layers In ArcObjects 165
General Properties of All Layers 175
Working with FeatureLayers 179
Working with RasterLayers 183
Adding an Existing *.lyr File to a Map 184
Adding *.lyr Files Using GxDialog 186
Saving *.lyr and *.mxd Files 191
Summary 194
CHAPTER 7: WORKING WITH TABLES AND FEATURECLASSES 197
Accessing Tables and FeatureClasses 197
Adding and Deleting Fields 204
Adding Existing FeatureClasses, Tables, and Rasters to a Map 207
Deleting an Existing FeatureDataset, FeatureClass, Table, or Raster 215
Creating Tables and Rows 215
Summary 225
CHAPTER 8: SUBSETS OF RECORDS 227
Using Object Model Diagrams for Selecting Features and Rows 228
Working with Existing Selections 229
Selecting Rows and Features 233
Accessing a Subset of Records 237
Simple Statistics of Features 245
Some Important Points about Using Cursors 251
Displaying Subsets of Geospatial Data 254
Summary 255
CHAPTER 9: CONSTRUCTING AND USING THE GEOMETRY OF FEATURES 257
Object Model Diagram for the Geometry of Features and Graphics 258
Displaying Geometries on the Screen 260
Creating and Drawing Points 261
Creating and Drawing Multipoints 264
Creating and Drawing Polylines 268
Creating and Drawing Polygons 272
Creating a New Feature and Editing
an Existing Feature's Geometry 276
Working with Spatial Operators 281
Examining Spatial Relationships 281
Common Geoprocessing Operations 284
Determining the Nearest Points and Distance 287
Length, Area, Centroid, and Envelope of Geometries 292
Summary 293
CHAPTER 10: RENDERING GEOSPATIAL DATA AND USING HYPERLINKS AND MAPTIPS 295
Geospatial Data Display 296
Color and ColorRamp Classes 296
Symbols 298
Renderers for Vector and Raster Geospatial Data 300
Going beyond Simple Display 318
Simple and Advanced MapTips 319
Hyperlinks 321
Summary 324
CHAPTER 11: LABELING, EXPORTING ACTIVEVIEW, AND WORKING WITH ELEMENTS 327
Labeling 328
Labeling with the Default Labeling Engine 329
Labeling with the Maplex Labeling Engine 334
Exporting the ActiveView 336
Working with Elements 346
Adding GraphicElements 348
Adding FrameElements 352
Summary 361
CHAPTER 12: GEOPROCESSING WITH TOOLS AND MODELS 365
ArcObjects and the Geoprocessing Framework 365
Running Geoprocessing Tools 366
Running Custom Tools 375
Opening a Tool's Dialog Box in Code 384
Geoprocessing in the Background 389
Bach Processing 397
Can I Manage the Execution of Geoprocessing Tools? 399
Summary 400
CHAPTER 13: FEATURE DATA MANAGEMENT 403
Use of GUID in ArcObjects 404
Working with the Geodatabase Model 406
Creating Geodatabases 407
Creating FeatureDatasets and FeatureClasses 408
Working with Features 418
Creating New Features 418
Modifying Existing Features 422
Summary 426
CHAPTER 14: ADVANCED TOPICS IN ARCOBJECTS PROGRAMMING AND DEPLOYMENT 429
Sharing State and Functionality between Components 430
Event Handling in ArcObjects 432
Application Extension 435
Add-In Deployment 450
Preparing for Release 450
Add-In File Structure 452
Distributing and Installing an Add-In 453
Custom Component Deployment 456
Creating an Installer for Custom Component 459
Summary 465
APPENDIX: ANSWERS TO CHAPTER EXERCISES 467
INDEX 479