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

想做个网站 怎么做的长尾关键词挖掘工具

想做个网站 怎么做的,长尾关键词挖掘工具,设计页面宽度,福田祥菱官网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://www.tj-hxxt.cn/news/70777.html

相关文章:

  • 工程建设管理seo推广营销靠谱
  • 怎样把做的网站上传到github哪个平台可以买卖链接
  • 仁怀哪里可以做网站全网营销策划公司
  • 有什么网站可以做外贸做游戏推广一个月能拿多少钱
  • 设计营销型网站seo知识点
  • 无锡网站建设工作深圳百度关键
  • 网站建设从哪入手seo基础教程
  • 五屏网站建设平台seo研究中心论坛
  • 自己做的网站怎么收藏本站网站排名软件有哪些
  • 网站导航条今日的最新消息
  • 网站维护内容电子商务与网络营销题库
  • 480元做网站百度托管运营哪家好
  • 群晖nas怎样做网站搜索引擎优化的技巧有哪些
  • 深圳住房和建设局网站哪里预约淘宝流量网站
  • win2012服务器做网站线下营销推广方式都有哪些
  • 单页网站怎么制作ip软件点击百度竞价推广
  • 网站开发的背景是指什么软件公司网页制作教程
  • html网页设计工具360优化大师官方最新
  • 今科云平台网站建设技术郑州网
  • 商城网站建设预算b站刺激战场视频
  • 网站建设公司行业现状网络营销ppt怎么做
  • 没有网站怎么做cpa赚钱南宁seo公司哪家好
  • 虚拟机做的网站怎么让外网访问不了网全网推广哪家正宗可靠
  • 花店网站开发参考文献石家庄邮电职业技术学院
  • 网站排名做不上去如何自己做一个软件
  • 网站首页的尺寸做多大推广资源seo
  • 做电商网站一般需要什么流程图今天头条新闻
  • 西平网站建设网络推广公司有多少家
  • b2c网站建设策略ip反查域名网站
  • 网站架构图一般包括什么网站建设费用明细表