本文整理汇总了C#中ESRI.get_NameExists方法的典型用法代码示例。如果您正苦于以下问题:C# ESRI.get_NameExists方法的具体用法?C# ESRI.get_NameExists怎么用?C# ESRI.get_NameExists使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ESRI
的用法示例。
在下文中一共展示了ESRI.get_NameExists方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateOrOpenTableLog
// ArcGIS Snippet Title:
// Create Table
//
// Long Description:
// Creates a dataset in a workspace.
//
// Add the following references to the project:
// ESRI.ArcGIS.Geodatabase
// ESRI.ArcGIS.Geometry
// ESRI.ArcGIS.System
//
// Intended ArcGIS Products for this snippet:
// ArcGIS Desktop (ArcEditor, ArcInfo, ArcView)
// ArcGIS Engine
// ArcGIS Server
//
// Applicable ArcGIS Product Versions:
// 9.2
// 9.3
// 9.3.1
// 10.0
//
// Required ArcGIS Extensions:
// (NONE)
//
// Notes:
// This snippet is intended to be inserted at the base level of a Class.
// It is not intended to be nested within an existing Uitvoeren.
//
///<summary>Creates a table with some default fields.</summary>
///
///<param name="workspace">An IWorkspace2 interface</param>
///<param name="tableName">A System.String of the table name in the workspace. Example: "owners"</param>
///<param name="fields">An IFields interface or Nothing</param>
///
///<returns>An ITable interface or Nothing</returns>
///
///<remarks>
///Notes:
///(1) If an IFields interface is supplied for the 'fields' collection it will be used to create the
/// table. If a Nothing value is supplied for the 'fields' collection, a table will be created using
/// default values in the method.
///(2) If a table with the supplied 'tableName' exists in the workspace an ITable will be returned.
/// if table does not exit a new one will be created.
///</remarks>
public ESRI.ArcGIS.Geodatabase.ITable CreateOrOpenTableLog(ESRI.ArcGIS.Geodatabase.IWorkspace2 workspace, System.String tableName, ESRI.ArcGIS.Geodatabase.IFields fields)
{
// create the behavior clasid for the featureclass
ESRI.ArcGIS.esriSystem.UID uid = new ESRI.ArcGIS.esriSystem.UIDClass();
if (workspace == null) return null; // valid feature workspace not passed in as an argument to the method
ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspace; // Explicit Cast
ESRI.ArcGIS.Geodatabase.ITable table;
if (workspace.get_NameExists(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTTable, tableName))
{
// table with that name already exists return that table
table = featureWorkspace.OpenTable(tableName);
return table;
}
uid.Value = "esriGeoDatabase.Object";
ESRI.ArcGIS.Geodatabase.IObjectClassDescription objectClassDescription = new ESRI.ArcGIS.Geodatabase.ObjectClassDescriptionClass();
// if a fields collection is not passed in then supply our own
if (fields == null)
{
// create the fields using the required fields method
fields = objectClassDescription.RequiredFields;
ESRI.ArcGIS.Geodatabase.IFieldsEdit fieldsEdit = (ESRI.ArcGIS.Geodatabase.IFieldsEdit)fields; // Explicit Cast
fieldsEdit.AddField(this.CreateFieldInt("ID"));
fieldsEdit.AddField(this.CreateFieldInt("index"));
fieldsEdit.AddField(this.CreateFieldDouble("X_From", 8, 2));
fieldsEdit.AddField(this.CreateFieldDouble("Y_From", 8, 2));
fieldsEdit.AddField(this.CreateFieldDouble("M_From", 8, 2));
fieldsEdit.AddField(this.CreateFieldDouble("X_To", 8, 2));
fieldsEdit.AddField(this.CreateFieldDouble("Y_To", 8, 2));
fieldsEdit.AddField(this.CreateFieldDouble("M_To", 8, 2));
// add field to field collection
fields = (ESRI.ArcGIS.Geodatabase.IFields)fieldsEdit; // Explicit Cast
}
// Use IFieldChecker to create a validated fields collection.
ESRI.ArcGIS.Geodatabase.IFieldChecker fieldChecker = new ESRI.ArcGIS.Geodatabase.FieldCheckerClass();
ESRI.ArcGIS.Geodatabase.IEnumFieldError enumFieldError = null;
ESRI.ArcGIS.Geodatabase.IFields validatedFields = null;
fieldChecker.ValidateWorkspace = (ESRI.ArcGIS.Geodatabase.IWorkspace)workspace;
fieldChecker.Validate(fields, out enumFieldError, out validatedFields);
// The enumFieldError enumerator can be inspected at this point to determine
// which fields were modified during validation.
// create and return the table
table = featureWorkspace.CreateTable(tableName, validatedFields, uid, null, "");
return table;
//.........这里部分代码省略.........
示例2: CreateRevisionTable
internal ESRI.ArcGIS.Geodatabase.ITable CreateRevisionTable(ESRI.ArcGIS.Geodatabase.IWorkspace2 workspace, System.String tableName, ESRI.ArcGIS.Geodatabase.IFields fields, string storageKeyword)
{
// create the behavior clasid for the featureclass
ESRI.ArcGIS.esriSystem.UID uid = new ESRI.ArcGIS.esriSystem.UIDClass();
if (workspace == null) return null; // valid feature workspace not passed in as an argument to the method
ESRI.ArcGIS.Geodatabase.ITable table = null;
try
{
ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspace; // Explicit Cast
if (workspace.get_NameExists(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTTable, tableName))
{
// if a table with the same name already exists delete it....if that is not possible return the current instance
table = featureWorkspace.OpenTable(tableName);
if (!DeleteDataset((IDataset)table))
{
return table;
}
}
uid.Value = "esriGeoDatabase.Object";
ESRI.ArcGIS.Geodatabase.IObjectClassDescription objectClassDescription = new ESRI.ArcGIS.Geodatabase.ObjectClassDescriptionClass();
// if a fields collection is not passed in then supply our own
if (fields == null)
{
// create the fields using the required fields method
fields = objectClassDescription.RequiredFields;
ESRI.ArcGIS.Geodatabase.IFieldsEdit fieldsEdit = (ESRI.ArcGIS.Geodatabase.IFieldsEdit)fields; // Explicit Cast
//
IFieldEdit osmChangesetField = new FieldClass() as IFieldEdit;
osmChangesetField.Name_2 = "osmchangeset";
osmChangesetField.Required_2 = true;
osmChangesetField.Type_2 = esriFieldType.esriFieldTypeInteger;
fieldsEdit.AddField((IField)osmChangesetField);
IFieldEdit osmActionField = new FieldClass() as IFieldEdit;
osmActionField.Name_2 = "osmaction";
osmActionField.Required_2 = true;
osmActionField.Type_2 = esriFieldType.esriFieldTypeString;
osmActionField.Length_2 = 10;
fieldsEdit.AddField((IField)osmActionField);
IFieldEdit osmElementTypeField = new FieldClass() as IFieldEdit;
osmElementTypeField.Name_2 = "osmelementtype";
osmElementTypeField.Required_2 = true;
osmElementTypeField.Type_2 = esriFieldType.esriFieldTypeString;
osmElementTypeField.Length_2 = 10;
fieldsEdit.AddField((IField)osmElementTypeField);
IFieldEdit osmVersionField = new FieldClass() as IFieldEdit;
osmVersionField.Name_2 = "osmversion";
osmVersionField.Required_2 = true;
osmVersionField.Type_2 = esriFieldType.esriFieldTypeInteger;
fieldsEdit.AddField((IField)osmVersionField);
IFieldEdit fcNameField = new FieldClass() as IFieldEdit;
fcNameField.Name_2 = "sourcefcname";
fcNameField.Required_2 = true;
fcNameField.Type_2 = esriFieldType.esriFieldTypeString;
fcNameField.Length_2 = 50;
fieldsEdit.AddField((IField)fcNameField);
IFieldEdit osmOldIDField = new FieldClass() as IFieldEdit;
osmOldIDField.Name_2 = "osmoldid";
osmOldIDField.Required_2 = true;
osmOldIDField.Type_2 = esriFieldType.esriFieldTypeString;
osmOldIDField.Length_2 = 20;
fieldsEdit.AddField((IField)osmOldIDField);
IFieldEdit osmNewIDField = new FieldClass() as IFieldEdit;
osmNewIDField.Name_2 = "osmnewid";
osmNewIDField.Required_2 = true;
osmNewIDField.Type_2 = esriFieldType.esriFieldTypeString;
osmNewIDField.Length_2 = 20;
fieldsEdit.AddField((IField)osmNewIDField);
IFieldEdit latField = new FieldClass() as IFieldEdit;
latField.Name_2 = "osmlat";
latField.Required_2 = true;
latField.Type_2 = esriFieldType.esriFieldTypeDouble;
latField.Scale_2 = 10;
fieldsEdit.AddField((IField)latField);
IFieldEdit lonField = new FieldClass() as IFieldEdit;
lonField.Name_2 = "osmlon";
lonField.Required_2 = true;
lonField.Type_2 = esriFieldType.esriFieldTypeDouble;
lonField.Scale_2 = 10;
fieldsEdit.AddField((IField)lonField);
IFieldEdit statusField = new FieldClass() as IFieldEdit;
statusField.Name_2 = "osmstatus";
statusField.Required_2 = true;
//.........这里部分代码省略.........
示例3: CreatePolygonFeatureClass
///<summary>Simple helper to create a featureclass in a geodatabase.</summary>
///
///<param name="workspace">An IWorkspace2 interface</param>
///<param name="featureDataset">An IFeatureDataset interface or Nothing</param>
///<param name="featureClassName">A System.String that contains the name of the feature class to open or create. Example: "states"</param>
///<param name="fields">An IFields interface</param>
///<param name="CLSID">A UID value or Nothing. Example "esriGeoDatabase.Feature" or Nothing</param>
///<param name="CLSEXT">A UID value or Nothing (this is the class extension if you want to reference a class extension when creating the feature class).</param>
///<param name="strConfigKeyword">An empty System.String or RDBMS table string for ArcSDE. Example: "myTable" or ""</param>
///
///<returns>An IFeatureClass interface or a Nothing</returns>
///
///<remarks>
/// (1) If a 'featureClassName' already exists in the workspace a reference to that feature class
/// object will be returned.
/// (2) If an IFeatureDataset is passed in for the 'featureDataset' argument the feature class
/// will be created in the dataset. If a Nothing is passed in for the 'featureDataset'
/// argument the feature class will be created in the workspace.
/// (3) When creating a feature class in a dataset the spatial reference is inherited
/// from the dataset object.
/// (4) If an IFields interface is supplied for the 'fields' collection it will be used to create the
/// table. If a Nothing value is supplied for the 'fields' collection, a table will be created using
/// default values in the method.
/// (5) The 'strConfigurationKeyword' parameter allows the application to control the physical layout
/// for this table in the underlying RDBMS—for example, in the case of an Oracle database, the
/// configuration keyword controls the tablespace in which the table is created, the initial and
/// next extents, and other properties. The 'strConfigurationKeywords' for an ArcSDE instance are
/// set up by the ArcSDE data administrator, the list of available keywords supported by a workspace
/// may be obtained using the IWorkspaceConfiguration interface. For more information on configuration
/// keywords, refer to the ArcSDE documentation. When not using an ArcSDE table use an empty
/// string (ex: "").
///</remarks>
internal ESRI.ArcGIS.Geodatabase.IFeatureClass CreatePolygonFeatureClass(ESRI.ArcGIS.Geodatabase.IWorkspace2 workspace, ESRI.ArcGIS.Geodatabase.IFeatureDataset featureDataset, System.String featureClassName, ESRI.ArcGIS.Geodatabase.IFields fields, ESRI.ArcGIS.esriSystem.UID CLSID, ESRI.ArcGIS.esriSystem.UID CLSEXT, System.String strConfigKeyword, OSMDomains osmDomains, string metadataAbstract, string metadataPurpose)
{
if (featureClassName == "") return null; // name was not passed in
ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass = null;
try
{
ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspace; // Explicit Cast
if (workspace.get_NameExists(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTFeatureClass, featureClassName)) //feature class with that name already exists
{
// if a feature class with the same name already exists delete it....
featureClass = featureWorkspace.OpenFeatureClass(featureClassName);
if (!DeleteDataset((IDataset)featureClass))
{
return featureClass;
}
}
// assign the class id value if not assigned
if (CLSID == null)
{
CLSID = new ESRI.ArcGIS.esriSystem.UIDClass();
CLSID.Value = "esriGeoDatabase.Feature";
}
ESRI.ArcGIS.Geodatabase.IObjectClassDescription objectClassDescription = new ESRI.ArcGIS.Geodatabase.FeatureClassDescriptionClass();
// if a fields collection is not passed in then supply our own
if (fields == null)
{
// create the fields using the required fields method
fields = objectClassDescription.RequiredFields;
ESRI.ArcGIS.Geodatabase.IFieldsEdit fieldsEdit = (ESRI.ArcGIS.Geodatabase.IFieldsEdit)fields; // Explicit Cast
// add the domain driven string field for the OSM features
foreach (var domainAttribute in osmDomains.domain)
{
IFieldEdit domainField = new FieldClass() as IFieldEdit;
domainField.Name_2 = domainAttribute.name;
domainField.Type_2 = esriFieldType.esriFieldTypeString;
domainField.Required_2 = true;
domainField.Length_2 = 30;
try
{
domainField.Domain_2 = ((IWorkspaceDomains)workspace).get_DomainByName(domainAttribute.name + "_ply");
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
System.Diagnostics.Debug.WriteLine(ex.StackTrace);
}
fieldsEdit.AddField((IField)domainField);
}
// add the OSM ID field
IFieldEdit osmIDField = new FieldClass() as IFieldEdit;
osmIDField.Name_2 = "OSMID";
osmIDField.Type_2 = esriFieldType.esriFieldTypeString;
osmIDField.Length_2 = 20;
osmIDField.Required_2 = true;
fieldsEdit.AddField((IField)osmIDField);
// add the field for the tag cloud for all other tag/value pairs
//.........这里部分代码省略.........
示例4: CreateRelationTable
// ArcGIS Snippet Title:
// Create Table
//
// Long Description:
// Creates a dataset in a workspace.
//
// Add the following references to the project:
// ESRI.ArcGIS.Geodatabase
// ESRI.ArcGIS.Geometry
// ESRI.ArcGIS.System
//
// Intended ArcGIS Products for this snippet:
// ArcGIS Desktop (ArcEditor, ArcInfo, ArcView)
// ArcGIS Engine
// ArcGIS Server
//
// Applicable ArcGIS Product Versions:
// 9.2
// 9.3
// 9.3.1
// 10.0
//
// Required ArcGIS Extensions:
// (NONE)
//
// Notes:
// This snippet is intended to be inserted at the base level of a Class.
// It is not intended to be nested within an existing Method.
//
///<summary>Creates a table with some default fields.</summary>
///
///<param name="workspace">An IWorkspace2 interface</param>
///<param name="tableName">A System.String of the table name in the workspace. Example: "owners"</param>
///<param name="fields">An IFields interface or Nothing</param>
///
///<returns>An ITable interface or Nothing</returns>
///
///<remarks>
///Notes:
///(1) If an IFields interface is supplied for the 'fields' collection it will be used to create the
/// table. If a Nothing value is supplied for the 'fields' collection, a table will be created using
/// default values in the method.
///(2) If a table with the supplied 'tableName' exists in the workspace an ITable will be returned.
/// if table does not exit a new one will be created.
///</remarks>
internal ESRI.ArcGIS.Geodatabase.ITable CreateRelationTable(ESRI.ArcGIS.Geodatabase.IWorkspace2 workspace, System.String tableName, ESRI.ArcGIS.Geodatabase.IFields fields, string storageKeyword, string metadataAbstract, string metadataPurpose)
{
// create the behavior clasid for the featureclass
ESRI.ArcGIS.esriSystem.UID uid = new ESRI.ArcGIS.esriSystem.UIDClass();
if (workspace == null) return null; // valid feature workspace not passed in as an argument to the method
ESRI.ArcGIS.Geodatabase.ITable table = null;
try
{
ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspace; // Explicit Cast
if (workspace.get_NameExists(ESRI.ArcGIS.Geodatabase.esriDatasetType.esriDTTable, tableName))
{
// if a table with the same name already exists delete it....
table = featureWorkspace.OpenTable(tableName);
if (!DeleteDataset((IDataset)table))
{
return table;
}
}
uid.Value = "esriGeoDatabase.Object";
ESRI.ArcGIS.Geodatabase.IObjectClassDescription objectClassDescription = new ESRI.ArcGIS.Geodatabase.ObjectClassDescriptionClass();
// if a fields collection is not passed in then supply our own
if (fields == null)
{
// create the fields using the required fields method
fields = objectClassDescription.RequiredFields;
ESRI.ArcGIS.Geodatabase.IFieldsEdit fieldsEdit = (ESRI.ArcGIS.Geodatabase.IFieldsEdit)fields; // Explicit Cast
// create OSM base fields the osm administrative fields
// add the OSM ID field
IFieldEdit osmIDField = new FieldClass() as IFieldEdit;
osmIDField.Name_2 = "OSMID";
osmIDField.Required_2 = true;
osmIDField.Type_2 = esriFieldType.esriFieldTypeString;
osmIDField.Length_2 = 20;
fieldsEdit.AddField((IField)osmIDField);
// user, uid, visible, version, changeset, timestamp
IFieldEdit osmuserField = new FieldClass() as IFieldEdit;
osmuserField.Name_2 = "osmuser";
osmuserField.Required_2 = true;
osmuserField.Type_2 = esriFieldType.esriFieldTypeString;
osmuserField.Length_2 = 100;
fieldsEdit.AddField((IField)osmuserField);
IFieldEdit osmuidField = new FieldClass() as IFieldEdit;
osmuidField.Name_2 = "osmuid";
osmuidField.Required_2 = true;
//.........这里部分代码省略.........