private void DisplayOgrErrors(IVectorLayer layer) { var logger = Logger.Current; for (int i = 0; i < layer.UpdateSourceErrorCount; i++) { logger.Warn("Failed to save feature {0}: {1}", null, layer.get_UpdateSourceErrorGeometryIndex(i), layer.get_UpdateSourceErrorMsg(i)); } }
public DatabaseLayerMetadata(IVectorLayer layer) { if (layer == null) { throw new ArgumentNullException("layer"); } // we don't want to keep the connection open all the time, so simply grab the necessary data Name = layer.Name; GeometryType = layer.ActiveGeometryType; NumFeatures = layer.get_FeatureCount(); Projection = layer.Projection; Connection = layer.ConnectionString; }
public static NodeData GetVectorLayerInfo(IVectorLayer ogr) { if (ogr == null) { return(new NodeData("Datasource type", "ESRI Shapefile")); } var root = new NodeData("OGR datasource"); root.AddSubItem("Datasource type", "OGR layer"); root.AddSubItem("Driver name", ogr.DriverName); root.AddSubItem("Connection string", ogr.ConnectionString); root.AddSubItem("Layer type", ogr.SourceType.ToString()); root.AddSubItem("Name or query", ogr.SourceQuery); root.AddSubItem("Supports editing", ogr.get_SupportsEditing(SaveType.SaveAll).ToString()); root.AddSubItem("Dynamic loading", ogr.DynamicLoading.ToString()); return(root); }
public DatabaseLayerMetadata(IVectorLayer layer) { if (layer == null) { throw new ArgumentNullException("layer"); } Logger.Current.Trace("In DatabaseLayerMetadata"); // we don't want to keep the connection open all the time, so simply grab the necessary data Name = layer.Name; Logger.Current.Trace("Name: " + Name); GeometryType = layer.ActiveGeometryType; Logger.Current.Trace("GeometryType: " + GeometryType); NumFeatures = layer.get_FeatureCount(); Logger.Current.Trace("NumFeatures: " + NumFeatures); Projection = layer.Projection; Logger.Current.Trace("Projection: " + Projection); Connection = layer.ConnectionString; Logger.Current.Trace("Connection: " + Connection); }
public IDatabaseLayerItem AddDatabaseLayer(IVectorLayer layer, bool multipleGeometries = false) { if (layer == null) { throw new ArgumentNullException("layer"); } var node = CreateNode(RepositoryItemType.DatabaseLayer); node.LeftImageIndices = new[] { GetVectorIcon(layer.ActiveGeometryType) }; node.Text = layer.Name; if (multipleGeometries) { node.Text += " [" + layer.ActiveGeometryType + "]"; } node.TagObject = new DatabaseLayerMetadata(layer); node.ExpandedOnce = true; return(AddNode(node) as IDatabaseLayerItem); }