经纬度数据转化成平面坐标数据
- 数据准备
- ArcGIS操作步骤-投影转换为 Sinusoidal
- 1 投影
- 2 计算几何
- Python 示例
- 另:Sinusoidal (World) 和 Sinusoidal (Sphere) 的主要区别
- 参考
数据准备
数据投影:
目标投影:与MODIS数据相同(Sinusoidal 投影/等面积投影)
Proj4 格式
+proj=sinu +R=6371007.181 +nadgrids=@null +wktext
解释
- +proj=sinu:表示 Sinusoidal 投影。
- +R=6371007.181:地球的球面半径(单位:米),MODIS 使用的球面半径为 6371007.181 米。
- +nadgrids=@null:表示未使用 NAD(北美大地测量网格)校正。
- 单位:所有坐标均以米为单位。
ArcGIS操作步骤-投影转换为 Sinusoidal
1 投影
1、打开投影工具:
在“地理处理工具”中搜索 Project 或导航到:Data Management Tools > Projections and Transformations > Project
2、设置投影参数:
- 输入数据集(Input Dataset or Feature Class):
选择您的点要素图层。 - 输出数据集(Output Dataset or Feature Class):
设置输出文件路径(如新的 Shapefile 或 Geodatabase Feature Class)。 - 输出坐标系(Output Coordinate System):
点击坐标系选择框,选择 Projected Coordinate System > World > Sinusoidal。
完整投影界面如下:
3、运行工具:
点击 Run,工具将输出一个新的点要素文件,其坐标值将转换为 Sinusoidal 投影下的平面坐标(以米为单位)。
2 计算几何
1、对新生成的点要素文件进行处理,添加两个新字段,如下:
2、计算几何,如下
如此,就得到了经纬度对应的平面坐标。
Python 示例
以下是一个使用 ArcPy 的 Python 脚本示例,将点要素从 WGS84 转换为 Sinusoidal 投影:
import arcpy
# 输入点要素路径
input_fc = "C:/path_to_data/stations_wgs84.shp"
# 输出点要素路径
output_fc = "C:/path_to_data/stations_sinusoidal.shp"
# 定义 Sinusoidal 投影
sinusoidal_proj = arcpy.SpatialReference()
sinusoidal_proj.loadFromString('+proj=sinu +R=6371007.181 +wktext')
# 投影转换
arcpy.Project_management(input_fc, output_fc, sinusoidal_proj)
print("投影转换完成!")
另:Sinusoidal (World) 和 Sinusoidal (Sphere) 的主要区别
Sinusoidal (World) 和 Sinusoidal (Sphere) 的主要区别在于它们所基于的地球模型不同。这种差异直接影响了投影的数学公式以及用于计算平面坐标的地球参数,例如地球的形状和大小。
1、Sinusoidal (World)
基于的地球模型:椭球体(Ellipsoid)。
具体来说,通常基于 WGS84 或其他大地基准面定义的椭球模型。
椭球体模型更接近地球的真实形状,考虑了地球极点和赤道之间的扁平化。
2、Sinusoidal (Sphere)
基于的地球模型:球体(Sphere)。
假设地球是一个完美的球体,忽略了地球的扁平化(极半径略短于赤道半径)。
使用一个固定的球体半径(通常为 6371007.181 米,MODIS 数据中常用)。