加载中 ...
首页 > 新闻资讯 > 软件开发 正文

基于[网学网]的城市地块面积打印程序设计及实现论文

2019-03-23 08:39:44 来源:沈阳软件公司 作者:沈阳软件开发

软件开发论文栏目提醒】:网学会员--在 软件开发论文编辑为宽大网友搜集整理了:基于VB.NET的都会地块面积打印程序设计及实现论文绩等信息,祝愿宽大网友取得需要的信息,参考学习。

  摘要:本文先容了都会丈量地块面积盘算公式及丈量坐标系到盘算机屏幕坐标系转换的数学基础沈阳软件定制<a href=http://www.hvihi.com target=_blank class=infotextkey>沈阳<a href=http://www.hvihi.com target=_blank class=infotextkey>软件开发</a></a>,<a href=http://www.hvihi.com target=_blank class=infotextkey>沈阳<a href=http://www.hvihi.com target=_blank class=infotextkey>软件公司</a></a>,然后详述了VB.NET编写面积打印程序的思绪、处置惩罚要领及程序中需要思量的细节问题,并给出了实现部门功效的程序代码。
  要害词:VB.NET编程都会地块面积程序设计
  1、弁言
  在都会丈量事情中,地块面积丈量是比力常见的测绘事情,面积丈量结果一样平常要附有坐标表、略图、面积数值、题目、说明、责任栏、相邻界址点边长等信息。若是仅编写单个地块的面积打印程序,这是比力容易实现的。可是,在现实事情中,一方面,一个总地块往往包罗有多个分类小块,面积丈量结果需要反映各种地块的信息;另一方面,也需要思量面积结果的紧凑性,好比有时在页面上打印一块面积信息,效果可能比力好,有时在页面上打印多块面积信息,看起来比力紧凑,而且比力节约纸张。若是综合思量种种因素,编写一个面积打印效果较好的程序,照旧不容易的。
  2、坐标法面积盘算公式
  设ABC……N为恣意多边形,其极点的坐标划分为(,),(,),……,(,)。
  
  从图中可以看出,该恣意多边形的面积P为:
  由此可得下式:
  
  式中,n为多边形极点的个数,,。
  3、丈量坐标系到盘算机屏幕坐标系的换算
  
  如图3-1和图3-2所示,对实所在P,丈量坐标系转换到盘算机屏幕坐标系中的坐标盘算公式如下:
  
  
  其中,为点P在丈量坐标系中的坐标,为要显示区域的最小坐标(左下角),为最大丈量坐标(右上角)。为点P在盘算机屏幕显示区的屏幕坐标,为屏幕显示区的最小坐标(左上角),为屏幕显示区最大坐标(右下角),Sx,Sy为丈量坐标到屏幕坐标换算的比例系数,盘算公式如下:
  
  
  为了使得在盘算机屏幕上显示的图形不至变形,从丈量坐标到屏幕坐标换算的比例系数Sxy,在X偏向和Y偏向应接纳相同的比例系数,即Sxy=Min(Sx,Sy)。
  4、VB.NET打印机制
  VB.NET打印时,要挪用PrintDocument工具的Print要领,这个要领不天生任何打印输出,但会发出PrintPage事务,PrintPage事务通报e变元,提供当前Printer工具的Graphics属性以及其他成员,我们就在PrintPage事务处置惩罚器中编写打印输出代码。若是需要打印其他页面,则要在退失事件处置惩罚器之前将e.HasMorePages属性设置为True,这就重复引发PrintPage事务,直到打印完所有页面。所有页面打印完成后,将e.HasMorePages属性设置为False,不再触发PrintPage事务,打印历程流程如下:
  
  
  5、面积打印程序流程图
  我们用VB.NET设计面积打印程序时,就是使用VB.NET的打印机制,通过盘算信息,在程序运行中控制e.HasMorePages属性,不停引发PrintPage事务,在当前页面上打印信息。流程图如下:
  
  6、程序设计中需要思量的细节
  6.1作者设计的面积程序打印效果图
  
  
  6.2面积数据文件花样
  如果面积数据文件中接纳如下坐标花样:
  ……
  1, 界址点名,X,Y
  2, 界址点名,X,Y
  ……
  在形貌某块面积信息时,这种坐标花样很适用,例如A块面积由1,2,3,4,5,6一连序号界址点对应的面积,我们在形貌其面积打印信息时,可写成…1-6…。
  6.3坐标表页数简直定
  设一行打印两个坐标,页数用Page表现,页面可打印区的高度为PrintHeight、可打印的行数为PageRow、行间距为a、坐标文字高度XYHeight、坐标总数为XY.Count,则
  PageRow=Int(PrintHeight/(XYHeight+a))
  Page=XY.Count/(2*PageRow)
  IfPage>Int(Page)Then
  XYPage=Int(Page)+1
  Else
  XYPage=Int(Page)
  EndIf
  6.4面积略图绘制
  DimSx,Sy,SkAsDouble
  Sx=(MaxXs-MinXs)/(MaxYg-MinYg)
  Sy=(MaxYs-MinYs)/(MaxXg-MinXg)
  Sk=Math.Min(Sx,Sy)

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。