using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Geodatabase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IDEParameter
{
public class GPParamClass
{
private string strFirstFeatureLayer;
private string strSecondFeatureLayer;
private string strThirdFeatureLayer;
private IFeatureLayer secondFeatureLayer;
private IFeatureLayer thirdFeatureLayer;
private IFeatureLayer firstFeatureLayer;
///
/// 输入图层路径
///
public List ListInFeatureClassPath
{
get;
set;
}
///
/// 图层一
///
public string FirstFeatureClassPath
{
get;
set;
}
///
/// 图层二
///
public string SecondFeatureClassPath
{
get;
set;
}
///
/// 图层一
///
[System.Xml.Serialization.XmlIgnore]
public IFeatureClass FirstFeatureClass
{
get { return FirstFeatureLayer.FeatureClass; }
}
///
/// 图层二
///
[System.Xml.Serialization.XmlIgnore]
public IFeatureClass SecondFeatureClass
{
get { return SecondFeatureLayer.FeatureClass; }
}
///
/// 图层一
///
public string StrFirstFeatureLayer
{
get
{
return strFirstFeatureLayer;
}
set => strFirstFeatureLayer = value;
}
[System.Xml.Serialization.XmlIgnore]
public IFeatureLayer FirstFeatureLayer
{
get
{
firstFeatureLayer = KGIS.Framework.AE.GeoDBAPI.DeSerialzedPersist(strFirstFeatureLayer) as IFeatureLayer;
return firstFeatureLayer;
}
set
{
try
{
firstFeatureLayer = value;
strFirstFeatureLayer = KGIS.Framework.AE.GeoDBAPI.SerialzedPersist(value);
}
catch (Exception ex)
{
Console.WriteLine("qqq");
Console.WriteLine(ex.Message);
}
}
}
[System.Xml.Serialization.XmlIgnore]
public IFeatureLayer FirstFeatureLayer2
{
get;
set;
}
public string StrSecondFeatureLayer
{
get
{
return strSecondFeatureLayer;
}
set => strSecondFeatureLayer = value;
}
///
/// 图层二
///
[System.Xml.Serialization.XmlIgnore]
public IFeatureLayer SecondFeatureLayer
{
get
{
secondFeatureLayer = KGIS.Framework.AE.GeoDBAPI.DeSerialzedPersist(strSecondFeatureLayer) as IFeatureLayer;
return secondFeatureLayer;
}
set
{
secondFeatureLayer = value;
StrSecondFeatureLayer = KGIS.Framework.AE.GeoDBAPI.SerialzedPersist(value);
}
}
public string StrThirdFeatureLayer
{
get
{
return strThirdFeatureLayer;
}
set => strThirdFeatureLayer = value;
}
///
/// 图层三
///
[System.Xml.Serialization.XmlIgnore]
public IFeatureLayer ThirdFeatureLayer
{
get
{
thirdFeatureLayer = KGIS.Framework.AE.GeoDBAPI.DeSerialzedPersist(strThirdFeatureLayer) as IFeatureLayer;
return thirdFeatureLayer;
}
set
{
thirdFeatureLayer = value;
StrThirdFeatureLayer = KGIS.Framework.AE.GeoDBAPI.SerialzedPersist(value);
}
}
///
/// 输出图层路径
///
public string OutFeatureClassPath
{
get;
set;
}
///
/// 容差:单位 米
///
public string Tolerance
{
get;
set;
}
///
/// 保存属性
///
public string PreserveAttributes
{
get;
set;
}
///
/// 标签图层路径
///
public string LableFeature
{
get;
set;
}
///
/// 融合字段
///
public List ListDissolveFiledName
{
get;
set;
}
///
/// 输入坐标参考Code
///
public int InputCoordinateSystemCode
{
get;
set;
}
///
/// 输入坐标参考路径
///
public string InputCoordinateSystem
{
get;
set;
}
///
/// 输入坐标参考
///
[System.Xml.Serialization.XmlIgnore]
public ESRI.ArcGIS.Geometry.ISpatialReference InputSpatialReference
{
get;
set;
}
///
/// 输出坐标参考路径
///
public string OutputCoordinateSystem
{
get;
set;
}
///
/// 空间赋值Spatial join关系选择
///
public string Match_option
{
get;
set;
}
///
/// 是否获取GP工具生成后的图层
///
public bool IsGetOutPutFeature
{
get;
set;
}
///
/// 坐标参考转换参数
///
public ProjectParamtersClass ParamtersClass
{
get;
set;
}
public bool quxiaoxianfenge { get; set; }
///
/// 要素转点时:Inside(内部)选项
///
public string Inside
{
get;
set;
}
///
/// Statistics_Fields
///
public object Statistics_Fields { get; set; }
public string Where_clause { get; set; }
public EnumGPType GPType { get; set; }
public string FcName { get; set; }
public string Overlap_type { get; set; }
public string Search_radius { get; set; }
public string Join_type { get; set; }
public bool JOIN_ONE_TO_ONE { get; set; }
public bool Multi_part { get; set; }
public string TempGDBPath { get; set; }
public string XZQDM { get; set; }
}
public enum EnumGPType
{
Default,
Dissolve,
Union,
FcToFc,
Intersect,
Erase,
PolygonToLine,
UnsplitLine,
SelectLayerByLocation,
SelectLayerByAttribute,
MultipartToSinglePath,
SpatialJoin,
Get20XDLTB,
Identify,
BGTBYCL,
YBG,
CZCYCL,
CZCBG,
XZQYCL,
XZQBG,
CJDCQYCL,
CJDCQBG
}
}