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实现异步IO的示例

    Python实现异步IO的示例

    这篇文章主要介绍了Python实现异步IO的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • django使用LDAP验证的方法示例

    django使用LDAP验证的方法示例

    这篇文章主要介绍了django使用LDAP验证的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Python编写单元测试代码实例

    Python编写单元测试代码实例

    这篇文章主要介绍了Python编写单元测试代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • python密码学对称和非对称密码教程

    python密码学对称和非对称密码教程

    这篇文章主要为大家介绍了python密码学对称和非对称密码教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python 实现简单的吃豆人游戏

    python 实现简单的吃豆人游戏

    这篇文章主要介绍了python 如何实现简单的吃豆人游戏,帮助大家更好的理解和学习使用python制作游戏,感兴趣的朋友可以了解下
    2021-04-04
  • python遍历字符串中每一个字符的4种方式

    python遍历字符串中每一个字符的4种方式

    很多计算过程都需要每次从一个字符串中取一个字符,下面这篇文章主要给大家介绍了关于python遍历字符串中每一个字符的4种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • python3编码问题汇总

    python3编码问题汇总

    本文给通过一个具体的编码问题的解决办法,给大家详细分享了python中的编码问题的来龙去脉,非常的细致全面,有需要的小伙伴可以参考下
    2016-09-09
  • 如何用Python 实现全连接神经网络(Multi-layer Perceptron)

    如何用Python 实现全连接神经网络(Multi-layer Perceptron)

    这篇文章主要介绍了如何用Python 实现全连接神经网络(Multi-layer Perceptron),帮助大家更好的进行机器学习,感兴趣的朋友可以了解下
    2020-10-10
  • Flask WTForms 表单插件的使用

    Flask WTForms 表单插件的使用

    本文主要介绍了Flask WTForms表单插件的使用,Python的WTForms库通过提供表单的结构、验证和渲染等功能,简化了表单的处理流程,感兴趣的可以了解一下
    2023-11-11
  • 一文带你深入理解Python魔法方法

    一文带你深入理解Python魔法方法

    在Python中,魔法方法是指那些以双下划线开头和结尾的特殊方法,它们是Python的内置方法,对应于Python对象的各种运算符,这篇文章将深入探讨Python的一些魔法方法,并通过示例展示如何使用它们,需要的朋友可以参考下
    2023-06-06

最新评论