|
|
|
|
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)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|