GIS in Water Resources Consortium Attaching Behavior to Objects and Programming in the Geodatabase Tom Wesp, AICP Henry Hagemeier ESRI San Antonio.

Slides:



Advertisements
Similar presentations
Visio 2007 for UML Tutorial. Overview The tutorial demonstrates how to use Visio 2007 to create UML diagrams. We will focus on five most widely used UML.
Advertisements

5-1 5 Tour of ArcMap and ArcCatalog ArcGIS for Assessors 1.
Geo GIS Practicuum Introduction to ArcGIS 8 Exercise 5 - ESRI Virtual Campus Chapters 1-2, ArcGIS Methods …
1.
JTX Overview Overview of Job Tracking for ArcGIS (JTX)
Using ArcObjects and the ArcGIS Hydro Data Model in Application Development Tom Heinzer Chemical Engineer, GIS Developer U. S. Bureau of Reclamation
Intro to ArcGIS for New Users. ArcGIS Desktop Advanced GeoprocessingArcInfo ArcReader Data Access Map Viewing Query Advanced EditingArcEditor ArcView.
Visio Advanced Tools for IT Professionals Shawn Tng Regional Technical Manager Microsoft Asia Pacific.
Annotation & Nomenclature By Corey Fortezzo for PG&G GIS Workshop, 2010.
Introduction to the Architecture of Arc GIS
Integrating Access with the Web and with Other Programs.
Appendix B: Customizing In this unit… ► Review ► Overview ► Adding, Removing Buttons ► Changing Button Properties ► Visual Basic.
Technical Support: (989) GIS and Mapping Procedures in ArcMap 9.x Creating an ArcMap Project Editing an ArcMap Project Printing an ArcMap Project.
Intro to ArcMap Customization with Visual Basic  Create your own toolbars, buttons, interactive tools, and programs  Runs behind the scenes in ArcMap.
ArcCatalog and Geodatabases
EGR 141 Computer Problem Solving in Engineering and Computer Science Interfacing with a Database in Visual Basic.NET 2005.
Rational Rose Overview Diagrams, Directory Structure, Working with Rose.
CS 1400 Using Microsoft Visual Studio 2005 if you don’t have the appropriate appendix.
Chapter Extension 6 Using Microsoft Access © 2008 Pearson Prentice Hall, Experiencing MIS, David Kroenke.
School of Geography FACULTY OF ENVIRONMENT Introduction to ArcGIS 1.
Working with GIS: Introduction to ArcGIS. In preparation for the first lab, you will: Be briefly introduced to the ArcGIS product family of ArcView, ArcEditor,
ACM/JETT Workshop - August 4-5, 2005 UML Modeling using MagicDraw UML for Java Programmers.
Introduction To ArcMap ArcMa p. ArcMap is a Map-centric GUI tool used to perform map-based tasks Mapping –Create maps by working geographically and interactively.
Introduction to the Architecture of ArcGIS
Pasewark & Pasewark Microsoft Office XP: Introductory Course 1 INTRODUCTORY MICROSOFT ACCESS Lesson 3 – Creating and Modifying Forms.
ArcGIS Workflow Manager An Introduction
Introduction to VB.NET Tonga Institute of Higher Education.
Introduction To ArcCatalog ArcCatalog. ArcCatalog is a data- centric GUI tool used for managing spatial data.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
CIS 338: Creating ActiveX Controls Dr. Ralph D. Westfall March, 2003.
Arc Hydrology Data Model An Overview of the Modeling Process Kim Davis and Tim Whiteaker Center for Research in Water Resources University of Texas at.
Threats Database V4 Model Geodatabase Relation Class Creation and Data Population June 25, 2007 Marlene McKinnon, GIS Specialist.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
‘Tirgul’ # 7 Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul #7.
ATN GIS Support ArcGIS: ArcMap Data View.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Arc/Info 8’s Metadata Collection tool: ArcCatalog A user’s perspective By Frank Roberts Coeur d’Alene Tribe GIS.
Introduction to ArcGIS
Systems Analysis and Design in a Changing World, 3rd Edition
Pasewark & Pasewark Microsoft Office 2003: Introductory 1 INTRODUCTORY MICROSOFT ACCESS Lesson 3 – Creating and Modifying Forms.
1 © 1999 Microsoft Corp.. Microsoft Repository Phil Bernstein Microsoft Corp.
Using COMET with Visio Visio UML Modeling. Creating a Drawing After opening Visio, you will see a list of templates available.
® Microsoft Access 2010 Tutorial 10 Automating Tasks with Macros.
ATN GIS Support ArcGIS: ArcCatalog.
Pasewark & Pasewark Microsoft Office 2003: Introductory 1 INTRODUCTORY MICROSOFT ACCESS Lesson 3 – Creating and Modifying Forms.
LBR & WS LAB 1: INTRODUCTION TO GIS.
Intro to GIS | Summer 2012 Attribute Tables – Part 1.
ArcGIS: ArcCatalog. Agenda The ArcCatalog Interface General ArcCatalog ▫Navigating directories ▫Preview data ▫View metadata Advanced ArcCatalog ▫Modifying.
UML and Object Modeling Elements
ESRI Education User Conference – July 6-8, 2001 ESRI Education User Conference – July 6-8, 2001 Introducing ArcCatalog: Tools for Metadata and Data Management.
Towards Unifying Vector and Raster Data Models for Hybrid Spatial Regions Philip Dougherty.
@2007 Austin Troy Lecture 2: Introduction to the Architecture of ArcGIS By Weiqi Zhou University of Vermont Thanks are due to Prof. Troy, upon whose lecture.
XP New Perspectives on Microsoft Office Access 2003, Second Edition- Tutorial 8 1 Microsoft Office Access 2003 Tutorial 8 – Integrating Access with the.
Scale is the relationship between the size of features on a map and the size of the corresponding objects in the real world. Scale is commonly expressed.
@2007 Austin Troy Lecture 2: Introduction to the Architecture of ArcGIS By Weiqi Zhou University of Vermont Thanks are due to Prof. Troy, upon whose lecture.
Introduction to Geodatabases
Copyright © 2014 Pearson Canada Inc.
Introduction to Microsoft Access
Physical Structure of GDB
Development Changes in Dynamics 365 for Finance and Operations
ArcGIS Topology Shapefiles, Coverages, Geodatabases
UML Diagramming with JUDE
Microsoft Office Access 2003
Microsoft Office Access 2003
Introduction To ArcMap
ArcCatalog and Geodatabases
Introduction To ArcCatalog
Drawing OSA charts. Once Synops have been downloaded and ingested.
Tutorial 10 Automating Tasks with Macros
ArcCatalog and Geodatabases
Presentation transcript:

GIS in Water Resources Consortium Attaching Behavior to Objects and Programming in the Geodatabase Tom Wesp, AICP Henry Hagemeier ESRI San Antonio

GIS in Water Resources Consortium Parcels and Buildings Two separate layers Each with its own attributes and independent of each other.

GIS in Water Resources Consortium Wouldn’t It Be Nice… What if we could change the properties of one layer and the properties of the other would be automatically updated?

GIS in Water Resources Consortium Our Example Parcels and Buildings Parcel has a field that “keeps track” of combined cost of buildings on it.

GIS in Water Resources Consortium Programming Custom Objects Custom objects requires programming in COM-compliant languageCustom objects requires programming in COM-compliant language –only VC++ or Delphi (don’t ask about VB) –custom object classes can use VB or VJ++ CASE tools make it easierCASE tools make it easier Custom objects requires programming in COM-compliant languageCustom objects requires programming in COM-compliant language –only VC++ or Delphi (don’t ask about VB) –custom object classes can use VB or VJ++ CASE tools make it easierCASE tools make it easier

GIS in Water Resources Consortium Custom Objects Developers create custom objects and intricate data schemasDevelopers create custom objects and intricate data schemas No difference between ESRI supplied and developer-supplied custom objectsNo difference between ESRI supplied and developer-supplied custom objects –merely support required interfaces –augments with new interfaces Developers create custom objects and intricate data schemasDevelopers create custom objects and intricate data schemas No difference between ESRI supplied and developer-supplied custom objectsNo difference between ESRI supplied and developer-supplied custom objects –merely support required interfaces –augments with new interfaces

GIS in Water Resources Consortium Custom Objects What you will needWhat you will need –UML and MS Repository aware CASE tool Visio Professional or EnterpriseVisio Professional or Enterprise –Visual C++ or Delphi –GeoDatabase data model diagram –ArcCatalog –OO programming skills and knowledge of COM What you will needWhat you will need –UML and MS Repository aware CASE tool Visio Professional or EnterpriseVisio Professional or Enterprise –Visual C++ or Delphi –GeoDatabase data model diagram –ArcCatalog –OO programming skills and knowledge of COM

GIS in Water Resources Consortium Creation Process Create the object modelCreate the object model –3rd party CASE tool Export to the Microsoft RepositoryExport to the Microsoft Repository –3rd party CASE tool UML export wizard Generate stub-codeGenerate stub-code –ESRI supplied wizard (VC++ only) Implement custom behaviorImplement custom behavior –you program into the stubs Create the GeoDatabase schemaCreate the GeoDatabase schema Create the object modelCreate the object model –3rd party CASE tool Export to the Microsoft RepositoryExport to the Microsoft Repository –3rd party CASE tool UML export wizard Generate stub-codeGenerate stub-code –ESRI supplied wizard (VC++ only) Implement custom behaviorImplement custom behavior –you program into the stubs Create the GeoDatabase schemaCreate the GeoDatabase schema

GIS in Water Resources Consortium Creation Process Base it on a GeoDatabase objectBase it on a GeoDatabase object –give it custom behavior, properties Base it on a GeoDatabase objectBase it on a GeoDatabase object –give it custom behavior, properties ESRI provides this... You do this...

GIS in Water Resources Consortium Custom Object Example Feature Object Model COM Implementation

GIS in Water Resources Consortium Custom Object Example Feature Tree Height Kind Object Model COM Implementation Age()

GIS in Water Resources Consortium Custom Object Example Feature Tree Height Kind Feature Object Model Interface F1 Interface F2 COM Implementation Age()

GIS in Water Resources Consortium Custom Object Example Feature Tree Height Kind Feature Object Model Interface F1 Interface F2 Interface F1 Interface F2 Height Kind Tree Interface T COM Implementation Age()

GIS in Water Resources Consortium Custom Object Example Feature Tree Height Kind Feature Object Model Interface F1 Interface F2 Feature Interface F1 Interface F2 Height Kind Tree Interface T COM Implementation Age()

GIS in Water Resources Consortium Visual - Almost Real - Hands on Demonstration Tools we will use…Tools we will use… –Visio for UML (Unified Modeling Language) –Visual C++ for code creation –ArcMap to implement and view the new behavior

GIS in Water Resources Consortium Our Custom Object ArcInfo provides tools for creating buildings and land parcels as polygons.ArcInfo provides tools for creating buildings and land parcels as polygons. ArcInfo allows us to store attribute data about those buildings and parcels.ArcInfo allows us to store attribute data about those buildings and parcels. We want to create a custom object which will do the following…We want to create a custom object which will do the following… –Parcels store land value along with value of all building on that parcel –Buildings store the floors, height, and value

GIS in Water Resources Consortium But Wait! There’s more! We want the features to maintain their relationship automatically…We want the features to maintain their relationship automatically… For Example:For Example: –If a new building is created the parcel attributes will automatically be updated with the building’s value

GIS Resources in Water Adding ESRI Geodata access COM classes with Visio UML Tools ESRI Classes::Object ESRI Classes::Feature Click and drag

GIS in Water Resources Consortium Adding a Custom Class with Visio’s UML Tool Name Object and add attributes from dialog box. Double clicking on the object opens the dialog box.

GIS in Water Resources Consortium Drag and drop a Generalization to connect the new Parcel class to Feature

GIS in Water Resources Consortium Add a COM Interface to the Parcel Object Give interface a name and set its Stereotype to Interface

GIS in Water Resources Consortium Interface for the Parcel object will allow us to read and write parcel value and read values of all buildings on that parcel Drag and drop a Refinement to connect interface IParcel to Parcel Class

GIS in Water Resources Consortium Add operations to the Interface IParcel Adding an operation called get_CombinedBuildingValue

GIS in Water Resources Consortium Same previous steps to create interface for Custom Building Behavior

GIS in Water Resources Consortium Create a RelationshipClass to associate parcels to buildings The composite association tool in Visio creates the needed relationship between the buildings and parcels.

GIS in Water Resources Consortium Finally create a ClassExtension for implementing behavior A Class Extension is a COM class that implements behavior for a whole set of custom features in a feature class.

GIS in Water Resources Consortium Finished UML Model Export the UML model to the Microsoft Repository (in this case an Access database).

GIS in Water Resources Consortium Now what? We have our object model in a Repository. What’s next? We need to generate code…We need to generate code… –We will use Microsoft Visual C++ with a little help from an ESRI wizard with a little help from an ESRI wizard

GIS in Water Resources Consortium Start Microsoft Visual C++ Go to the “Tools” menu and choose “customize”. Click on the Add-ins tab and browse to the ArcInfo directory that contains the file “CodeGenWiz.dll” and load the dll.

GIS in Water Resources Consortium Visual C++ with ESRI CodeGenWizard Browse to your Access database that contains your object model.

GIS in Water Resources Consortium Select your object model…

GIS in Water Resources Consortium Defining custom feature properties with the wizard

GIS in Water Resources Consortium Continue with the wizard to define Inherited Interfaces Aggregation: Inner feature is called directly. (A little like OO inheritance) Containment: Calls are “forwarded” to the inner feature.

GIS in Water Resources Consortium Define a Developer Studio Project and compile a dll Feels good to finally have some code.

GIS in Water Resources Consortium All that is left now is to add some C++ code. Define Object Behavior Define Object Functions

GIS in Water Resources Consortium Well… there is a little more Use ArcCatalog Case Tool Wizard to create a database schema from your UML model.Use ArcCatalog Case Tool Wizard to create a database schema from your UML model. –Connect to the Repository –Select the object model –Define schema properties for each feature –Create the schema

GIS in Water Resources Consortium Adding Case Tool in ArcCatalog Click and drag Case tool from Customize dialog box.

GIS in Water Resources Consortium Schema Wizard in ArcCatalog Navigate to the Repository containing your UML model.

GIS in Water Resources Consortium Schema Wizard Shows Custom Features, Relationship Classes and Domains.

GIS in Water Resources Consortium ArcMap

Thank You