【Python】应用:pyproj地理计算库应用

简介: 这篇博客介绍了 `pyproj` 地理计算库的应用,涵盖地理坐标系统转换与地图投影。通过示例代码展示了如何进行经纬度与UTM坐标的互转,并利用 `pyproj.Geod` 计算两点间的距离及方位角,助力地理数据分析。安装 `pyproj`:`pip install pyproj`。更多内容欢迎关注本博客,一起学习进步! Pancake 🍰 不迷路。😉*★,°*:.☆( ̄▽ ̄)/$:*.°★* 😏

😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍pyproj地理计算库应用。
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞

1. pyproj介绍

pyproj 是 Python 中一个非常有用的库,用于执行地理坐标系统的转换和地图投影。它是基于 proj 库的 Python 接口,因此继承了 proj 库的强大功能,但以 Python 的形式提供了更友好的接口。

2. 环境配置

安装:pip install pyproj

3. 使用说明

经纬度转UTM坐标:

import pyproj

# 创建UTM坐标系对象
utm_crs = pyproj.CRS.from_epsg(32650)  # EPSG 32650对应的是WGS84的UTM Zone 50N

# 创建经纬度坐标系对象
lat_lon_crs = pyproj.CRS('EPSG:4326')  # WGS84经纬度坐标系

# 创建转换器
transformer = pyproj.Transformer.from_crs(lat_lon_crs, utm_crs, always_xy=True)

# 定义经纬度坐标
lon, lat = 120.30550, 31.47758

# 将经纬度坐标转换成UTM坐标
x, y = transformer.transform(lon, lat)

print("UTM东坐标:", x)
print("UTM北坐标:", y)

UTM坐标转经纬度:

import pyproj

def utm_to_latlon(easting, northing, zone_number, zone_letter):
    proj = pyproj.Proj(proj='utm', zone=zone_number, ellps='WGS84', north=bool(zone_letter >= 'N'))
    lon, lat = proj(easting, northing, inverse=True)
    return lat, lon

# 示例 UTM 坐标:Zone 18N, Easting: 500000, Northing: 4500000
easting = 464101.487
northing = 4378816.449
zone_number = 49
zone_letter = 'N'

latitude, longitude = utm_to_latlon(easting, northing, zone_number, zone_letter)
print("经度(Longitude):", longitude)
print("纬度(Latitude):", latitude)

计算两点之间距离和方位角:

from pyproj import Geod

# 创建 Geod 对象
geod = Geod(ellps="WGS84")

# 定义两个点的经纬度
lon1, lat1 = 12.4924, 41.8902  # 罗马斗兽场
lon2, lat2 = 2.2945, 48.8584   # 巴黎埃菲尔铁塔

# 计算距离和方位角
azimuth1, azimuth2, distance = geod.inv(lon1, lat1, lon2, lat2)

print(f"Distance: {distance} meters")
print(f"Initial Azimuth: {azimuth1} degrees")
print(f"Final Azimuth: {azimuth2} degrees")

image.png

以上。

目录
相关文章
|
2月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
84 20
|
20天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
48 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
2月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
143 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
18天前
|
算法 Serverless 数据处理
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
46 12
|
16天前
|
存储 人工智能 程序员
通义灵码AI程序员实战:从零构建Python记账本应用的开发全解析
本文通过开发Python记账本应用的真实案例,展示通义灵码AI程序员2.0的代码生成能力。从需求分析到功能实现、界面升级及测试覆盖,AI程序员展现了需求转化、技术选型、测试驱动和代码可维护性等核心价值。文中详细解析了如何使用Python标准库和tkinter库实现命令行及图形化界面,并生成单元测试用例,确保应用的稳定性和可维护性。尽管AI工具显著提升开发效率,但用户仍需具备编程基础以进行调试和优化。
186 9
|
16天前
|
算法 安全 网络安全
基于 Python 的布隆过滤器算法在内网行为管理中的应用探究
在复杂多变的网络环境中,内网行为管理至关重要。本文介绍布隆过滤器(Bloom Filter),一种高效的空间节省型概率数据结构,用于判断元素是否存在于集合中。通过多个哈希函数映射到位数组,实现快速访问控制。Python代码示例展示了如何构建和使用布隆过滤器,有效提升企业内网安全性和资源管理效率。
48 9
|
2月前
|
人工智能 开发者 Python
Chainlit:一个开源的异步Python框架,快速构建生产级对话式 AI 应用
Chainlit 是一个开源的异步 Python 框架,帮助开发者在几分钟内构建可扩展的对话式 AI 或代理应用,支持多种工具和服务集成。
224 9
|
13天前
|
Web App开发 数据采集 数据安全/隐私保护
Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
|
2月前
|
存储 SQL 大数据
Python 在企业级应用中的两大硬伤
关系数据库和SQL在企业级应用中面临诸多挑战,如复杂SQL难以移植、数据库负担重、应用间强耦合等。Python虽是替代选择,但在大数据运算和版本管理方面存在不足。SPL(esProc Structured Programming Language)作为开源语言,专门针对结构化数据计算,解决了Python的这些硬伤。它提供高效的大数据运算能力、并行处理、高性能文件存储格式(如btx、ctx),以及一致的版本管理,确保企业级应用的稳定性和高性能。此外,SPL与Java无缝集成,适合现代J2EE体系应用,简化开发并提升性能。
|
10月前
|
算法 Python Java
Python每日一练(20230426) 删除重复字符、颜色分类、计算圆周率
Python每日一练(20230426) 删除重复字符、颜色分类、计算圆周率
93 0
Python每日一练(20230426) 删除重复字符、颜色分类、计算圆周率

热门文章

最新文章