年度变更建库软件5.0版本
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

145 lines
4.9 KiB

6 months ago
using ESRI.ArcGIS.Geodatabase;
using KGIS.Plugin.LayerProperty.Enum;
using KGIS.Plugin.LayerProperty.Interface;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace KGIS.Plugin.LayerProperty.Model
{
[Serializable]
internal class RemoteRasterPropetry : RasterProperty, IRasterProperty
{
private IRasterDataset m_RasterDataset;
private string m_Server = string.Empty;
private string m_User = string.Empty;
private string m_Instance = string.Empty;
private string m_Database = string.Empty;
private string m_Version = string.Empty;
[Browsable(true), Category("SDE信息"), DisplayName("服务器"), ReadOnly(true), XmlElement("服务器")]
public string Server
{
get
{
return this.m_Server;
}
set
{
this.m_Server = value;
}
}
[Browsable(true), Category("SDE信息"), DisplayName("用户"), ReadOnly(true), XmlElement("用户")]
public string User
{
get
{
return this.m_User;
}
set
{
this.m_User = value;
}
}
[Browsable(true), Category("SDE信息"), DisplayName("实例"), ReadOnly(true), XmlElement("实例")]
public string Instance
{
get
{
return this.m_Instance;
}
set
{
this.m_Instance = value;
}
}
[Browsable(true), Category("SDE信息"), DisplayName("数据库"), ReadOnly(true), XmlElement("数据库")]
public string Database
{
get
{
return this.m_Database;
}
set
{
this.m_Database = value;
}
}
[Browsable(true), Category("SDE信息"), DisplayName("版本"), ReadOnly(true), XmlElement("版本")]
public string Version
{
get
{
return this.m_Version;
}
set
{
this.m_Version = value;
}
}
public RemoteRasterPropetry()
{
}
public RemoteRasterPropetry(IRasterDataset pRasterDataset)
{
this.m_RasterDataset = pRasterDataset;
base.Init(pRasterDataset);
this.getDataSource();
}
private void getDataSource()
{
IWorkspace workspace = null;
IDataset dataset = (IDataset)this.m_RasterDataset;
workspace = dataset.Workspace;
if (workspace.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace)
{
this.RasterType = enumRasterDataType.RDTRemoteDatabase;
base.DataType = "SDE栅格";
this.m_Server = workspace.ConnectionProperties.GetProperty("SERVER").ToString();
this.m_User = workspace.ConnectionProperties.GetProperty("USER").ToString();
this.m_Instance = workspace.ConnectionProperties.GetProperty("INSTANCE").ToString();
try
{
this.m_Database = workspace.ConnectionProperties.GetProperty("DATABASE").ToString();
}
catch (Exception)
{
}
this.m_Version = workspace.ConnectionProperties.GetProperty("VERSION").ToString();
}
}
public override void ExportToXML()
{
try
{
//RemoteRasterPropetry o = new RemoteRasterPropetry(this.m_RasterDataset);
//XmlSerializer xmlSerializer = new XmlSerializer(typeof(RemoteRasterPropetry));
//SaveFileDialog saveFileDialog = new SaveFileDialog();
//saveFileDialog.Filter = "XML文件(*.xml)|*.xml";
//saveFileDialog.CheckPathExists = true;
//string text = base.Raster;
//string str = "";
//if (text.IndexOf("\\") > 0)
//{
// str = text.Substring(0, text.IndexOf("\\"));
// text = text.Substring(text.IndexOf("\\") + 1);
//}
//text = str + "_" + text + ".xml";
//saveFileDialog.FileName = text;
//if (saveFileDialog.ShowDialog() == DialogResult.OK && saveFileDialog.FileName.Length != 0)
//{
// StreamWriter streamWriter = new StreamWriter(saveFileDialog.FileName);
// xmlSerializer.Serialize(streamWriter, o);
// streamWriter.Close();
//}
}
catch (Exception)
{
}
}
}
}