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爬虫入门教程之点点美女图片爬虫代码分享
Sep 02 Python
用Python进行一些简单的自然语言处理的教程
Mar 31 Python
python编程实现归并排序
Apr 14 Python
python如何去除字符串中不想要的字符
Jul 05 Python
删除python pandas.DataFrame 的多重index实例
Jun 08 Python
Python3内置模块pprint让打印比print更美观详解
Jun 02 Python
Pandas中Series和DataFrame的索引实现
Jun 27 Python
python高斯分布概率密度函数的使用详解
Jul 10 Python
python实现简单图书管理系统
Nov 22 Python
Python实现多线程下载脚本的示例代码
Apr 03 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
May 25 Python
Python实现DBSCAN聚类算法并样例测试
Jun 22 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
3
2006/10/09 PHP
手把手教你使用DedeCms V3的在线采集图文教程
2007/04/03 PHP
PHP数据流应用的一个简单实例
2012/09/14 PHP
php构造函数实例讲解
2013/11/13 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
取键盘键位ASCII码的网页
2007/07/30 Javascript
学习ExtJS Column布局
2009/10/08 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
Python中的文件和目录操作实现代码
2011/03/13 Python
分享Python文本生成二维码实例
2016/01/06 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
Python爬虫之正则表达式基本用法实例分析
2018/08/08 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
python实现差分隐私Laplace机制详解
2019/11/25 Python
深入理解HTML的FormData对象
2016/05/17 HTML / CSS
幼儿园教师请假制度
2014/01/16 职场文书
《自选商场》教学反思
2014/02/14 职场文书
电台实习生求职信
2014/02/25 职场文书
美术指导助理求职信
2014/04/20 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
军训结束新闻稿
2015/07/17 职场文书
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL
Vue操作Storage本地化存储
2022/04/29 Vue.js
如何基于python实现单目三维重建详解
2022/06/25 Python