Provides access to members that create and open workspaces and supply workspace factory information.
Note: the IWorkspaceFactory interface has been superseded byIWorkspaceFactory2 . Please consider using the more recent version.
Product Availability
Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
When To Use
Use IWorkspaceFactory when you need to create a new workspace, connect to an existing workspace or find information about a workspace.
Members
All
Properties
Methods
Description
ContainsWorkspace
Indicates if parentDirectory contains a valid workspace, or is a valid file-system workspace.
Copy
Copies a workspace to the specified destination folder.
Create
Creates a new workspace specified by the directory, file name, and connection properties.
GetClassID
The class ID of the WorkspaceFactory.
GetWorkspaceName
Retrieves the workspace name of a workspace from the given list of file names.
IsWorkspace
True if the specified file identifies a workspace supported by the workspace factory.
Move
Moves a workspace to the specified destination folder.
Open
Opens the workspace specified by the connection properties.
OpenFromFile
Opens the workspace specified by the given file name.
ReadConnectionPropertiesFromFile
The connection properties from the specified file.
WorkspaceDescription
A singular or plural description of the type of workspace the workspace factory opens/creates.
WorkspaceType
The type of workspace the workspace factory opens/creates.
CoClasses that implement IWorkspaceFactory
Remarks
A WorkspaceFactory is a dispenser of workspaces and allows a client to connect to a workspace specified by a set of connection properties. A workspace represents a database or a datasource that contains one or more datasets. Examples of datasets include tables, feature classes and relationship classes. A WorkspaceFactory is a cocreatable, singleton object. Connection properties are specified using a PropertySet object and can be saved to a connection file. A WorkspaceFactory also supports methods that can be used to browse and manage file system workspaces, and methods to manage connection files for remote database workspaces.
Each workspace factory maintains a pool of currently connected, active workspaces that are referenced by the application. When any of the Open* methods is called, the workspace factory first checks to see if a workspace has previously been opened with a matching set of properties. If so, a reference to the existing instance is returned. In the case of ArcSDE workspaces, when an application connects to a workspace but omits some connection properties (such as username, password, or version), the workspace factory will check a set of "core" properties - SERVER, INSTANCE, and AUTHENTICATION_MODE - to see they match any open workspaces. If so, the workspace factory will return a reference to the matching workspace.
.NET Snippets
Open Raster File As GeoDatset |
Add Shapefile Using OpenFileDialog |
Add Tracking Layer To Map |
Set Data Source |
Create Grid From Feature Class |
Get FeatureClass From Shapefile On Disk
.NET Samples
Closest facility solver (Code Files:
frmClosestFacilitySolver ) |
Add a custom menu created in .NET to ArcGIS for Desktop (Code Files:
AddShapefile ) |
Cut polygons without selection edit task (Code Files:
EditingForm ) |
Editing using a custom form (Code Files:
MainForm ) |
Custom reshape polyline edit task (Code Files:
EditingForm ) |
3D dynamic element tracking (Code Files:
TrackDynamicObject ) |
Service area solver (Code Files:
frmServiceAreaSolver ) |
Create a Raster Function template (Code Files:
CreateRasterFunctionTemplate ) |
Managing snap agents (Code Files:
EditingForm ) |
Create a custom raster type (Code Files:
TestThumbnailBuilder ) |
Location-allocation solver (Code Files:
frmLocationAllocationSolver ) |
Adding a real-time feed to ArcMap (Code Files:
AddTrackingServerLayerButton ) |
Vehicle routing problem solver (Code Files:
frmVRPSolver ) |
Automate ArcGIS for Desktop applications (Code Files:
Form1 ) |
Simple point plug-in data source (Code Files:
OpenSimplePointDlg ) |
Origin-destination cost matrix solver (Code Files:
frmODCostMatrixSolver ) |
Create a custom raster type from the ground up for DMCII data (Code Files:
DMCIIRasterType TestDMCIIRasterType ) |
Extending the replication synchronization process (Code Files:
RegisterExtension ) |
Publish an image service and set configurations (Code Files:
ISConfig ) |
Custom vertex editing commands (Code Files:
EditingForm ) |
Create a Math Function Raster dataset (Code Files:
CreateMathFunctionRasterDataset ) |
RSS weather GraphicTracker (Code Files:
RSSWeather ) |
Create a Mosaic dataset (Code Files:
CreateMosaicDataset ) |
Buffer snap agent (Code Files:
EditingForm ) |
Mosaic raster datasets to a file raster format (Code Files:
CreateFileRasterMosaic ) |
Get and set key properties on a mosaic dataset (Code Files:
GetSetKeyProperty ) |
RSS weather layer (Code Files:
AddWeatherItemTool RSSWeatherLayerClass ) |
Create a custom NoData pixel filter (Code Files:
TestApp ) |
Create an NDVI custom raster function (Code Files:
NDVICustomFunction TestNDVICustomFunction ) |
Create a Function Raster dataset (Code Files:
CreateFunctionRasterDataset ) |
Route layer (Code Files:
Program ) |
Edit event listener (Code Files:
EditingForm ) |
Create a custom raster function (Code Files:
TestWatermarkFunction WatermarkFunction ) |
Temporal statistics (Code Files:
MainForm )
.NET Related Topics
Accessing ECWP service |
Accessing raster workspaces |
Adding a custom menu created in .NET to ArcGIS for Desktop |
Adding a plug-in data source programmatically |
Automating ArcGIS for Desktop applications |
Connecting to geodatabases and databases |
Converting data using GeoAnalyst objects |
Creating geodatabases |
Data processing in spatial analysis operations |
DataSourcesGDB |
DataSourcesOleDB |
DataSourcesRaster |
Executing a map algebra expression |
Geodatabase |
How to access a raster dataset |
How to access members that control the CAD drawing dataset |
How to add different types of layers to a map |
How to change label formats and marks on an axis using a line graph |
How to create a 3D pie graph |
How to create a box plot graph |
How to create a function series graph |
How to create a histogram graph |
How to create a Mosaic dataset |
How to create a mosaic layer |
How to create a multimodal network dataset |
How to create a network dataset |
How to create a raster dataset |
How to create a selection set using a scatter plot graph |
How to create a vertical stack area graph |
How to create an image server layer |
How to create graph series with different color types |
How to create multiple vertical bar graphs |
How to export a dataset to XML |
How to geocode a single address |
How to geocode a table of addresses |
How to get CAD transformation properties (from, to, angle, and scale) |
How to get the points of a two-point CAD transformation |
How to import a dataset from XML |
How to open a Mosaic dataset |
How to open a terrain dataset |
How to open locator workspaces |
How to rematch a geocoded feature class |
How to return CAD drawing layer properties |
How to return CAD transformation settings |
How to save a function raster dataset into a raster dataset |
How to save a mosaic dataset to a raster dataset |
How to save raster data and set storage properties |
How to set CAD transformation properties (from, to, angle, and scale) |
How to set the points of a two-point CAD transformation |
How to sort data in the graph |
How to standardize an address |
Location |
LocationUI |
Performing a spatial analysis operation using objects |
Working with server contexts |
Working with the analysis environment