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);
        }
Exemple #3
0
        /// <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);
        }
Exemple #5
0
        /// <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));
        }
Exemple #6
0
 /// <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));
 }