Introduction to the Multiuser Geodatabase · Dimensions Cadastral Networks Surveys Addresses...
Transcript of Introduction to the Multiuser Geodatabase · Dimensions Cadastral Networks Surveys Addresses...
Introduction to the Multiuser Introduction to the Multiuser GeodatabaseGeodatabase
Emily ApseyEmily ApseyESRI InstructorESRI Instructor
•• The GeodatabaseThe Geodatabase
•• Inside the GeodatabaseInside the Geodatabase
•• Advanced BehaviorAdvanced Behavior–– Geodatabase TopologyGeodatabase Topology–– Geometric NetworksGeometric Networks–– Network DatasetsNetwork Datasets
•• Raster data in the GeodatabaseRaster data in the Geodatabase
•• Editing the GeodatabaseEditing the Geodatabase
•• Optimizing ClientOptimizing Client--Side PerformanceSide Performance
Session PathSession Path
Dimensions
Cadastral
NetworksSurveys
Addresses
AnnotationVectors
3DObjects
Topology
CADImages
Terrain
Attribute
Cartography
Defining the geodatabaseDefining the geodatabase
•• Collection of geographic datasetsCollection of geographic datasets–– Feature classes, raster data, attribute tablesFeature classes, raster data, attribute tables
•• Native data structure for ArcGISNative data structure for ArcGIS
•• Provides the ability to:Provides the ability to:–– Leverage data relationshipsLeverage data relationships–– Enforce data integrityEnforce data integrity–– Create intelligent featuresCreate intelligent features
Advantages of geodatabaseAdvantages of geodatabase
•• Central location for features and attributesCentral location for features and attributes
•• Ability to create behaviorAbility to create behavior–– Grouping features into subtypesGrouping features into subtypes–– Creating spatial and attribute validation rulesCreating spatial and attribute validation rules
•• Persistent relationships between recordsPersistent relationships between records
•• Stored connectivity between lines and pointsStored connectivity between lines and points
•• Many users editing database at one timeMany users editing database at one time–– Dependant on geodatabase typeDependant on geodatabase type
•• ScaleableScaleable
•• Personal for Microsoft AccessPersonal for Microsoft Access•• FileFile•• ArcSDE technology at three levels:ArcSDE technology at three levels:
–– DesktopDesktop
–– WorkgroupWorkgroup
–– EnterpriseEnterprise
Geodatabase options Geodatabase options
PersonalAccess
File
ArcGIS Desktop
ArcGIS Server
FilePersonal(Access)
WorkgroupEnterprise
Desktop
CapacityNumber of users
ArcGIS Desktop geodatabasesArcGIS Desktop geodatabases
•• All are single editorAll are single editor–– Desktop (ArcSDE technology) is limited to four connectionsDesktop (ArcSDE technology) is limited to four connections
Functionality Original Desktop format Improved Desktop format Designed for replication or project level use
Storagemechanism
Microsoft Access database (.mdb)
File folder;
ArcCatalog displays .gdb
Microsoft SQL Server Express
Storagelimit
2 GB per geodatabase;
Effective limit ~500 MB
1 TB per object;
Configurable up to 256 TB
4 GB per database server
Platform Windows Any Windows
Personal(Access) File
Desktop(ArcSDE
technology)
ArcGIS Server licensingArcGIS Server licensing
•• Three editions of ArcGIS Server functionalityThree editions of ArcGIS Server functionality
•• Functionality scaled by capacityFunctionality scaled by capacity–– Workgroup or enterpriseWorkgroup or enterprise
•• ArcSDE technology bundled with all editionsArcSDE technology bundled with all editions
AdvancedAdvanced
StandardStandard
BasicBasic
Spatial Analysis& Editing
Data Management
Visualization& Mapping
WorkgroupEnterprise
ArcSDE geodatabase editionsArcSDE geodatabase editions
• Supports large capacity geodatabases• Requires regular maintenance• Unlimited connections
• Employed for departmental projects • Does not require a DBA or DBA experience• 10 concurrent user connections
• Replication and individual projects• No additional cost with ArcEditor or ArcInfo• Connections: Three viewer and one editor
*Support same geodatabase functionality
Man
aged
by
Arc
Cat
alog
A
Enterprise
Workgroup
Desktop
Central Maryland GIS User GroupCentral Maryland GIS User Group 99
ArcGIS Desktop licensingArcGIS Desktop licensing
•• Geodatabase functionality based on licenseGeodatabase functionality based on license
––ArcView ArcView •• Personal Access Personal Access and and File Geodatabase File Geodatabase creation and editingcreation and editing•• Some behavior creation (subtypes, domains)Some behavior creation (subtypes, domains)
––ArcEditor/ArcInfo (includes all from ArcViewArcEditor/ArcInfo (includes all from ArcView))•• DesktopDesktop ArcSDE Geodatabase creation and editingArcSDE Geodatabase creation and editing•• ArcGIS Server ArcGIS Server WorkgroupWorkgroup and and EnterpriseEnterprise editing and managingediting and managing•• Create additional elements (topology, networks, relationship claCreate additional elements (topology, networks, relationship classes)sses)•• Additional behavior creation (connectivity rules, relationship rAdditional behavior creation (connectivity rules, relationship rules)ules)
•• The GeodatabaseThe Geodatabase
•• Inside the GeodatabaseInside the Geodatabase
•• Advanced BehaviorAdvanced Behavior–– Geodatabase TopologyGeodatabase Topology–– Geometric NetworksGeometric Networks–– Network DatasetsNetwork Datasets
•• Raster data in the GeodatabaseRaster data in the Geodatabase
•• Editing the GeodatabaseEditing the Geodatabase
•• Optimizing ClientOptimizing Client--Side PerformanceSide Performance
Session PathSession Path
Central Maryland GIS User GroupCentral Maryland GIS User Group 1111
Geodatabase elementsGeodatabase elements
Raster datasets
Tables
Spatial reference
RouteDimension
Feature classes
Relationship classes
Topology
Geometric networks
Feature dataset
Additional geodatabase elementsSurvey datasets Terrain datasetsSchematics Network datasets
Raster catalogs
PolygonLinePointAnnotation
ToolboxesTool Model Script
Network datasets
Attribute defaultsAttribute domains
Connectivity rulesRelationship rulesTopology rules
Behavior
Representations
Feature classesFeature classes•• Table that stores geographic features and attributesTable that stores geographic features and attributes
–– One type of geometry One type of geometry (point, line, polygon, annotation)(point, line, polygon, annotation)–– Allows for XY coordinates and Z and M measuresAllows for XY coordinates and Z and M measures–– Has associated Has associated spatial reference spatial reference
Geographic coordinate system (GCS), projected coordinate Geographic coordinate system (GCS), projected coordinate system (PCS), and spatial extentssystem (PCS), and spatial extents
–– Each record represents a featureEach record represents a feature
Feature datasetsFeature datasets
•• Contain feature classesContain feature classes–– All share same spatial reference All share same spatial reference –– No tables (no geometry)No tables (no geometry)
•• Required to modelRequired to modelspatial relationshipsspatial relationships
•• Can be used for organizationCan be used for organization–– Group feature classes for managementGroup feature classes for management–– Not idealNot ideal
•• Permissions given to all feature classes within datasetPermissions given to all feature classes within dataset
Geodatabase behaviorGeodatabase behavior
•• Specific to geodatabaseSpecific to geodatabase–– SubtypesSubtypes
Categorize features into groupsCategorize features into groups–– DomainsDomains
Attribute validation on a fieldAttribute validation on a field–– Topology rulesTopology rules
Spatial validation rulesSpatial validation rules–– Relationship class rulesRelationship class rules
Determine proper associations between recordsDetermine proper associations between records–– Connectivity rulesConnectivity rules
Determine proper connections between network featuresDetermine proper connections between network features
Create real-world feature behavior in geodatabase
Create real-world feature behavior in geodatabase
Geodatabase properties and behaviorGeodatabase properties and behavior
•• Properties stored in a relational database (DBMSProperties stored in a relational database (DBMS))–– Feature geometry and attributes stored in tablesFeature geometry and attributes stored in tables–– Rules and relationships stored in system tables Rules and relationships stored in system tables
•• Behavior implemented Behavior implemented by client by client (ArcObjects)(ArcObjects)–– ArcGIS software operates according to propertiesArcGIS software operates according to properties–– Geodatabase integrity enforced by clientGeodatabase integrity enforced by client
ArcObjects interprets
properties as
behavior
SubtypesSubtypes•• Categorize records into groupsCategorize records into groups
–– Manage groups of recordsManage groups of records–– Within one feature class or tableWithin one feature class or table–– Integer field requiredInteger field required
•• Property of feature class or tableProperty of feature class or table
•• Codes based on table valuesCodes based on table values–– Requires knowledge of dataRequires knowledge of data
•• Use for editing and other geodatabase behaviorUse for editing and other geodatabase behavior
Advantages of subtypesAdvantages of subtypes•• Data automationData automation
–– Default attributes updated as you add new featuresDefault attributes updated as you add new features
•• Manage groups of features separatelyManage groups of features separately
•• More efficient editingMore efficient editing–– Edit directly into subtypeEdit directly into subtype
No subtypesNo subtypes SubtypesSubtypes
ArcMap table of contents
ArcMap table of contents
DomainsDomains
•• Validation of values in a fieldValidation of values in a field
•• Two types:Two types:––RangeRange––Coded valuesCoded values
•• Geodatabase property Geodatabase property ––Apply to many fields Apply to many fields
and subtypesand subtypes
•• Allow for data standardizationAllow for data standardization
Types of domainsTypes of domains
•• RangeRange
–– Locate errors in attribute dataLocate errors in attribute data–– Manual validationManual validation–– Validate in edit sessionValidate in edit session–– Invalid features remainInvalid features remain
selectedselected
•• Coded valuesCoded values
–– Valid list of values for a fieldValid list of values for a field–– Editors pick from listEditors pick from list–– Automatic validationAutomatic validation–– Reduce typosReduce typos
Domain list appears while editingDomain list appears while editing
Advantages of domainsAdvantages of domains
•• Prevent and locate attribute errorsPrevent and locate attribute errors•• Maintain consistent coding schemesMaintain consistent coding schemes•• Facilitate data entryFacilitate data entry•• Available to all feature classes or tables in geodatabaseAvailable to all feature classes or tables in geodatabase
Validation in Attributes dialog boxValidation in Attributes dialog boxValidation in attribute tableValidation in attribute table
•• An association between two object classesAn association between two object classes–– A class may participate in multiple relationship classesA class may participate in multiple relationship classes
•• Simple relationshipsSimple relationships•• Composite relationshipsComposite relationships
–– Related objects can message each otherRelated objects can message each other–– Can trigger behavior (cascade delete, move to follow, custom, Can trigger behavior (cascade delete, move to follow, custom,
etc.)etc.)•• Associate rules with relationship classesAssociate rules with relationship classes
–– Each Parcel can have between 1 to 3 BuildingsEach Parcel can have between 1 to 3 Buildings
Relationship ClassesRelationship Classes
ParcelToBuildingParcelToBuilding
DemoDemo
•• SubtypesSubtypes•• Relationship classRelationship class
•• The GeodatabaseThe Geodatabase
•• Inside the GeodatabaseInside the Geodatabase
•• Advanced BehaviorAdvanced Behavior–– Geodatabase TopologyGeodatabase Topology–– Geometric NetworksGeometric Networks–– Network DatasetsNetwork Datasets
•• Raster data in the GeodatabaseRaster data in the Geodatabase
•• Editing the GeodatabaseEditing the Geodatabase
•• Optimizing ClientOptimizing Client--Side PerformanceSide Performance
Session PathSession Path
Geodatabase TopologyGeodatabase Topology
•• Topology is used toTopology is used to–– Integrate feature geometryIntegrate feature geometry–– Validate featuresValidate features–– Control editing toolsControl editing tools–– Define relationships between featuresDefine relationships between features–– Ensure the quality of your dataEnsure the quality of your data
Topology Error ExamplesTopology Error Examples
•• Rules enforced to maintain topological integrityRules enforced to maintain topological integrity–– 25+ topology rules in ArcGIS25+ topology rules in ArcGIS
Topological IntegrityTopological Integrity
•• Topology defines integrity rules for associated Topology defines integrity rules for associated feature classesfeature classes
–– Participating feature classes / subtypesParticipating feature classes / subtypes–– Cluster tolerance, ranks and rulesCluster tolerance, ranks and rules
•• Cluster Tolerance for XY and ZCluster Tolerance for XY and Z
•• Rules are evaluated during ValidationRules are evaluated during Validation–– Define rules when creating the TopologyDefine rules when creating the Topology
•• Violations of these rules are expressed as error Violations of these rules are expressed as error features managed in the database as a part of the features managed in the database as a part of the topologytopology
–– Error and ExceptionsError and Exceptions–– Examine and Fix errors in ArcMapExamine and Fix errors in ArcMap
Editing with a TopologyEditing with a Topology
•• Editing creates a Editing creates a dirty areadirty area–– Area has been edited and may contain errorsArea has been edited and may contain errors–– Can be symbolizedCan be symbolized
•• Errors are found during Errors are found during validationvalidation–– Errors have propertiesErrors have properties
•• What rule was violatedWhat rule was violated•• Which feature(s) created the errorWhich feature(s) created the error
•• Your options:Your options:–– Ignore the error Ignore the error –– Mark as exception Mark as exception –– Fix the errorFix the error
Parcels overlapParcels overlap
Networks in ArcGISNetworks in ArcGIS
– Network datasets Undirected flow system applications (e.g., transportation)
Lines, points, & turns Network dataset
Use with ArcGIS Network Analyst extension
• Two network system data structures available:
− Geometric networks
Directed flow system applications (e.g., natural resources, utilities)
Lines & points Geometric network
Use with Utility Network Analyst toolbar in ArcMap
• Feature classes can participate in eithera geometric network or a network dataset – not both
A
•• The GeodatabaseThe Geodatabase
•• Inside the GeodatabaseInside the Geodatabase
•• Advanced BehaviorAdvanced Behavior–– Geodatabase TopologyGeodatabase Topology–– Geometric NetworksGeometric Networks–– Network DatasetsNetwork Datasets
•• Raster data in the GeodatabaseRaster data in the Geodatabase
•• Editing the GeodatabaseEditing the Geodatabase
•• Optimizing ClientOptimizing Client--Side PerformanceSide Performance
Session PathSession Path
Raster dataRaster data
•• Stored in geodatabase inStored in geodatabase inArcSDE raster format ArcSDE raster format
–– Divide space into a matrixDivide space into a matrixof equally sized cells (or pixels)of equally sized cells (or pixels)
Each has a numeric valueEach has a numeric valueStore a sample of geographyStore a sample of geography
•• Each pixel is independentEach pixel is independent–– No discrete features No discrete features –– Pixels arranged in columns/rowsPixels arranged in columns/rows
Pixel
Real world
As raster
Raster data in the geodatabaseRaster data in the geodatabase
•• Raster datasetRaster dataset–– Any valid raster format that Any valid raster format that
organizes data into bandsorganizes data into bands–– Includes mosaicsIncludes mosaics
•• Raster catalogRaster catalog–– A collection of raster A collection of raster
datasets stored in a tabledatasets stored in a table
•• Raster data type attributeRaster data type attribute–– An attribute of a feature with An attribute of a feature with
a raster data typea raster data type
1010--3232
When to use raster catalogsWhen to use raster catalogs
•• Data propertiesData properties–– Need to preserve overlapping inputsNeed to preserve overlapping inputs–– Need to maintain separate VAT, color map, renderer, etc.Need to maintain separate VAT, color map, renderer, etc.
•• Query accessQuery access–– By individual raster datasetBy individual raster dataset–– By userBy user--defined attribute (date, percent cloud cover, etc.)defined attribute (date, percent cloud cover, etc.)
OID NAME SHAPE RASTER1 Bailey 1 1
WILSON.GISADMIN.SCANNED_MAPS
2 Winstead 2 23 Lucama 3 34 Wilson 4 4
Spatialcolumn
FilesRaster
ID
1010--3333
Mosaicking raster datasetsMosaicking raster datasets•• All images must have the same:All images must have the same:
–– Number of bandsNumber of bands–– Pixel size Pixel size
•• Spatial reference of first image is retained in outputSpatial reference of first image is retained in output
•• GP toolsGP tools–– Use Use MosaicMosaic to add to an existing raster datasetto add to an existing raster dataset–– Create a new, mosaicked raster datasetCreate a new, mosaicked raster dataset
•• Mosaic to New RasterMosaic to New Raster•• Workspace to New RasterWorkspace to New Raster
Raster attributesRaster attributes
•• Raster column data typeRaster column data type•• One raster column per tableOne raster column per table
–– Multiple rasters can be supported through related tablesMultiple rasters can be supported through related tables
•• Rasters converted to ArcSDE raster formatRasters converted to ArcSDE raster format
Raster dataset schema overviewRaster dataset schema overview
•• Business tableBusiness table–– Relates to the supporting vector and raster tablesRelates to the supporting vector and raster tables
•• Raster supporting tablesRaster supporting tables–– Store pixel data, band metadata, raster statistics, color mapsStore pixel data, band metadata, raster statistics, color maps
•• Vector supporting tablesVector supporting tables–– Vector footprintVector footprint
Vector tables
Supporting raster tables
OrthoOBJECTID NAME SHAPE RASTER1 IMAGE24 1 1
•• The GeodatabaseThe Geodatabase
•• Inside the GeodatabaseInside the Geodatabase
•• Advanced BehaviorAdvanced Behavior–– Geodatabase TopologyGeodatabase Topology–– Geometric NetworksGeometric Networks–– Network DatasetsNetwork Datasets
•• Raster data in the GeodatabaseRaster data in the Geodatabase
•• Editing the GeodatabaseEditing the Geodatabase
•• Optimizing ClientOptimizing Client--side Performanceside Performance
Session PathSession Path
Editing in a geodatabaseEditing in a geodatabase•• Use tools to maintain data integrity while editing Use tools to maintain data integrity while editing •• Personal, file, desktop geodatabases: Single editor Personal, file, desktop geodatabases: Single editor •• Multiuser geodatabase: Many editorsMultiuser geodatabase: Many editors
Editing in a multiuser geodatabaseEditing in a multiuser geodatabase
•• NonNon--versionedversioned–– No undo/redo functionalityNo undo/redo functionality–– Edits are visible to all geodatabase users once savedEdits are visible to all geodatabase users once saved
No conflict detection mechanismNo conflict detection mechanism
•• VersionedVersioned–– Undo/redo capabilityUndo/redo capability–– Edits are isolated in the edit session or versionEdits are isolated in the edit session or version–– Many users edit the same feature class at the same timeMany users edit the same feature class at the same time**
Same version or different versions Same version or different versions BuiltBuilt--in mechanism to detect and resolve conflictsin mechanism to detect and resolve conflicts
Overview of nonOverview of non--versioned editingversioned editing
•• Uses DBMS transaction modelUses DBMS transaction model–– Save Save –– saves all editssaves all edits, updates visible to the outside world, updates visible to the outside world–– Exit without saving Exit without saving –– loses all edits loses all edits made since the last savemade since the last save
•• Changes visible to geodatabase users upon refreshChanges visible to geodatabase users upon refresh–– Zoom, pan, map refresh Zoom, pan, map refresh
•• Benefits Benefits –– NonNon--ESRI applications can read/modify same data ESRI applications can read/modify same data –– Very simple to implementVery simple to implement
Overview of versioned editingOverview of versioned editing
•• Method of presenting and tracking changes to tablesMethod of presenting and tracking changes to tables–– Groups of changes accessed as selfGroups of changes accessed as self--consistent versionsconsistent versions
•• Multiple, alternate versions may coexistMultiple, alternate versions may coexist–– Appears to users that they have their own copy of tableAppears to users that they have their own copy of table
•• Includes mechanisms for reconciling versionsIncludes mechanisms for reconciling versions–– Integrates changes into one versionIntegrates changes into one version–– Clients offered tools to resolve conflictsClients offered tools to resolve conflicts
USER1 version USER2 versionOriginal version
Definition: VersionDefinition: Version
•• Snapshot of the geodatabaseSnapshot of the geodatabase–– Entire geodatabase is visibleEntire geodatabase is visible
through every versionthrough every version
•• Persistent record of changesPersistent record of changes–– Disconnect/reconnect to versionDisconnect/reconnect to version
•• A unit of workA unit of work–– E.g., design alternative, work order, geometry modificationE.g., design alternative, work order, geometry modification
•• Basis of multiuser editing of the same dataBasis of multiuser editing of the same data
Overview of geodatabase archivingOverview of geodatabase archiving
•• Maintain record of editMaintain record of edittransactionstransactions
•• Edits are preserved inEdits are preserved ina history classa history class–– Denoted with FROM and TO datesDenoted with FROM and TO dates
Transaction time Transaction time is recordedis recordedMay not be the time of eventMay not be the time of event
•• Built on versioning architectureBuilt on versioning architecture
1
16
31
•• Copies of data distributed among geodatabasesCopies of data distributed among geodatabases–– Users at different locations can edit the same data Users at different locations can edit the same data –– Founded on versioningFounded on versioning
•• Changes can be synchronized across geodatabasesChanges can be synchronized across geodatabases
Geodatabase replication and versioningGeodatabase replication and versioning
Fede
ral
Stat
eR
egio
nal
CA MI
HuronKeweenawFresnoNapa
USA
•• The GeodatabaseThe Geodatabase
•• Inside the GeodatabaseInside the Geodatabase
•• Advanced BehaviorAdvanced Behavior–– Geodatabase TopologyGeodatabase Topology–– Geometric NetworksGeometric Networks–– Network DatasetsNetwork Datasets
•• Raster data in the GeodatabaseRaster data in the Geodatabase
•• Editing the GeodatabaseEditing the Geodatabase
•• Optimizing ClientOptimizing Client--Side PerformanceSide Performance
Session PathSession Path
Performance bottlenecks Performance bottlenecks
•• Server hardwareServer hardware–– Ensure storage, processor, memory can meet user demandEnsure storage, processor, memory can meet user demand
•• Network can easily bottleneckNetwork can easily bottleneck•• DBMS must be adequately tuned for geodatabaseDBMS must be adequately tuned for geodatabase
–– Maintenance is essentialMaintenance is essential
•• Client interaction and geodatabase designClient interaction and geodatabase design
User interaction
TCP/IP
TCP/IP
Server processing
ArcMap
ArcMap
Results presented
SQL
SQL
Multiusergeodatabase
Multiusergeodatabase
DBMSserver
Application optimization overviewApplication optimization overview
•• Avoid full feature class displayAvoid full feature class display–– Use the power of spatial indexingUse the power of spatial indexing
•• Employ best practicesEmploy best practices–– ArcCatalog toolsArcCatalog tools
ThumbnailsThumbnails–– ArcMap toolsArcMap tools
Scale dependencies Scale dependencies Navigation tools and windowsNavigation tools and windowsSymbologySymbologyLabels vs. annotationLabels vs. annotation
Maintaining performanceMaintaining performance
•• Your actions affect your performance!Your actions affect your performance!
•• Critical DBA or SDE manager job functionsCritical DBA or SDE manager job functions–– Version management/workflowVersion management/workflow–– CompressCompress–– AnalyzeAnalyze–– Index maintenanceIndex maintenance–– Storage planningStorage planning–– DBMS tuning and configurationDBMS tuning and configuration–– Server resource monitoringServer resource monitoring
•• The GeodatabaseThe Geodatabase
•• Inside the GeodatabaseInside the Geodatabase
•• Advanced BehaviorAdvanced Behavior–– Geodatabase TopologyGeodatabase Topology–– Geometric NetworksGeometric Networks–– Network DatasetsNetwork Datasets
•• Raster data in the GeodatabaseRaster data in the Geodatabase
•• Editing the GeodatabaseEditing the Geodatabase
•• Optimizing ClientOptimizing Client--Side PerformanceSide Performance
ConclusionConclusion
Other FedUC Sessions and ActivitiesOther FedUC Sessions and Activities
•• Technical SessionsTechnical Sessions–– Managing Distributed Data with Geodatabase Replication Managing Distributed Data with Geodatabase Replication –– Multiuser Geodatabase Editing Workflows Multiuser Geodatabase Editing Workflows
•• HandsHands--On Learning Lab, West Registration areaOn Learning Lab, West Registration area–– Basics of Geodatabase ModelBasics of Geodatabase Model–– Workflow Management with JTXWorkflow Management with JTX–– Using the GIS Data ReViewerUsing the GIS Data ReViewer
Central Maryland GIS User GroupCentral Maryland GIS User Group 5050
Thank youThank youfor attending!for attending!
[email protected]@esri.com