<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      www.TimeGIS.com

      時空地圖 www.TimeGIS.com

      交互式圖形化建模仿真軟件開發

      導航

      地理坐標轉換的C#實現 - Xian1980, BeiJing 1954, WGS84

      在編寫地圖相關的軟件時,經常碰到的問題就是坐標轉換,

      我們可以用ArcGIS的功能實現,也有學測繪的人專門寫了程序來轉換

      如果你要在自己的系統中實現這個功能,

      比如說,得到一個arcgis shp 文件,它的坐標系是西安1980, 北京1954,你需要把坐標轉為WGS84,并在Google Map上顯示出來,

      開源軟件 http://projnet.codeplex.com/http://dotspatial.codeplex.com/ 可能是你的選擇,

      在他們的網站上你可以找到他們為何要寫這些功能的原因和出處。

      初學者們可能需要去搜索一下 “西安1980, 北京1954”

       

      下面是具體步驟:

       

      首先你需要從網站下載編譯好的DLL, 

       

      在Proj.NET里面你需要

      using ProjNet.CoordinateSystems;
      using ProjNet.Converters.WellKnownText;
      using ProjNet.CoordinateSystems.Transformations;

       

      CoordinateTransformationFactory ctfac = new CoordinateTransformationFactory();

      string wktUtm30 = "PROJCS[\"UTM-30\",GEOGCS[\"Unused\",DATUM[\"UTM Projections\",SPHEROID[\"WGS 1984\",6378137,298.257223563]],PRIMEM[\"Greenwich\",0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"False_Easting\",500000],PARAMETER[\"False_Northing\",0],PARAMETER[\"Central_Meridian\",-3],PARAMETER[\"Scale_Factor\",0.9996],PARAMETER[\"Latitude_Of_Origin\",0],UNIT[\"Meter\",1]]";
      ICoordinateSystem cs1 = CoordinateSystemWktReader.Parse(wktUtm30) as ICoordinateSystem;
      ICoordinateSystem cs2 = GeographicCoordinateSystem.WGS84;
      ICoordinateTransformation trans = ctfac.CreateFromCoordinateSystems(cs1, cs2);

      double[] fromPoint = new double[] { 37270, 76370 };
      double[] toPoint = trans.MathTransform.Transform(fromPoint);

       

      然而在中國普遍使用的 西安1980, 北京1954,這個Proj.NET不支持高斯-克魯格投影,只好嘗試另外一個。

       

      using DotSpatial.Projections;

       

      //Proj4js.defs["EPSG:2414"] = "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs";
      //Sets up a array to contain the x and y coordinates
      double[] xy = new double[2];
      xy[0] = 39079460;
      xy[1] = 3335377;
      //An array for the z coordinate
      double[] z = new double[1];
      z[0] = 1;

      ProjectionInfo pStart = KnownCoordinateSystems.Projected.GausKrugerBeijing1954.Beijing19543DegreeGKZone38;
      string s = pStart.ToEsriString();
      string t = pStart.ToProj4String();

      string wktbj1954 = "PROJCS[\"Beijing_1954_3_Degree_GK_Zone_38\",GEOGCS[\"GCS_Beijing_1954\",DATUM[\"D_Beijing_1954\",SPHEROID[\"Krasovsky_1940\",6378245.0,298.3]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Gauss_Kruger\"],PARAMETER[\"False_Easting\",38500000.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",114.0],PARAMETER[\"Scale_Factor\",1.0],PARAMETER[\"Latitude_Of_Origin\",0.0],UNIT[\"Meter\",1.0]]";
      ProjectionInfo pStart2 = ProjectionInfo.FromEsriString(wktbj1954);

      //.FromProj4String("+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs");                  

      ProjectionInfo pEnd = KnownCoordinateSystems.Geographic.World.WGS1984;

      //Calls the reproject function that will transform the input location to the output locaiton
      Reproject.ReprojectPoints(xy, z, pStart2, pEnd, 0, 1);

      xy[0] = 120;
      xy[1] = 30;
      Reproject.ReprojectPoints(xy, z, pEnd, pStart, 0, 1);

       

      經過測試,滿足我的需求。

      這樣的話,只要用DotSpatial這個就可以了,暫時放棄使用Proj.NET. 希望給同行有參考意義。

       

      快手軟件: http://www.kuaishou.net/

       

       

       

      posted on 2012-09-27 18:04  時空地圖-TimeGIS-com  閱讀(4136)  評論(0)    收藏  舉報

      www.TimeGIS.com
      主站蜘蛛池模板: 久播影院无码中文字幕| 色欲狠狠躁天天躁无码中文字幕| 伊人色综合一区二区三区| 精品超清无码视频在线观看| 国产天美传媒性色av| 国产精品v片在线观看不卡| 日韩有码中文字幕第一页 | 久久99精品久久久久久9| 粗大的内捧猛烈进出小视频| 国产成人亚洲精品在线看| 日韩有码精品中文字幕| 日韩av第一页在线播放| 老熟妇欲乱一区二区三区| 日韩精品久久不卡中文字幕| 年轻女教师hd中字3| 99精品国产在热久久婷婷| 成人一区二区人妻不卡视频| 亚洲v欧美v日韩v国产v| 国产AV大陆精品一区二区三区| 日韩蜜桃AV无码中文字幕不卡高清一区二区 | 99久久精品国产熟女拳交| 大香伊蕉在人线国产最新2005 | 日本肥老妇色xxxxx日本老妇| av无码精品一区二区乱子| 两个人的视频www免费| 国产精品内射在线免费看| 在线中文一区字幕对白| 久久人与动人物a级毛片| 亚洲综合伊人久久大杳蕉| 欧洲精品码一区二区三区| 国产在线线精品宅男网址| 日韩卡一卡2卡3卡4卡| 起碰免费公开97在线视频| 亚日韩精品一区二区三区| 中文字幕精品亚洲二区| 东京热人妻无码一区二区av| 国产精品永久免费成人av| 亚洲成a人v欧美综合天堂下载| 欧美日韩一线| 国产午夜在线观看视频播放| 亚洲精品一区二区二三区|