本文主要是介绍Java读取图片中的地理坐标(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 背景
- 问题引入
- 问题
- 问题解决
- 正确完整代码
- demo介绍
- 内容
- 下载地址
- 坐标系
- 坐标系种类
- 为什么有这么多坐标系
- 对地球不断认识的过程
- 参心坐标系
- 地心坐标系
- 投影种类纷杂
- 投影
- 投影类型
- 对地球不断认识的过程
- 坐标变换转换
- 其他
- ArcGIS
- 种类
- 空间参考Spatial Reference
- 查看坐标系
- 坐标转换
- 常见坐标系
背景
问题引入
ArcGIS API for Javascript在地图上添加点,位置错误:无论经纬度多少,显示的坐标不正确,并且只在一个地方显示
代码:
x,y为高德地图POI服务获得
结果:
问题
坐标系问题
底图map的坐标系(即map.spatialReference)为:102100投影坐标系
map.spatialReference //查看地图的坐标系
而创建Point时传入的经纬度,为地理坐标系
var pt = new Point(x,y,map.spatialReference); //x,y为地理坐标系
导致点显示错误
问题解决
使用ArcGIS API for JavaScript中的坐标转换工具进行转换
var pt = new esri.geometry.Point(x, y, new esri.SpatialReference({ wkid: 4326 }));
pt = webMercatorUtils.geographicToWebMercator(pt);
正确结果:
正确完整代码
demo介绍
使用高德地图提供的Http服务中POI服务获取点位信息,然后使用ArcGIS API for JavaScript在地图中显示点信息
内容:
高德地图
POI服务
ArcGIS API for JavaScript
坐标转换
搜索框
jQuery下拉菜单
下载地址
ArcGIS api for javascript使用高德地图POI服务
坐标系
学习资料 密码:1s6w
- 像是数据的一种单位
坐标的单位:
- 度、分、秒
- 米、千米
- 像是数据的标签
坐标系种类:
- 基于椭圆
- 基于投影
为什么有这么多坐标系
对地球不断认识的过程
坐标系随着人们对地球的不断认识而进步
地球也不是一成不变的,例:WGS1984的参数也在不断变化
参心坐标系
各个国家采用本国误差较小的参考坐标系,导致国家之间参考椭球体不同
本国内的又由于精度要求的上升,坐标系也在改变
地心坐标系
地心坐标系:地球的质心作为原点
美国的GPS卫星测得的地球质心,获得的地心坐标系:WGS1984(4326)
中国测得的地心坐标系:CGCS 2000
两者相差不大
投影种类纷杂
投影
投影:3D地球 到 2D地图 过程的动作
投影变形:
投影类型
- 经纬度直投(简易圆柱投影)
x=lon,y=lat - 墨卡托(Mercator)
等角地图
航海时代:等角航线 - Web Mercator
Google创造,现在是互联网地图的标准
编号900913–>改成3857正式编号 - 兰勃特(Lambert)或阿尔伯斯(Albers)
圆锤投影:平衡角度变形与面积变形 - 高斯-克吕格(Gauss-Kruger)或UTM
分带式,像瓜瓣一样;例:地球仪
等角投影方式,尽量减少面积变形
坐标变换(转换)
- 大地基准相同
- 大地基准变化
其他
- 地方独立坐标系
为了满足大比例尺地图中高精度的需要
通常使用 高斯克吕格投影(1度分带)
可以理解为 基于特定的参心坐标系投影而成 - 坐标偏移
先加密再公开
WGS84(编号4326)–>国测局坐标系GCJ-02(非线性的加密)
百度地图:大地坐标二次偏移(BD-09);投影方法保密
ArcGIS
种类
- Geographic Coordinate Systems 地理坐标系=大地坐标系
- Projected Coordinate Systems 投影坐标系
空间参考(Spatial Reference)
- 坐标系
- 空间域
- 精度
- 容差
查看坐标系
从文件中查看:.prj文件保存了坐标系的信息
ArcMap查看:
1. 数据框坐标系
地图的坐标系
2. 数据本身坐标系
图层数据源描述
坐标转换
不同坐标系的数据添加地图中,ArcMap自动转换
生成新数据:分大地基准相同与不相同两种情况
常见坐标系
地理坐标系:GCS_WGS_1984
WKID: 4326
权限: EPSG
投影坐标系:WGS_1984_Web_Mercator_Auxiliary_Sphere
WKID: 3857
权限: EPSG
如果是ESRI内部使用的话,WKID就变成102100
这篇关于Java读取图片中的地理坐标(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!