经纬度坐标转换成px_WebGIS中经纬度到像素到屏幕像素坐标的转换介绍及公式

##经纬度坐标转换成屏幕坐标

地理坐标定义规则:X轴(代表经度)向右递增,Y轴(纬度)向上递增,就好比小学学过的平面坐标。向左、向下的规则。屏幕坐标定义规则:X轴向右递增,Y轴向下递增。

可以看出,地理坐标和屏幕坐标的区别仅仅只是在于Y轴递增方向是相反的(这就是不同)。

这里强调一点的就是为了保证精度,地理坐标的度*3600换算成秒,所有的取值用double来计算,最后的结果再转换成int。

###1 已知道屏幕的高(y)和宽(h),

地理坐标区域的范围(maxLon,minLon,maxLat,minLat),这里我们知道了这些已知的参数。

###2 我们可以算出每像素所代表的经度和纬度(有人称这个为比例因子)。

公式:scaleX = ((maxLon-minLon)3600)/h ----------X轴上每像素代表的经度秒数;

公式:scaleY = ((maxLat-minLat)3600)/y ----------Y轴上每像素代表的纬度秒数;

这两个比例因子就是两个坐标系之间的关系。

###3 很简单的一步了,那就是算出该地理坐标区域中的任何一点(lon,lat)在屏幕上的坐标了。

公式:screenX = lon 3600/scaleX;---------屏幕坐标X轴坐标

公式:screenY = lat3600/scaleY; ---------屏幕坐标Y轴坐标

还有最后一步,那就是我们要把该地理区域占满占个屏幕该怎么办呢?

###4 接着我们需要该地理区域占满占个屏幕该怎么办呢

公式:minX = minLon3600/scaleX;区域左边置最左端

公式:minY = minLat3600/scaleY; 区域上面置最上端

###5 当地地理范围区域占满整个屏幕时,我们需要用到第三步计算出来的 screenX和screenY两个参数,该区域中的任何一点的公式如下:

公式:X = screenX - minX = (lon - minLon)*3600/scaleX;

公式:Y = screenMaxLat - screenLat = (maxLat - lat)*3600/scaleY;

###6 总结:

经纬度转屏幕坐标的最终公式如下:

公式:X = (lon - minLon)*3600/scaleX;

公式:Y = (maxLat - lat)*3600/scaleY;

接着我们由上面的公式可以推出屏幕坐标转经纬度坐标公式如下:

公式:lon = X * scaleX/3600 + minLon;

公式:lat = maxLat - y* scaleY/3600;

《宾馆客房管理系统》是一个基于C#与MySQL的项目,旨在帮助学习者掌握数据库管理和系统开发知识。该项目通过完整代码实现,将编程技术应用于宾馆客房管理的实际业务场景。 C#是微软开发的面向对象编程语言,广泛用于Windows应用程序开发。在本项目中,C#用于构建用户界面、处理业务逻辑以及与数据库交互。它拥有丰富的类库,便于开发复杂图形用户界面(GUI),并通过ADO.NET组件实现与MySQL数据库的连接。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),常用于Web应用程序,用于存储客房、预订、客户等核心数据。通过SQL语句,开发者可对数据进行增、删、改、查操作。系统中可能涉及“客房表”“预订表”“客户表”等,包含客房编号、类型、价格、预订日期等字段。 数据库连接是系统的关键部分。C#通过ADO.NET的SqlConnection类连接MySQL数据库,连接字符串包含服务器地址、数据库名称、用户名和密码。用户下载项目后,需根据本地环境修改连接字符串中的用户名和密码。系统主要功能模块包括:客房管理,可展示、添加、修改、删除客房信息;预订管理,处理预订的查看、新增、修改和取消;客户管理,存储和管理客户个人信息;查询功能,支持按客房类型、价格范围、预订日期等条件查询;报表和统计功能,生入住率、收入统计等报表辅助决策。开发者需编写C#方法对应数据库操作,同时设计直观易用的界面,方便用户完预订流程。项目中的MySQL文件可能是数据库脚本或配置文件,包含建表、数据填充及权限设置等内容,用户需在本地测试前运行脚本设置数据库环境。 总之,该系统结合C#和MySQL,为学习者提供了一个涵盖数据库设计、业务逻辑处理和界面开发的综合实践案例,有助于提升开发者在数据库应用和系统集方面的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值