Public Function New( _ ByVal connectionPath As FileSystemConnectionPath _ )
public FileSystemDatastore( FileSystemConnectionPath connectionPath )
Parameters
- connectionPath
- The folder that contains datasets of a specific Type.
Public Function New( _ ByVal connectionPath As FileSystemConnectionPath _ )
public FileSystemDatastore( FileSystemConnectionPath connectionPath )
| Exception | Description |
|---|---|
| System.ArgumentNullException | connectionPath is null. |
| System.ArgumentException | The directory corresponding to connectionPath does not exist. |
| System.InvalidOperationException | The path to the file-system data store is invalid or the data store cannot be opened. |
| ArcGIS.Core.Data.Exceptions.GeodatabaseException | A geodatabase-related exception has occurred. |
| ArcGIS.Core.ConstructedOnWrongThreadException | This object must be created within the lambda or delegate passed to QueuedTask.Run, or on a compatible STA thread. |
{
await QueuedTask.Run(() =>
{
FileSystemConnectionPath fileConnection = new FileSystemConnectionPath(new Uri("path\\to\\folder\\containing\\shapefiles"),
FileSystemDatastoreType.Shapefile);
using (FileSystemDatastore shapefile = new FileSystemDatastore(fileConnection))
{
FeatureClass taxLotsFeatureClass = shapefile.OpenDataset<FeatureClass>("TaxLots");
// Can use the .shp extension, but its not needed.
FeatureClass manHolesFeatureClass = shapefile.OpenDataset<FeatureClass>("ManHoles.shp");
Table taxDetailsTableWithoutExtension = shapefile.OpenDataset<Table>("TaxDetails");
Table taxDetailsTable = shapefile.OpenDataset<Table>("TaxDetails.dbf");
}
});
}
{
await QueuedTask.Run(() =>
{
FileSystemConnectionPath fileConnection = new FileSystemConnectionPath(new Uri("path\\to\\folder\\containing\\CAD"), FileSystemDatastoreType.Cad);
using (FileSystemDatastore cadDatastore = new FileSystemDatastore(fileConnection))
{
//Note: Extension is required
FeatureClass cadDataset = cadDatastore.OpenDataset<FeatureClass>("hatchplayboundaries.dwg");
// Take note of the pattern for referencing a feature class.
FeatureClass cadfeatureClass = cadDatastore.OpenDataset<FeatureClass>("hatchplayboundaries.dwg:Polyline");
int numRows = 0;
using (RowCursor cursor = cadfeatureClass.Search())
{
while (cursor.MoveNext())
numRows++;
}
}
});
}
// Create a FileSystemConnectionPath using the folder path. FileSystemConnectionPath connectionPath = new(new System.Uri(@"C:\Temp"), FileSystemDatastoreType.Raster); // Create a new FileSystemDatastore using the FileSystemConnectionPath. FileSystemDatastore dataStore = new(connectionPath); // Open the raster dataset. RasterDataset fileRasterDataset = dataStore.OpenDataset<RasterDataset>("Sample.tif");
{
//Note: This snippet requires to be run on the MCT (Main CIM Thread)
string path = @"d:\Data\Tin";
var fileConnection = new FileSystemConnectionPath(new Uri(path), FileSystemDatastoreType.Tin);
using (FileSystemDatastore dataStore = new FileSystemDatastore(fileConnection))
{
// TIN is in a folder at d:\Data\Tin\TinDataset
string dsName = "TinDataset";
using (var dataset = dataStore.OpenDataset<ArcGIS.Core.Data.Analyst3D.TinDataset>(dsName))
{
//Do something with the dataset
}
}
}
{
//Note: This snippet requires to be run on the MCT (Main CIM Thread)
string path = @"d:\Data\Tin";
var fileConnection = new FileSystemConnectionPath(new Uri(path), FileSystemDatastoreType.Tin);
using (FileSystemDatastore dataStore = new FileSystemDatastore(fileConnection))
{
// TIN is in a folder at d:\Data\Tin\TinDataset
string dsName = "TinDataset";
using (var def = dataStore.GetDefinition<ArcGIS.Core.Data.Analyst3D.TinDatasetDefinition>(dsName))
{
//Do something with the definition
}
}
}
{
//Note: Use QueuedTask.Run to run on the MCT
string path = @"d:\Data\LASDataset";
var fileConnection = new FileSystemConnectionPath(new Uri(path), FileSystemDatastoreType.LasDataset);
using (FileSystemDatastore dataStore = new FileSystemDatastore(fileConnection))
{
string name = "utrecht_tile.lasd"; // can specify with or without the .lasd extension
using (var dataset = dataStore.OpenDataset<ArcGIS.Core.Data.Analyst3D.LasDataset>(name))
{
}
}
}
{
//Note: Use QueuedTask.Run to run on the MCT
string path = @"d:\Data\LASDataset";
var fileConnection = new FileSystemConnectionPath(new Uri(path), FileSystemDatastoreType.LasDataset);
using (FileSystemDatastore dataStore = new FileSystemDatastore(fileConnection))
{
string name = "utrecht_tile.lasd"; // can specify with or without the .lasd extension
using (var dataset = dataStore.GetDefinition<ArcGIS.Core.Data.Analyst3D.LasDatasetDefinition>(name))
{
//Use the dataset
}
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)