当前位置: 首页 > news >正文

想做个网站 怎么做的西安百度seo代理

想做个网站 怎么做的,西安百度seo代理,提供手机自适应网站建设,没有网站怎么做推广ArcGIS Pro SDK (九)几何 15 转换 文章目录 ArcGIS Pro SDK (九)几何 15 转换1 创建地理转换2 创建复合地理变换3 创建投影转换4 创建高压基准变换5 创建复合高压基准变换6 决定转换7 地图点 - 地理坐标字符串转换 环境&#xff1…

ArcGIS Pro SDK (九)几何 15 转换

文章目录

  • ArcGIS Pro SDK (九)几何 15 转换
    • 1 创建地理转换
    • 2 创建复合地理变换
    • 3 创建投影转换
    • 4 创建高压基准变换
    • 5 创建复合高压基准变换
    • 6 决定转换
    • 7 地图点 - 地理坐标字符串转换

环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0

1 创建地理转换

// 从 wkid 创建
GeographicTransformation gt1478 = ArcGIS.Core.Geometry.GeographicTransformation.Create(1478);
string name = gt1478.Name; // 名称
string wkt = gt1478.Wkt; // WKT 表示
int wkid = gt1478.Wkid; // WKID// 从 WKT 创建
GeographicTransformation another_gt1478 = ArcGIS.Core.Geometry.GeographicTransformation.Create(wkt);// 反向变换
GeographicTransformation inverse_gt148 = another_gt1478.GetInverse() as GeographicTransformation;
bool isForward = inverse_gt148.IsForward; // 是否正向

2 创建复合地理变换

// 从 wkid 创建单例
CompositeGeographicTransformation cgt = ArcGIS.Core.Geometry.CompositeGeographicTransformation.Create(108272);
int count = cgt.Count;    // 数量 = 1IList<GeographicTransformation> gts = cgt.Transformations as IList<GeographicTransformation>;
gts.Add(ArcGIS.Core.Geometry.GeographicTransformation.Create(1437, false));
count = cgt.Count;        // 数量 = 2// 从枚举创建
CompositeGeographicTransformation another_cgt = ArcGIS.Core.Geometry.CompositeGeographicTransformation.Create(gts);
GeographicTransformation gt0 = another_cgt[0]; // 第一个变换
GeographicTransformation gt1 = another_cgt[1]; // 第二个变换// 获取反向变换
CompositeGeographicTransformation inversed_cgt = another_cgt.GetInverse() as CompositeGeographicTransformation;
// inversed_cgt[0] 与 gt1 相同
// inversed_cgt[1] 与 gt0 相同var wkt = gt0.Wkt;
// 从字符串创建
CompositeGeographicTransformation third_cgt = ArcGIS.Core.Geometry.CompositeGeographicTransformation.Create(wkt, gt0.IsForward);
count = third_cgt.Count;        // 数量 = 1// 从 JSON 创建
string json = cgt.ToJson();
CompositeGeographicTransformation json_cgt = DatumTransformation.CreateFromJson(json) as CompositeGeographicTransformation;

3 创建投影转换

// 方法需要在 MCT 上运行
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>{SpatialReference sr4267 = SpatialReferenceBuilder.CreateSpatialReference(4267);SpatialReference sr4326 = SpatialReferences.WGS84;SpatialReference sr3857 = SpatialReferences.WebMercator;// 创建从 4267 -> 3857 的转换ProjectionTransformation projTransFromSRs = ArcGIS.Core.Geometry.ProjectionTransformation.Create(sr4267, sr3857);// 创建一个矩形范围Envelope env = EnvelopeBuilderEx.CreateEnvelope(new Coordinate2D(2, 2), new Coordinate2D(3, 3), sr4267);// 使用一个地理转换将矩形范围从 4267 投影到 3857Envelope projectedEnvEx = GeometryEngine.Instance.ProjectEx(env, projTransFromSRs) as Envelope;// 创建反向转换,从 3857 -> 4267ProjectionTransformation projTransFromSRsInverse = ArcGIS.Core.Geometry.ProjectionTransformation.Create(sr3857, sr4267);// 使用反向转换将投影后的矩形范围投影回去Envelope projectedEnvBack = GeometryEngine.Instance.ProjectEx(projectedEnvEx, projTransFromSRsInverse) as Envelope;bool isEqual = env.IsEqual(projectedEnvBack); // 检查两个范围是否相等});

4 创建高压基准变换

// 从 wkid 创建
HVDatumTransformation hv110018 = HVDatumTransformation.Create(110018);
int wkid = hv110018.Wkid; // WKID
bool isForward = hv110018.IsForward;    // 是否正向 = true
string name = hv110018.Name;            // 名称 = WGS_1984_To_WGS_1984_EGM2008_1x1_Height// 从 WKT 创建
string wkt = hv110018.Wkt;
HVDatumTransformation hv110018FromWkt = HVDatumTransformation.Create(wkt);// 获取反向变换
HVDatumTransformation hv110018Inverse = hv110018.GetInverse() as HVDatumTransformation;
// hv110018Inverse.IsForward = false

5 创建复合高压基准变换

HVDatumTransformation hv1 = HVDatumTransformation.Create(108034);
HVDatumTransformation hv2 = HVDatumTransformation.Create(108033, false);
List<HVDatumTransformation> hvs = new List<HVDatumTransformation>() { hv1, hv2 };// 从枚举创建
CompositeHVDatumTransformation compositehv = CompositeHVDatumTransformation.Create(hvs);
int count = compositehv.Count;      // 数量 = 2List<HVDatumTransformation> transforms = compositehv.Transformations as List<HVDatumTransformation>;
HVDatumTransformation transform = transforms[0];
// transform.Wkid = 108034// 获取反向变换
CompositeHVDatumTransformation inverse_compositehv = compositehv.GetInverse() as CompositeHVDatumTransformation;// 从 XML 创建
string xml = compositehv.ToXml();
// 在 2.x 版本中 - CompositeHVDatumTransformation xml_compositehv =
//      CompositeHVDatumTransformation.CreateFromXML(xml);var xml_compositehv = CompositeHVDatumTransformation.CreateFromXml(xml);// 从 JSON 创建
string json = compositehv.ToJson();
CompositeHVDatumTransformation json_compositehv = DatumTransformation.CreateFromJson(json) as CompositeHVDatumTransformation;

6 决定转换

// 方法需要在 MCT 上运行
ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>{//// 查找在空间参考 4267 和 4326 之间使用的第一个转换//SpatialReference sr4267 = SpatialReferenceBuilder.CreateSpatialReference(4267);SpatialReference sr4326 = SpatialReferences.WGS84;List<ProjectionTransformation> transformations = ProjectionTransformation.FindTransformations(sr4267, sr4326);// transformations.Count = 1ProjectionTransformation projTrans = transformations[0];CompositeGeographicTransformation compositeGT = projTrans.Transformation as CompositeGeographicTransformation;GeographicTransformation gt = compositeGT[0];// gt.Wkid = 15851// gt.Name = "NAD_1927_To_WGS_1984_79_CONUS"// gt.IsForward = true//// 查找在空间参考 4267 和 4326 之间使用的前五个转换//transformations = ProjectionTransformation.FindTransformations(sr4267, sr4326, numResults: 5);// transformations.Count = 5projTrans = transformations[0];compositeGT = projTrans.Transformation as CompositeGeographicTransformation;// compositeGT.Count = 1// compositeGT[0].Wkid = 15851// compositeGT[0].Name = "NAD_1927_To_WGS_1984_79_CONUS"// compositeGT[0].IsForward = trueprojTrans = transformations[1];compositeGT = projTrans.Transformation as CompositeGeographicTransformation;// compositeGT.Count = 1// compositeGT[0].Wkid = 1173// compositeGT[0].Name = "NAD_1927_To_WGS_1984_4"// compositeGT[0].IsForward = trueprojTrans = transformations[2];compositeGT = projTrans.Transformation as CompositeGeographicTransformation;// compositeGT.Count = 1// compositeGT[0].Wkid = 1172// compositeGT[0].Name = "NAD_1927_To_WGS_1984_3"// compositeGT[0].IsForward = trueprojTrans = transformations[3];compositeGT = projTrans.Transformation as CompositeGeographicTransformation;// compositeGT.Count = 2// compositeGT[0].Wkid = 1241// compositeGT[0].Name = "NAD_1927_To_NAD_1983_NADCON"// compositeGT[0].IsForward = true// compositeGT[1].Wkid = 108190// compositeGT[1].Name = "WGS_1984_(ITRF00)_To_NAD_1983"// compositeGT[1].IsForward = falseprojTrans = transformations[4];compositeGT = projTrans.Transformation as CompositeGeographicTransformation;// compositeGT.Count = 2// compositeGT[0].Wkid = 1241// compositeGT[0].Name = "NAD_1927_To_NAD_1983_NADCON"// compositeGT[0].IsForward = true// compositeGT[1].Wkid = 1515// compositeGT[1].Name = "NAD_1983_To_WGS_1984_5"// compositeGT[1].IsForward = true//// 查找在空间参考 4267 和 4326 之间在阿拉斯加区域使用的第一个转换//Coordinate2D coord = new Coordinate2D(-148, 60);List<ProjectionTransformation> alaskatransforms = ProjectionTransformation.FindTransformations(sr4267, sr4326, coord);// alaskatransforms.Count = 1projTrans = alaskatransforms[0];compositeGT = projTrans.Transformation as CompositeGeographicTransformation;gt = compositeGT[0];// gt.Wkid = 1243// gt.Name = "NAD_1927_To_WGS_1984_11"// gt.IsForward = true//// 查找在空间参考 3857 和 4326 之间使用的第一个转换//SpatialReference sr3857 = SpatialReferences.WebMercator;transformations = ProjectionTransformation.FindTransformations(sr3857, sr4326);// transformations.Count = 1projTrans = transformations[0];compositeGT = projTrans.Transformation as CompositeGeographicTransformation;// compositeGT.Count = 0//// 查找在空间参考 4326 和 3857 之间使用的第一个转换//transformations = ProjectionTransformation.FindTransformations(sr4326, sr3857);// transformations.Count = 1projTrans = transformations[0];compositeGT = projTrans.Transformation as CompositeGeographicTransformation;// compositeGT.Count = 0//// 查找在空间参考 4326 和 7030 之间使用的第一个转换//SpatialReference sr7030 = SpatialReferenceBuilder.CreateSpatialReference(7030);transformations = ProjectionTransformation.FindTransformations(sr4326, sr7030);// transformations.Count = 1projTrans = transformations[0];compositeGT = projTrans.Transformation as CompositeGeographicTransformation;// compositeGT.Count = 1// compositeGT[0].Wkid = 108190// compositeGT[0].Name = "WGS_1984_(ITRF00)_To_NAD_1983"// compositeGT[0].IsForward = true});

7 地图点 - 地理坐标字符串转换

SpatialReference sr = SpatialReferences.WGS84;
SpatialReference sr2 = SpatialReferences.WebMercator;// 创建一些点
MapPoint point0 = MapPointBuilderEx.CreateMapPoint(0, 0, sr);
MapPoint point1 = MapPointBuilderEx.CreateMapPoint(10, 20, sr);
MapPoint point2 = GeometryEngine.Instance.Project(point1, sr2) as MapPoint;
MapPoint pointEmpty = MapPointBuilderEx.CreateMapPoint(sr);
MapPoint pointwithNoSR = MapPointBuilderEx.CreateMapPoint(1, 1);
MapPoint pointZM = MapPointBuilderEx.CreateMapPoint(1, 2, 3, 4, sr);// 转换为 MGRS
ToGeoCoordinateParameter mgrsParam = new ToGeoCoordinateParameter(GeoCoordinateType.MGRS);
// 31NAA6602100000
string geoCoordString = point0.ToGeoCoordinateString(mgrsParam);// 使用构建器从字符串创建一个新点。
// 坐标相同 
// outPoint.x = 0; outPoint.Y = 0
MapPoint outPoint = MapPointBuilderEx.FromGeoCoordinateString(geoCoordString, sr, GeoCoordinateType.MGRS);// 32QPH0460911794
// outPoint.X = 10; outPoint.Y = 20
geoCoordString = point1.ToGeoCoordinateString(mgrsParam);             
outPoint = MapPointBuilderEx.FromGeoCoordinateString(geoCoordString, sr, GeoCoordinateType.MGRS);// z, m 没有转换
// outPoint.X = 1; outPoint.Y = 2; outPoint.Z = Nan; outPoint.M = Nan;
geoCoordString = pointZM.ToGeoCoordinateString(mgrsParam);
outPoint = MapPointBuilderEx.FromGeoCoordinateString(geoCoordString, sr, GeoCoordinateType.MGRS);// 设置数字位数为 2 并转换
// 32QPH0512
// outPoint.X = 10; outPoint.Y = 20
mgrsParam.NumDigits = 2;
geoCoordString = point1.ToGeoCoordinateString(mgrsParam);             
outPoint = MapPointBuilderEx.FromGeoCoordinateString(geoCoordString, sr, GeoCoordinateType.MGRS);     // 转换为 UTM
ToGeoCoordinateParameter utmParam = new ToGeoCoordinateParameter(GeoCoordinateType.UTM);
// 31N 166021 0000000
geoCoordString = point0.ToGeoCoordinateString(utmParam);
// 32Q 604609 2211793
geoCoordString = point1.ToGeoCoordinateString(utmParam);        // 转换为 DMS
ToGeoCoordinateParameter dmsParam = new ToGeoCoordinateParameter(GeoCoordinateType.DMS);
// 00 00 00.00N 000 00 00.00E
geoCoordString = point0.ToGeoCoordinateString(dmsParam);
// 20 00 00.00N 010 00 00.00E
geoCoordString = point1.ToGeoCoordinateString(dmsParam);        // 转换为 DDM
ToGeoCoordinateParameter ddmParam = new ToGeoCoordinateParameter(GeoCoordinateType.DDM);
// 00 00.0000N 000 00.0000E
geoCoordString = point0.ToGeoCoordinateString(ddmParam);
// 20 00.0000N 010 00.0000E
geoCoordString = point1.ToGeoCoordinateString(ddmParam);        // 转换为 DD
ToGeoCoordinateParameter ddParam = new ToGeoCoordinateParameter(GeoCoordinateType.DD);
// 00.000000N 000.000000E
geoCoordString = point0.ToGeoCoordinateString(ddParam);
// 20.000000N 010.000000E
geoCoordString = point1.ToGeoCoordinateString(ddParam);       

文章转载自:
http://wanjiacorruptible.rkck.cn
http://wanjiaunapproachable.rkck.cn
http://wanjiaperidiolum.rkck.cn
http://wanjiaaquarium.rkck.cn
http://wanjiabathurst.rkck.cn
http://wanjiaapplicable.rkck.cn
http://wanjiatrepan.rkck.cn
http://wanjiaeelpot.rkck.cn
http://wanjiapreferred.rkck.cn
http://wanjiasulfhydryl.rkck.cn
http://wanjiaarteriovenous.rkck.cn
http://wanjiasabrecut.rkck.cn
http://wanjiaopium.rkck.cn
http://wanjiadeepfreeze.rkck.cn
http://wanjiawikiup.rkck.cn
http://wanjiaquincentennial.rkck.cn
http://wanjiaoarless.rkck.cn
http://wanjiaurbm.rkck.cn
http://wanjiaperikaryon.rkck.cn
http://wanjiadragsville.rkck.cn
http://wanjiaunearned.rkck.cn
http://wanjiabeacher.rkck.cn
http://wanjiaundated.rkck.cn
http://wanjiafuegian.rkck.cn
http://wanjiacuckoldry.rkck.cn
http://wanjiasatinette.rkck.cn
http://wanjiajudenrein.rkck.cn
http://wanjiaradiocesium.rkck.cn
http://wanjiakjv.rkck.cn
http://wanjiafrgs.rkck.cn
http://wanjialaconically.rkck.cn
http://wanjialuculent.rkck.cn
http://wanjiaelkhound.rkck.cn
http://wanjiaexurbanite.rkck.cn
http://wanjiametonic.rkck.cn
http://wanjiacountryfolk.rkck.cn
http://wanjianeologist.rkck.cn
http://wanjiasprit.rkck.cn
http://wanjiavictorious.rkck.cn
http://wanjiagibe.rkck.cn
http://wanjiabandmoll.rkck.cn
http://wanjiaski.rkck.cn
http://wanjiaeffractor.rkck.cn
http://wanjiadeuterogenesis.rkck.cn
http://wanjiaraspberry.rkck.cn
http://wanjiaoutflung.rkck.cn
http://wanjiachemisette.rkck.cn
http://wanjiapokeberry.rkck.cn
http://wanjiabodiless.rkck.cn
http://wanjiaweightiness.rkck.cn
http://wanjiaglibly.rkck.cn
http://wanjiaconfusable.rkck.cn
http://wanjiasordid.rkck.cn
http://wanjiadrawgear.rkck.cn
http://wanjiasyli.rkck.cn
http://wanjiacontractible.rkck.cn
http://wanjiadrome.rkck.cn
http://wanjiachemical.rkck.cn
http://wanjiacytotoxin.rkck.cn
http://wanjiaribbon.rkck.cn
http://wanjiabirdfarm.rkck.cn
http://wanjiareferential.rkck.cn
http://wanjiamammogenic.rkck.cn
http://wanjiaantinode.rkck.cn
http://wanjiaabsorptive.rkck.cn
http://wanjiafibrilliform.rkck.cn
http://wanjiamannequin.rkck.cn
http://wanjiamoneyless.rkck.cn
http://wanjiaevernormal.rkck.cn
http://wanjiacaner.rkck.cn
http://wanjianonappearance.rkck.cn
http://wanjiaanisodactylous.rkck.cn
http://wanjiaobstructionist.rkck.cn
http://wanjiarockbound.rkck.cn
http://wanjiatess.rkck.cn
http://wanjiapraia.rkck.cn
http://wanjiaestablishment.rkck.cn
http://wanjialangostino.rkck.cn
http://wanjiachildrenese.rkck.cn
http://wanjialinguate.rkck.cn
http://www.15wanjia.com/news/126974.html

相关文章:

  • ps做的网站如何转入dw百度关键词排名推广话术
  • b2c的购物网站一份完整的活动策划方案
  • 精品课程网站建设 公司竞价推广代运营企业
  • sentos上部署.net网站网站推广及seo方案
  • 网站的开发语言google搜索优化方法
  • 济南集团网站建设公司好域名权重查询工具
  • 网站建设的行业动态南宁关键词排名公司
  • wordpress 开源协议搜索引擎优化是指
  • 做网站官网网站建设制作过程
  • 网站改自适应 做自适应网络优化公司
  • 杭州网络公司网站2024年疫情还会封控吗
  • 网站导航大全小红书软文案例
  • 麻涌镇网站仿做制作网页的流程步骤
  • 兰州做网站 东方商易市场调研公司
  • 网站开发用笔记本电脑公司网站搭建
  • jsp网站怎么做的好看北京网站优化排名
  • 做外贸怎么网站找客户信息网址怎么弄
  • 温州哪家做网站域名注册商
  • 做脚垫版型的网站google安卓版下载
  • intitle 网站建设站长工具站长
  • 济南网站制作工作室今天发生的重大新闻
  • 美橙互联 网站备案seo顾问服务公司
  • 如何做招聘网站分析优化大师使用心得
  • 服务器托管服务商怎么快速优化网站
  • 鹿城做网站百度seo优化技巧
  • 贵州软件开发 网站开发百度一下你就知道官页
  • 做请柬的网站茂名seo顾问服务
  • wordpress页面添加关键词百度seo搜索引擎优化
  • 外贸品牌网站设计公司自己怎么免费做网站网页
  • 做暧嗳网站如何做网站赚钱