verde生成网格坐标

文章目录

    • 网格坐标
    • 区域调整

Verde是Python用于地理空间数据处理的一个库,由于采用了一些机器学习的方法,所以除了科学计算三件套之外,还需要基于sklearn模块。考虑到依赖关系,这里比较推荐用conda安装。

conda install verde --channel conda-forge

网格坐标

通过函数grid_coordinates可以创建一个网格坐标,其功能与numpy中的meshgrid相似,示例如下

import matplotlib.pyplot as plt
import verde as vd# 分别是西、东、南、北
W, E, S, N = 0, 1000, 0, 1000
ew, ns = vd.grid_coordinates((W, E, S, N), spacing=100)
padded = vd.pad_region((W, E, S, N), pad=50)print(ew.shape, ns.shape)
# (11, 11) (11, 11)
print(padded)
# (-50, 1050, -50, 1050)

其中,grid_coordinates用于生成网格,(W, E, S, N)表示网格范围,是一个矩形,spacing为网格间距,当输入为一个整型时,表示网格形状为正方形。其输出ew和ns分别代表东西、南北方向的网点坐标。

pad_region会在(W, E, S, N)外侧伸展pad尺寸。

下面绘制这个网格,此图来自于官网,但和官网相比,对代码进行了一点精简。

def drawGrid(W,S,E,N,ew,ns,padded,ax,**kwargs):ax.vlines(ew[0], ymin=S, ymax=N, linestyles="dotted")ax.hlines(ns[:, 1], xmin=E, xmax=W, linestyles="dotted")ax.scatter(ew, ns, **kwargs)plt.xlim(padded[:2])plt.ylim(padded[2:])fig = plt.figure()
ax = fig.add_subplot()
ax.add_patch(plt.Rectangle((W, S), E, N, fill=None, label="Region Bounds"))drawGrid(W,S,E,N,ew,ns,padded,ax,label="Square Region Grid Nodes",marker=".", color="black", s=100)plt.xlabel("east-west")
plt.ylabel("sourth-north")
plt.legend(loc="upper center", bbox_to_anchor=(0.5, 1.15))
plt.show()

在这里插入图片描述

区域调整

grid_coordinates函数中有个参数adjust,用于参数调整,提供region和spacing两种选项,下面为其示例。

region_ew, region_ns = vd.grid_coordinates((W, E, S, N), spacing=300, adjust="region")spacing_ew, spacing_ns = vd.grid_coordinates((W, E, S, N), spacing=300, adjust="spacing")plt.figure(figsize=(6, 6))
ax = plt.subplot(111)
ax.add_patch(plt.Rectangle((W, S), E, N, fill=None, label="Region Bounds"))drawGrid(W,S,E,N,region_ew,region_ns,padded,ax,label="Adjusted Region Grid Nodes",marker=">", color="blue", alpha=0.75, s=100)drawGrid(W,S,E,N,spacing_ew,spacing_ns,padded,ax,label="Adjusted Spacing Grid Nodes",marker=">", color="orange", alpha=0.75, s=100)plt.xlabel("Easting")
plt.ylabel("Northing")
plt.legend(loc="upper center", bbox_to_anchor=(0.5, 1.18))
plt.show()

效果如下

在这里插入图片描述

其中,spacnig_ew为

[ 0. 333.33333333 666.66666667 1000 0. 333.33333333 666.66666667 1000 0. 333.33333333 666.66666667 1000 0. 333.33333333 666.66666667 1000 ] \begin{bmatrix} 0. & 333.33333333& 666.66666667&1000\\ 0. & 333.33333333& 666.66666667&1000\\ 0. & 333.33333333& 666.66666667&1000\\ 0. & 333.33333333& 666.66666667&1000 \end{bmatrix} 0.0.0.0.333.33333333333.33333333333.33333333333.33333333666.66666667666.66666667666.66666667666.666666671000100010001000

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/641207.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式websocket即时通信(IM)系统保证消息可靠性【第八期】

b站上面本期视频版本,观看视频食用更佳!点击即可跳转,找不到视频可以直接搜索我 目前叫 呆呆呆呆梦 目前已经写的文章有。并且有对应视频版本。 git项目地址 【IM即时通信系统(企聊聊)】点击可跳转 sprinboot单体项目升级成sprin…

Windows 10中的驱动程序与device guard的兼容性

文章目录 Windows 10中的驱动程序与device guard的兼容性windows的device guard是什么如何构建兼容的驱动程序如何验证驱动程序的兼容性驱动程序验证程序兼容性检查启用基于虚拟化的隔离代码完整性HLK测试(桌面和服务器)Device Guard准备工具DGReadiness…

VsCode容器开发 - VsCode连接远程服务器上的docker

VsCode容器开发 - VsCode连接远程服务器上的docker 前言 之前在服务器上的Docker内开发,文件编辑起来就很不爽。不如使用VsCode直接打开远程服务器上的Docker,这样就能在VsCode里直接无缝编辑Docker里的文件了。 但是百度和必应得到的中文结果都很奇葩…

Java 实现二叉排序树(BST)

文章目录 介绍实现先定义一个节点树测试 总结 介绍 二叉排序树(Binary Search Tree,简称BST)是一种特殊的二叉树,其中每个节点的值都大于其左子树的任意节点值,而小于其右子树的任意节点值。 它具有以下特点&#xf…

用flinkcdc debezium来捕获数据库的删除内容

我在用flinkcdc把数据从sqlserver写到doris 正常情况下sqlserver有删除数据,doris是能捕获到并很快同步删除的。 但是我现在情况是doris做为数仓,数据写到ods,ods的数据还会通过flink计算后写入dwd层,所以此时ods的数据是删除了…

“智赋校园 无忧运营”——聚铭网络2024高校客户沙龙圆满举办

随着信息技术的迅猛发展,高校教育行业正经历着一场前所未有的数字化转型。然而,网络安全问题日益凸显,对高校的教学、科研和管理带来了巨大的挑战。在此背景下,聚铭网络特举办了以“智赋校园 无忧运营”为主题的2024高校客户沙龙&…

搜索与图论第六期 最短路问题

前言 最短路问题真的很重要很重要希望大家都能够完全掌握所有最短路算法!! 一、最短路问题的分类 Dijkstra: Dijkstra算法是一种著名的图算法,主要用于求解有权图中的单源最短路径问题。它由荷兰计算机科学家艾兹赫尔戴克斯特…

小红书达人推广模式有哪些,品牌投放策略总结

小红书是一个以种草为核心的平台,而品牌方进行种草时,就需要依托达人的力量。今天我们和大家分享下小红书达人推广模式有哪些,品牌投放策略总结! 一、小红书达人推广模式有哪些 1. 明星种草 这种小红书达人推广模式,依…

vue封装接口

目录 封装接口前缀 配置逻辑 接口存放文件 配置代理 获取数据方法 封装接口前缀 config.js const serverConfig {baseURL: "https://xxx.xxxxxxxx.com/api", // 请求基础地址,可根据环境自定义useTokenAuthorization: false, // 是否开启 token 认证};export …

【C语言进阶】预处理详解

引言 对预处理的相关知识进行详细的介绍 ✨ 猪巴戒:个人主页✨ 所属专栏:《C语言进阶》 🎈跟着猪巴戒,一起学习C语言🎈 目录 引言 预定义符号 #define定义常量 #define定义宏 带有副作用的宏参数 宏替换的规则 …

理解LSTM一种递归神经网络(RNN)

1 递归神经网络结构 一个简单的传统神经网络结构如下图所示: 给他一些输入x0,x1,x2 … xt, 经过神经元作用之后得到一些对应的输出h0,h1,h2 … ht。每次的训练,神经元和神经元之间不需要传递任何信息。 递归神经网络和传统神经网络不同的一个点在于&am…

Linux 网络传输学习笔记

这篇是混合《Linux性能优化实战》以及 《Wireshark网络分析就这么简单》的一些关于Linux 网络的学习概念和知识点笔记 ,主要记录网络传输流程以及对于TCP和UDP传输的一些影响因素 Linux 网络传输流程 借用一张倪朋飞先生的《Linux性能优化实战》课程中的图片 接收流…

利用STM32CubeMX和keil模拟器,3天入门FreeRTOS(2.1) —— 任务挂起和恢复

前言 (1)FreeRTOS是我一天过完的,由此回忆并且记录一下。个人认为,如果只是入门,利用STM32CubeMX是一个非常好的选择。学习完本系列课程之后,再去学习网上的一些其他课程也许会简单很多。 (2&am…

Windows 下ffmpeg安装及实践

Windows 下ffmpeg安装及实践 背景安装实践其他 背景 最近负责音频文件处理相关的业务,涉及到 ffmpeg 对一些音频文件格式的校验,记录一下安装过程及踩坑过程。 安装 如图1所示,进入官网,在windows下任选一个文件:h…

day01 深度学习介绍

目录 1.1深度学习介绍 1.2神经网络NN 1、概念: 2、神经元 3、(单层)神经网络 4、感知机(两层) 5、多层神经网络 6、激活函数 (1)饱和与非饱和激活函数 (2)饱和激活…

写着玩的程序:pycharm实现无限弹窗程序(非病毒程序,仅整蛊使用)

运行环境 PyCharm 2023.2.1 python3.11 具体内容 源代码 import tkinter as tk from tkinter import messagebox import threadingclass PopupGenerator:def __init__(self):self.root tk.Tk()self.root.geometry("200x120")self.root.title("无限弹窗&qu…

LeetCode---380周赛

题目列表 3005. 最大频率元素计数 3006. 找出数组中的美丽下标 I 3007. 价值和小于等于 K 的最大数字 3008. 找出数组中的美丽下标 II 一、最大频率元素计数 这题就是个简单的计数题,正常遍历统计数据即可,关键是你要会写代码逻辑。 代码如下&…

Java设计模式-代理模式(7)

馆长准备了很多学习资料,其中包含java方面,jvm调优,spring / spring boot /spring cloud ,微服务,分布式,前端,js书籍资料,视频资料,以及各类常用软件工具,破解工具 等资源。请关注“IT技术馆”公众号,进行关注,馆长会每天更新资源和更新技术文章等。请大家多多关注…

steam游戏搬砖项目还能火多久?

最近放假回到老家,见了不少亲戚朋友,大家不约而同都在感叹今年大环境不好,工作不顺,生意效益不好,公司状况不佳,反问我们生意如何?为了让他们心里好受一点,我也假装附和道:也不咋地&…

为什么电脑降价了?

周末,非常意外地用不到3000元买到了一款2023年度发布的华为笔记本I5,16G,500G,基本是主流配置,我非常意外,看了又看,不是什么Hwawii,或者Huuawe。然后也不是二手。为什么呢?因为在ALU和FPU之外&…