使用Visual Studio 2022中的Windows窗体应用项目模板用C#语言读取shp文件并在窗口显示,后将shp文件保存为text文件,然后再把它(此时它的格式是text)读出来 要求:有具体步骤
时间: 2024-02-03 15:11:58 浏览: 116
以下是读取和保存shp文件的具体步骤:
1. 创建一个 Windows 窗体应用程序项目。
2. 添加 System.Data.OleDb、System.IO 和 ESRI.ArcGIS.Geodatabase 引用。
3. 在窗体上添加一个 Button 控件和一个 TextBox 控件。
4. 双击 Button 控件,添加以下代码:
```csharp
private void button1_Click(object sender, EventArgs e)
{
// 打开文件选择器对话框
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Shapefile (*.shp)|*.shp";
if (ofd.ShowDialog() == DialogResult.OK)
{
// 读取 shp 文件
ESRI.ArcGIS.Geodatabase.IWorkspaceFactory workspaceFactory = new ESRI.ArcGIS.DataSourcesFile.ShapefileWorkspaceFactory();
ESRI.ArcGIS.Geodatabase.IWorkspace workspace = workspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(ofd.FileName), 0);
ESRI.ArcGIS.Geodatabase.IFeatureWorkspace featureWorkspace = (ESRI.ArcGIS.Geodatabase.IFeatureWorkspace)workspace;
ESRI.ArcGIS.Geodatabase.IFeatureClass featureClass = featureWorkspace.OpenFeatureClass(System.IO.Path.GetFileNameWithoutExtension(ofd.FileName));
ESRI.ArcGIS.Geodatabase.IFeatureCursor featureCursor = featureClass.Search(null, false);
ESRI.ArcGIS.Geodatabase.IFeature feature = null;
while ((feature = featureCursor.NextFeature()) != null)
{
// 显示 shp 文件中的要素
string text = "";
for (int i = 0; i < feature.Fields.FieldCount; i++)
{
text += feature.Value[i].ToString() + "\t";
}
textBox1.AppendText(text + "\n");
}
// 保存为 text 文件
string textFilePath = System.IO.Path.GetDirectoryName(ofd.FileName) + "\\" + System.IO.Path.GetFileNameWithoutExtension(ofd.FileName) + ".txt";
System.IO.StreamWriter sw = new System.IO.StreamWriter(textFilePath);
featureCursor = featureClass.Search(null, false);
feature = null;
while ((feature = featureCursor.NextFeature()) != null)
{
string text = "";
for (int i = 0; i < feature.Fields.FieldCount; i++)
{
text += feature.Value[i].ToString() + "\t";
}
sw.WriteLine(text);
}
sw.Close();
// 读取 text 文件
System.IO.StreamReader sr = new System.IO.StreamReader(textFilePath);
string line = "";
while ((line = sr.ReadLine()) != null)
{
textBox1.AppendText(line + "\n");
}
sr.Close();
}
}
```
5. 运行程序,单击 Button 控件,选择一个 shp 文件并查看其内容。
以上就是使用 Visual Studio 2022 中的 Windows 窗体应用程序项目模板用 C# 语言读取 shp 文件并在窗口显示,后将 shp 文件保存为 text 文件,然后再把它(此时它的格式是 text)读出来的具体步骤。
阅读全文