private string GetLayerDescription() { string s = ""; MapWinGIS.Map map = _legend.Map; if (map != null) { txtComments.Text = map.get_LayerDescription(_layerHandle); } MapWinGIS.Extents ext = _shapefile.Extents; //string units = Globals.get_MapUnits(); string units = ""; string type = _shapefile.ShapefileType.ToString().Substring(4).ToLower() + " shapefile"; var layer = map.get_OgrLayer(_layerHandle); if (layer != null) { s += "Datasource type: OGR layer" + Environment.NewLine; s += "Driver name: " + layer.DriverName + Environment.NewLine; s += "Connection string: " + layer.GetConnectionString() + Environment.NewLine; s += "Layer type: " + layer.SourceType.ToString() + Environment.NewLine; s += "Name or query: " + layer.GetSourceQuery() + Environment.NewLine; s += "Support editing: " + layer.SupportsEditing[tkOgrSaveType.ostSaveAll] + Environment.NewLine; s += "Dynamic loading: " + layer.DynamicLoading + "\n"; } else { s += "Datasource type: ESRI Shapefile" + Environment.NewLine; } s += "Type: " + type + Environment.NewLine + "Number of shapes: " + _shapefile.NumShapes + Environment.NewLine + "Selected: " + _shapefile.NumSelected + Environment.NewLine + "Source: " + _shapefile.Filename + Environment.NewLine + "Bounds X: " + String.Format("{0:F2}", ext.xMin) + " to " + String.Format("{0:F2}", ext.xMax) + units + Environment.NewLine + "Bounds Y: " + String.Format("{0:F2}", ext.yMin) + " to " + String.Format("{0:F2}", ext.yMax) + units + Environment.NewLine + "Projection: " + _shapefile.Projection; return(s); }