python实现经纬度采样的示例代码


Posted in Python onDecember 10, 2020

原理

经度 phi,纬度 theta 处的坐标为:
x =R* cos(phi) * cos(theta)
y = Rsin(phi) * cos(theta)
z = R
sin(theta)

问题

经纬度采样的采样点是相同经纬度间隔的交点。但是采样1000个点,如何划分多少条经线,多少条纬线相交,才能使1000个采样点最均匀的分布在球面上(虽然经纬度采样本来就不均匀,但对于不同的采样点个数应该有一种相对最均匀的经纬线划分)?求大佬指教!
我目前是将纬度每10度进行划分。

Code

import random
from mpl_toolkits import mplot3d
import numpy as np
import math
import matplotlib.pyplot as plt
%matplotlib inline
ax=plt.axes(projection="3d")

N=1000
x=[]
y=[]
z=[]
r=1


#经度
def longitude(lng): 
  phi=(180+lng)*(math.pi/180)
  return phi

#纬度
def latitude(lat):
  theta=lat*(math.pi/180)
  return theta

for i in range(-80,90,10):
  for j in np.arange(-180,180,360/((N-2)/17)):
    #x.append(-r*math.sin(latitude(i))*math.cos(longitude(j)))
    #y.append(r*math.cos(latitude(i)))
    #z.append(r*math.sin(latitude(i))*math.sin(longitude(j)))
    
    x.append(r*math.cos(latitude(i))*math.cos(longitude(j)))
    z.append(r*math.sin(latitude(i)))
    y.append(r*math.cos(latitude(i))*math.sin(longitude(j)))

x.append(r*math.cos(latitude(-90))*math.cos(longitude(0)))
z.append(r*math.sin(latitude(-90)))
y.append(r*math.cos(latitude(-90))*math.sin(longitude(0)))

x.append(r*math.cos(latitude(90))*math.cos(longitude(0)))
z.append(r*math.sin(latitude(90)))
y.append(r*math.cos(latitude(90))*math.sin(longitude(0)))

xline=np.array(x)
yline=np.array(y)
zline=np.array(z)
print(xline.shape)
ax.scatter3D(xline,yline,zline,s=2)
plt.savefig("D:\\samples\\经纬度采样.png")

效果

python实现经纬度采样的示例代码

到此这篇关于python实现经纬度采样的示例代码的文章就介绍到这了,更多相关python 经纬度采样内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中while循环语句用法简单实例
May 07 Python
python基础入门学习笔记(Python环境搭建)
Jan 13 Python
Python实现多进程共享数据的方法分析
Dec 04 Python
python Crypto模块的安装与使用方法
Dec 21 Python
Python装饰器用法实例总结
Feb 07 Python
python版大富翁源代码分享
Nov 19 Python
python requests 库请求带有文件参数的接口实例
Jan 03 Python
Python读取stdin方法实例
May 24 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
Jan 25 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
python os.listdir()乱码解决方案
Jan 31 Python
Python深度学习之Pytorch初步使用
May 20 Python
Python urlopen()参数代码示例解析
Dec 10 #Python
Python urllib request模块发送请求实现过程解析
Dec 10 #Python
Python APScheduler执行使用方法详解
Dec 10 #Python
flask项目集成swagger的方法
Dec 09 #Python
python的dict判断key是否存在的方法
Dec 09 #Python
python RSA加密的示例
Dec 09 #Python
python中把元组转换为namedtuple方法
Dec 09 #Python
You might like
Jquery Change与bind事件代码
2011/09/29 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
Python实现抓取网页并且解析的实例
2014/09/20 Python
Python编写生成验证码的脚本的教程
2015/05/04 Python
python 多线程实现检测服务器在线情况
2015/11/25 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
python 有效的括号的实现代码示例
2019/11/11 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
python如何从键盘获取输入实例
2020/06/18 Python
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
L’Artisan Parfumeur官网:法国香水品牌
2020/08/11 全球购物
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
大学生创业感言
2014/01/25 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
说明书怎么写
2014/05/06 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
行政主管岗位职责
2015/02/03 职场文书
2015年计划生育责任书
2015/05/08 职场文书
工作年限证明模板
2015/06/15 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL