This document is archived and information here might be outdated.  Recommended version.


Data Interoperability (ArcObjects .NET 10.4 SDK)

Data Interoperability


In this topic


About developing with the Data Interoperability extension

The ArcGIS Data Interoperability extension is a set of tools that enable you to quickly import, export, and connect to non-native spatial data formats. See A quick tour of the Data Interoperability extension for more information.
The extension provides geoprocessing tools in the Data Interoperability toolbox you can use to act on the data.
The extension must be enabled to be used. See How to use extensions for details. This extension has the esriLicenseExtensionCode esriLicenseExtensionCodeDataInteroperability. It has the ProgID FMEPlugInDataSource.FMEExtension and the CLSID B7F5E5C3-D500-49B4-91F5-CDAAC07DE9BF.

Using the data interoperability geoprocessing tools

You can use the following two data interoperability geoprocessing tools in your applications:
  • Quick Import tool—Converts input data to a geodatabase.
  • Quick Export tool—Converts layers to an output dataset.
These tools are intended for simple data translations where the number of input features will match the number of output features. Both tools are located in the Data Interoperability toolbox.

Quick Import tool examples

The following code shows how to import a Geography Markup Language (GML) dataset to a file geodatabase:
[C#]
Geoprocessor gp=new Geoprocessor();
QuickImport qi=new QuickImport();
qi.Input="GML, c:\\Data\\GML\\zoning.gml";
qi.Output="c:\\Data\\Output\\zoning.gdb";
gp.OverwriteOutput=true;
gp.Execute(qi, null);
[VB.NET]
Dim gp As New Geoprocessor()
Dim qi As New QuickImport()
qi.Input="GML, c:\\Data\\GML\\zoning.gml"
qi.Output="c:\\Data\\Output\\zoning.gdb"
gp.OverwriteOutput=True
gp.Execute(qi, Nothing)
The following code shows how to import a GML Simple Features dataset into a file geodatabase:
[C#]
Geoprocessor gp=new Geoprocessor();
QuickImport qi=new QuickImport();
qi.Input="GMLSF, C:\\Data\\GMLSF\\states.gml";
qi.Output="C:\\Data\\Output\\states.gdb";
gp.OverwriteOutput=true;
gp.Execute(qi, null);
[VB.NET]
Dim gp As New Geoprocessor()
Dim qi As New QuickImport()
qi.Input="GMLSF, C:\\Data\\GMLSF\\states.gml"
qi.Output="C:\\Data\\Output\\states.gdb"
gp.OverwriteOutput=True
gp.Execute(qi, Nothing)
The following code shows how to import a MapInfo (MIF) dataset to a file geodatabase:
[C#]
Geoprocessor gp=new Geoprocessor();
QuickImport qi=new QuickImport();
qi.Input="MIF,C:\\Data\\MIF\\flood_plains.mif";
qi.Output="c:\\Data\\Output\\flood_plains.gdb";
gp.OverwriteOutput=true;
gp.Execute(qi, null);
[VB.NET]
Dim gp As New Geoprocessor()
Dim qi As New QuickImport()
qi.Input="MIF,C:\\Data\\MIF\\flood_plains.mif"
qi.Output="c:\\Data\\Output\\flood_plains.gdb"
gp.OverwriteOutput=True
gp.Execute(qi, Nothing)

Quick Export tool examples

The following code shows how to export a shapefile to a GML dataset:
[C#]
Geoprocessor gp=new Geoprocessor();
QuickExport qe=new QuickExport();
qe.Input="C:\\Data\\SHP\\states_polygon Polygon";
qe.Output="GML, C:\\Data\\Output\\states_polygon.gml";
gp.OverwriteOutput=true;
gp.Execute(qe, null);
[VB.NET]
Dim gp As New Geoprocessor()
Dim qe As New QuickExport()
qe.Input="C:\\Data\\SHP\\states_polygon Polygon"
qe.Output="GML, C:\\Data\\Output\\states_polygon.gml"
gp.OverwriteOutput=True
gp.Execute(qe, Nothing)
The following code shows how to export a file geodatabase to an MIF dataset:
[C#]
Geoprocessor gp=new Geoprocessor();
QuickExport qe=new QuickExport();
qe.Input="C:\\Data\\GDB\\Montgomery.gdb\\Landbase\\Parcels ";
qe.Output="MIF, C:\\Data\\Output\\MIF ";
gp.OverwriteOutput=true;
gp.Execute(qe, null);
[VB.NET]
Dim gp As New Geoprocessor()
Dim qe As New QuickExport()
qe.Input="C:\\Data\\GDB\\Montgomery.gdb\\Landbase\\Parcels "
qe.Output="MIF, C:\\Data\\Output\\MIF "
gp.OverwriteOutput=True
gp.Execute(qe, Nothing)
The following code shows how to export a file geodatabase to an AutoCAD Drawing Database (DWG) file:
[C#]
Geoprocessor gp=new Geoprocessor();
QuickExport qe=new QuickExport();
qe.Input="C:\\Data\\GDB\\Montgomery.gdb\\Landbase\\Parcels ";
qe.Output="ACAD, C:\\Data\\Output\\Parcels.dwg";
gp.OverwriteOutput=true;
gp.Execute(qe, null);
[VB.NET]
Dim gp As New Geoprocessor()
Dim qe As New QuickExport()
qe.Input="C:\\Data\\GDB\\Montgomery.gdb\\Landbase\\Parcels "
qe.Output="ACAD, C:\\Data\\Output\\Parcels.dwg"
gp.OverwriteOutput=True
gp.Execute(qe, Nothing)

Using non-native spatial data formats in geoprocessing tools

With the Data Interoperability extension enabled, any non-native spatial data format supported by the extension can be used as an input data source for geoprocessing tools. The data can be passed as the input to the tools the same way that native data formats are used as input.
The output of the geoprocessing tools will be native ESRI data formats, such as geodatabase feature classes or shapefiles.






To use the code in this topic, reference the following assemblies in your Visual Studio project. In the code files, you will need using (C#) or Imports (VB .NET) directives for the corresponding namespaces (given in parenthesis below if different from the assembly name):