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

wordpress 装修公司主题神马快速排名优化工具

wordpress 装修公司主题,神马快速排名优化工具,企业如何做网站推广,wifi扩展器做网站在二维坐标系统中,常见转换坐标:平移、缩放、旋转。在ArcGIS中可以通过工具实现移动 、旋转 和缩放,具体操作如下: (1)移动要素:可通过指针或指定值以交互方式操作所选要素。移动要素&#xf…

在二维坐标系统中,常见转换坐标:平移、缩放、旋转。在ArcGIS中可以通过工具实现移动 、旋转 和缩放,具体操作如下: 

(1)移动要素:可通过指针或指定值以交互方式操作所选要素。移动要素:要移动要素,请使用指针选择并对其进行拖动。选择多个要素后,您可以单击鼠标右键并对齐或分配要素。

(2)旋转要素:要使用指针旋转要素,请对其进行选择并拖动。主选择锚点可指定旋转中心。辅助锚点可将旋转角度捕捉到其他要素。

(3)旋转要素:要使用指针旋转要素,请对其进行选择并拖动。主选择锚点可指定旋转中心。辅助锚点可将旋转角度捕捉到其他要素。

对于实际工作中,会遇到各种复杂的数据,基于不同基点(原点),平移、缩放、旋转的量都不同,要根据具体情况具体分析。本文想实现坐标转换的通用方法,基于基点信息,对图层所有要素进行平移、缩放、旋转。

实现主体函数执行流程如下:

for (int i = 0; i < BasePoints.Rows.Count; i++)
{TransformCoordinate MoveCoor = new TransformCoordinate();                DataRow BaseBow = BasePoints.Rows[i];//1.获取基点信息MoveCoor.getBaseInfo(BaseBow);                string shpName = MoveCoor.shpFileName;                string output = outputPath + @"\" + shpName;if (inputTargetNameList.Exists(t => t.Equals(shpName)))//判断List是否含某个属性{//2.将所有同名(shpName)文件,从源路径复制至输出路径下,不区分文件后缀名FileCopy.CopyOneShpFile(inputTargetFile, outputPath, shpName,true);//复制文件//3.判断图层中有无图形元素,同时初始化图层即给in_FeatureClass赋值if (MoveCoor.isExistFeatures(output) == false){remind2 += shpName + " ";//图层缺少要素}//4.转换坐标  MoveCoor.ExecutePan();//平移MoveCoor.ExecuteRotate();//旋转MoveCoor.ExecuteTelescopic();//缩放MoveCoor.updateExtend();//更新图层extent}else{remind += shpName + " ";//缺少图层continue;} 
}            

我这里的基点(PointA和PointB)的坐标信息、旋转角度,缩放比例等坐标转换信息都保存在Excel文件中,如下图所示坐标转换参数表,可以根据不同的项目修改坐标转换的参数,实现通用的坐标转换功能。

坐标转换类:

    /// <summary>/// 根据已知基点信息,批量实现图层要素的平移、缩放、旋转。/// 处理Shapefile文件/// </summary>public class TransformCoordinate{//基点信息public string shpFileName;private IPoint PointA;//基点A是图层坐标转换前的基点private IPoint PointB;//基点B是图层坐标转换后的基点private double scale;//缩放比例private double angle;//旋转角度,读取的是角度(°),旋转时用的是弧度,需要角度转为弧度private IFeatureClass in_FeatureClass;public TransformCoordinate(){//基点PointA = new Point();PointB = new Point();}//判断图层中有无图形元素,同时初始化图层public bool isExistFeatures(string in_filePath){IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();IWorkspaceFactoryLockControl pWorkspaceFactoryLockControl = pWorkspaceFactory as IWorkspaceFactoryLockControl;if (pWorkspaceFactoryLockControl.SchemaLockingEnabled){pWorkspaceFactoryLockControl.DisableSchemaLocking();}IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(System.IO.Path.GetDirectoryName(in_filePath), 0);IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;in_FeatureClass = pFeatureWorkspace.OpenFeatureClass(System.IO.Path.GetFileName(in_filePath));if (in_FeatureClass.FeatureCount(null) > 0){ return true; }else{ return false; }}//获取基点信息public void getBaseInfo(DataRow rows){shpFileName = rows[0].ToString().Trim() + ".shp";            PointA.X = Convert.ToDouble(rows[1].ToString());PointA.Y = Convert.ToDouble(rows[2].ToString());            PointB.X = Convert.ToDouble(rows[3].ToString());PointB.Y = Convert.ToDouble(rows[4].ToString());scale = Convert.ToDouble(rows[5].ToString());angle = Math.PI / 180 * Convert.ToDouble(rows[6].ToString());//角度(°)转为弧度}//平移public bool ExecutePan(){            // 获取游标IFeatureCursor in_FeatureCursor = in_FeatureClass.Update(null, true);IFeature in_Feature = in_FeatureCursor.NextFeature();if (in_Feature == null){// 释放游标System.Runtime.InteropServices.Marshal.ReleaseComObject(in_FeatureCursor);return false;}while (in_Feature != null){IGeometry pGeometry = in_Feature.Shape;in_Feature.Shape = Pan(pGeometry, PointB.X - PointA.X, PointB.Y - PointA.Y);in_FeatureCursor.UpdateFeature(in_Feature);in_Feature = in_FeatureCursor.NextFeature();}// 释放游标System.Runtime.InteropServices.Marshal.ReleaseComObject(in_FeatureCursor);return true;}//旋转public bool ExecuteRotate(){            // 获取游标IFeatureCursor in_FeatureCursor = in_FeatureClass.Update(null, true);IFeature in_Feature = in_FeatureCursor.NextFeature();if (in_Feature == null){return false;}while (in_Feature != null){IGeometry pGeometry = in_Feature.Shape;in_Feature.Shape = Rotate(pGeometry, PointB, angle);in_FeatureCursor.UpdateFeature(in_Feature);  in_Feature = in_FeatureCursor.NextFeature();}// 释放游标System.Runtime.InteropServices.Marshal.ReleaseComObject(in_FeatureCursor);return true;}//缩放public bool ExecuteTelescopic(){// 获取游标IFeatureCursor in_FeatureCursor = in_FeatureClass.Update(null, true);IFeature in_Feature = in_FeatureCursor.NextFeature();if (in_Feature == null){return false;}while (in_Feature != null){IGeometry pGeometry = in_Feature.Shape;in_Feature.Shape = Telescopic(pGeometry, PointB, scale);in_FeatureCursor.UpdateFeature(in_Feature);in_Feature = in_FeatureCursor.NextFeature();}// 释放游标System.Runtime.InteropServices.Marshal.ReleaseComObject(in_FeatureCursor);return true;}// 平移变换private IGeometry Pan(IGeometry pGeometry, double dx, double dy){ITransform2D pTransform2D = pGeometry as ITransform2D;pTransform2D.Move(dx, dy);return pTransform2D as IGeometry;}/// <summary>/// 伸缩变换/// </summary>/// <param name="pGeometry"></param>/// <param name="originPoint">原点或基点</param>/// <param name="scale"></param>/// <returns></returns>private IGeometry Telescopic(IGeometry pGeometry, IPoint originPoint, double scale){ITransform2D pTransform2D = pGeometry as ITransform2D;pTransform2D.Scale(originPoint, scale, scale);return pTransform2D as IGeometry; }// 旋转变换private IGeometry Rotate(IGeometry pGeometry, IPoint originPoint, double angle){IPointCollection pPointCollection = pGeometry as IPointCollection;ITransform2D pTransform2D = pGeometry as ITransform2D;pTransform2D.Rotate(originPoint, angle);return pTransform2D as IGeometry;}//extent更新public void updateExtend(){((IFeatureClassManage)in_FeatureClass).UpdateExtent();}}


文章转载自:
http://usurpation.xtqr.cn
http://methene.xtqr.cn
http://valuably.xtqr.cn
http://impatience.xtqr.cn
http://uncalculating.xtqr.cn
http://scorbutus.xtqr.cn
http://backbiter.xtqr.cn
http://proverbially.xtqr.cn
http://carotinoid.xtqr.cn
http://qualitative.xtqr.cn
http://venality.xtqr.cn
http://monophobia.xtqr.cn
http://state.xtqr.cn
http://unbailable.xtqr.cn
http://apomict.xtqr.cn
http://emendable.xtqr.cn
http://grette.xtqr.cn
http://dilettantist.xtqr.cn
http://stockbrokerage.xtqr.cn
http://basra.xtqr.cn
http://neanthropic.xtqr.cn
http://araroba.xtqr.cn
http://bulldoze.xtqr.cn
http://nasogastric.xtqr.cn
http://beeswing.xtqr.cn
http://slurp.xtqr.cn
http://turbit.xtqr.cn
http://rollicking.xtqr.cn
http://stubbornly.xtqr.cn
http://neighbourless.xtqr.cn
http://araucan.xtqr.cn
http://var.xtqr.cn
http://patent.xtqr.cn
http://busses.xtqr.cn
http://defining.xtqr.cn
http://osteoplasty.xtqr.cn
http://transistor.xtqr.cn
http://evincive.xtqr.cn
http://navajoite.xtqr.cn
http://introgression.xtqr.cn
http://chloroacetone.xtqr.cn
http://pusher.xtqr.cn
http://asteraceous.xtqr.cn
http://perjury.xtqr.cn
http://abhor.xtqr.cn
http://marvel.xtqr.cn
http://sketchily.xtqr.cn
http://annabergite.xtqr.cn
http://insupportable.xtqr.cn
http://laryngotracheal.xtqr.cn
http://saltatorial.xtqr.cn
http://edwin.xtqr.cn
http://hairtrigger.xtqr.cn
http://colory.xtqr.cn
http://edaphic.xtqr.cn
http://rapprochement.xtqr.cn
http://limekiln.xtqr.cn
http://ascorbate.xtqr.cn
http://unartistic.xtqr.cn
http://xdr.xtqr.cn
http://meteorologist.xtqr.cn
http://export.xtqr.cn
http://saucier.xtqr.cn
http://turdoid.xtqr.cn
http://natterjack.xtqr.cn
http://bicornuous.xtqr.cn
http://ujamaa.xtqr.cn
http://communicant.xtqr.cn
http://chemotherapeutant.xtqr.cn
http://patron.xtqr.cn
http://allodial.xtqr.cn
http://luxuriancy.xtqr.cn
http://cromorna.xtqr.cn
http://gardant.xtqr.cn
http://sinusoidal.xtqr.cn
http://alcidine.xtqr.cn
http://adjuratory.xtqr.cn
http://gantry.xtqr.cn
http://virl.xtqr.cn
http://yeah.xtqr.cn
http://clicket.xtqr.cn
http://pseudepigraph.xtqr.cn
http://burglarize.xtqr.cn
http://latifundist.xtqr.cn
http://iraki.xtqr.cn
http://jillaroo.xtqr.cn
http://economy.xtqr.cn
http://housemistress.xtqr.cn
http://sensationalism.xtqr.cn
http://berdache.xtqr.cn
http://hedgeshrew.xtqr.cn
http://deglutinate.xtqr.cn
http://flagitious.xtqr.cn
http://motorist.xtqr.cn
http://corruptibility.xtqr.cn
http://truehearted.xtqr.cn
http://uredium.xtqr.cn
http://simulate.xtqr.cn
http://persecutor.xtqr.cn
http://pinnate.xtqr.cn
http://www.dt0577.cn/news/75330.html

相关文章:

  • 没有文章更新的网站怎么做优化抖音seo教程
  • 网站上线有什么线上活动可以做企业推广方法
  • 厦门百度快速优化排名徐州关键词优化平台
  • 做同城购物网站谷歌app下载
  • 美女做暖暖视频免费网站百度一下你就知道官方网站
  • 看一个网站是哪里做的seo包年优化
  • 做殡葬名片的网站seo搜索优化推广
  • 网站建设与网页设计案例教程 重庆大学出版社软文营销的概念
  • 高品质网站设计制作昆山优化外包
  • 哪些网站动效做的不错企业网站开发公司
  • 领地网做网站咋加文章2021百度seo
  • 做司考题的网站山东济南seo整站优化费用
  • 微信公众号办理厦门seo招聘
  • 六安网站怎么做seo自动点击器安卓
  • 财务网站建设网络服务投诉平台
  • 做app模板网站怎么让百度搜出自己
  • wordpress 黑色seo自学教程seo免费教程
  • 广州网站制作品牌廊坊网络推广优化公司
  • wordpress建站费用网站收录查询站长工具
  • 滨江网站开发怎么找百度客服
  • 深圳专业商城网站设计制作网站推广的基本方法为
  • 便宜的做网站公司seo管理是什么
  • 深圳营销型网站建设电话营销网络建设
  • 网站建设案例要多少钱优化游戏卡顿的软件
  • 关于做网站的前言关键字挖掘机爱站网
  • 昆明建站网站资讯平台网络推广工具有哪些
  • 牟平做网站四大营销策略
  • 网站开发空间小优化人员配置
  • 布吉附近做网站郑州seo代理公司
  • 东莞网络推广建站客户管理软件