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

 更新时间:2020年12月10日 09:10:18   作者:liuyu进阶  
这篇文章主要介绍了python实现经纬度采样的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

原理

经度 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生成F分布表并导出为Excel文件的代码实现

    使用Python生成F分布表并导出为Excel文件的代码实现

    在统计分析中,F FF分布是一种非常重要的连续概率分布,广泛应用于方差分析、回归分析的显著性检验等场景,为了方便查阅和使用F分布的临界值,本文给大家介绍了使用Python生成F分布表并导出为Excel文件,需要的朋友可以参考下
    2024-11-11
  • Python绘图之turtle库的基础语法使用

    Python绘图之turtle库的基础语法使用

    这篇文章主要给大家介绍了关于Python绘图之turtle库的基础语法使用的相关资料, Turtle库是Python语言中一个很流行的绘制图像的函数库,再绘图的时候经常需要用到的一个库需要的朋友可以参考下
    2021-06-06
  • Python爬取网页的所有内外链的代码

    Python爬取网页的所有内外链的代码

    这篇文章主要介绍了Python爬取网页的所有内外链,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • python游戏开发之视频转彩色字符动画

    python游戏开发之视频转彩色字符动画

    这篇文章主要为大家详细介绍了python游戏开发之视频转彩色字符动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • 点球小游戏python脚本

    点球小游戏python脚本

    这篇文章主要为大家详细介绍了点球小游戏python脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • python编程matplotlib交互绘制Julia集示例解析

    python编程matplotlib交互绘制Julia集示例解析

    matplotlib的Show面板中提供了放大、移动等交互式操作,但也未能涵盖所有的交互需求,比如希望通过mandelbrot集上的一点来生成对应的Julia集
    2021-10-10
  • Python中requests模块的请求参数详解

    Python中requests模块的请求参数详解

    这篇文章主要介绍了Python中requests模块的请求参数详解,requests模块是一个网络请求模块,可以帮助我们模拟成客户端去请求服务器的数据,我们今天就是主要针对这个模块进行学习,需要的朋友可以参考下
    2023-08-08
  • pytorch 简介及常用工具包展示

    pytorch 简介及常用工具包展示

    Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对 GPU 加速的深度神经网络(DNN)编程,这篇文章主要介绍了pytorch 简介及常用工具包展示,需要的朋友可以参考下
    2023-02-02
  • Python使用pickle模块储存对象操作示例

    Python使用pickle模块储存对象操作示例

    这篇文章主要介绍了Python使用pickle模块储存对象操作,结合实例形式分析了Python使用pickle模块针对文件读写与转换的相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • Python常用随机数与随机字符串方法实例

    Python常用随机数与随机字符串方法实例

    这篇文章主要介绍了Python常用随机数与随机字符串方法实例,本文讲解了随机整数、随机选取0到100间的偶数、随机浮点数、随机字符串等常用随机方法,需要的朋友可以参考下
    2015-04-04

最新评论