public static ISpatialReference CreateProjectedCoordinate(esriSRProjCS4Type pcsType) { ISpatialReferenceFactory2 pSpatialReferenceFactory = new SpatialReferenceEnvironmentClass(); ISpatialReference pSpatialReference = pSpatialReferenceFactory.CreateProjectedCoordinateSystem((int)pcsType); return(pSpatialReference); }
public static ISpatialReference CreateGeographicCoordinate(esriSRProjCS4Type gcsType) { ISpatialReferenceFactory pSpatialReferenceFactory = new SpatialReferenceEnvironmentClass(); ISpatialReference pSpatialReference = pSpatialReferenceFactory.CreateGeographicCoordinateSystem((int)gcsType); return(pSpatialReference); }
/// <summary> /// 投影坐标系信息 /// <para>包括:坐标系别名、坐标系名称、坐标系枚举、投影带号等</para> /// </summary> /// <param name="eType"></param> public ProjectionInfo(esriSRProjCS4Type eType) { Wkid = (int)eType; AliasName = Name = eType.ToString().Replace("esriSRProjCS4Type.esriSRProjCS_", "").Replace('_', ' '); var splitNameAraay = Name.Split(new[] { "Zone " }, StringSplitOptions.RemoveEmptyEntries); ProjectZone = splitNameAraay.Length == 2 ? Convert.ToInt32(splitNameAraay[1]) : 0; }
public bool ResolveJson(string jsonPath) { if (File.Exists(jsonPath)) { string jsonStr = File.ReadAllText(jsonPath); JavaScriptSerializer js = new JavaScriptSerializer(); js.MaxJsonLength = Int32.MaxValue; FeatureObjClass obj = js.Deserialize <FeatureObjClass>(jsonStr); //解析空间参考 Dictionary <string, object> dict = (Dictionary <string, object>)obj.spatialReference; string wkt = dict["wkt"].ToString(); string[] mySRArray = wkt.Split(new string[] { "PROJCS[", "," }, StringSplitOptions.None); string mySr = "esriSRProjCS_" + mySRArray[1].Replace("\"", "").Replace("Xian_1980", "Xian1980"); esriSRProjCS4Type srEnum = (esriSRProjCS4Type)Enum.Parse(typeof(esriSRProjCS4Type), mySr); //解析要素 //FeatureClass Name setNameAndGeotype(obj.displayFieldName, obj.geometryType, (int)srEnum, obj.fields, obj.features); } return(true); }
/// <summary> /// 创建西安1980高斯克吕格3度分带含带号”的指定带号投影坐标系 /// </summary> /// <param name="belt">带号(范围在[25,45]之间)</param> /// <returns></returns> public static ISpatialReference CreateGauss3_Xian1980(int belt) { esriSRProjCS4Type jcsType = GetPcsType_Gauss3_Xian1980(belt); return(new SpatialReferenceEnvironmentClass().CreateProjectedCoordinateSystem((int)jcsType)); }
/// <summary> /// 根据指定投影类型创建投影坐标系 /// </summary> /// <param name="pcsType">投影类型枚举(esriSRProjCS4Type)</param> /// <returns></returns> public static ISpatialReference CreateSpatialRef(esriSRProjCS4Type pcsType) { return(CreateSpatialRef((int)pcsType, ESrType.Projected)); }
/// <summary> /// 创建投影坐标系 /// </summary> /// <param name="pcsType"></param> /// <returns></returns> static public ISpatialReference CreateProjectedCoordinateSystem(esriSRProjCS4Type pcsType) { return(CreateProjectedCoordinateSystem((int)pcsType)); }