气ython风雨 发表于 2024-4-10 09:19:38

两种降水站点数据IDW插值及可视化方法


前言
gma库是洛大神写的一个地理库,他的公众号是洛的地理研学

小弟对这些开源大佬是非常感谢的,正是这种共享精神推动了python的发展.

言归正传,gma其中有许多可以使用的函数,

今天简单介绍一下它的IDW插值的使用,并与meteva进行对比

镜像:Python 3.9 GDAL3.4.3

数据读取
In :
%matplotlib inline
%load_ext autoreload
%autoreload 2
import meteva.base as meb
In :
filename = "/home/mw/input/meteva2260/20210719120000.000"# 替换为你的micaps文件路径
sta = meb.read_stadata_from_micaps3(filename)
sta.head()

Out:


METEVA
In :
## 插值前要设置格点
grid1 = meb.grid(,)
sta1 = meb.interp_sg_idw(sta,grid1,nearNum = 5)
sta1
Out:

In :
map_extend =
axs = meb.creat_axs(1, map_extend,ncol=1,sup_fontsize=7)
image = meb.add_mesh(axs, sta1,add_colorbar=True)



GMA
In :
import gma
from gma import io
from gma.smc import Interpolate
from gma.map importplot, inres

Points = sta.loc[:, ['lon','lat']].values
Values = sta.loc[:, ['data0']].values

# 步骤1:反距离权重插值
IDWD = Interpolate.IDW(Points, Values, Resolution = 0.1, InProjection = 'WGS84')
# 步骤2:将插值结果转换为 DataSet 数据集
IDWDataSet = io.ReadArrayAsDataSet(IDWD.Data, Projection = 'WGS84', Transform = IDWD.Transform)
In :
# 1.初始化一个地图框,并配置视图范围
MapF = plot.MapFrame(Axes = None, Extent = )

# 2.将内置的世界矢量图层添加到地图框
MapL1 = MapF.AddLayer(inres.WorldLayer.Country, FaceColor = 'none', LineWidth = 0.2, EdgeColor = 'black', Zorder = 2)
MapL2 = MapF.AddLayer(inres.WorldLayer.Ocean, FaceColor = '#BEE8FF', EdgeColor = 'none')

MapD1 = MapF.AddDataSetClassify(IDWDataSet,
                              CMap = 'rainbow' )
# 3.获取经纬网
GridLines = MapF.AddGridLines(LONRange = (105, 130, 5), LATRange = (20, 60, 5))

# 4.添加地图整饰要素
AddCompass = MapF.AddCompass(LOC = (0.1, 0.8), Color = 'black')
ScaleBar = MapF.AddScaleBar(LOC = (0.1, 0.02), Width = 0.3, Color = 'black', FontSize = 7)

# 5.设置地图框边框
Frame = MapF.SetFrame()


小结:

就使用插值函数上两者都相对便利,而在可视化方面则是meteva对新手更优化,代码量二三行即可

gma在可视化方面则是需要设置更多的参数,估计需要一段时间上手之后才能画出更加美观的图

就插值结果而言两者分布是较为一致的,但是gma的resolution设为0.1和meteva设为0.1明显分辨率不一。还望有懂的前辈解惑一下。

还有则是个人的建议,希望gma插值后的数据格式可以选择为xarray,这样更加便利。

文章来源于公众号:气ython风雨

SuzannaGre 发表于 2024-4-27 15:07:07

有没有相关的API文档或其他技术支持?

Gregoryroata 发表于 4 小时前

audiobookkeeper.ru cottagenet.ru eyesvision.ru eyesvisions.com factoringfee.ru filmzones.ru gadwall.ru gaffertape.ru gageboard.ru gagrule.ru gallduct.ru galvanometric.ru gangforeman.ru gangwayplatform.ru garbagechute.ru gardeningleave.ru gascautery.ru gashbucket.ru gasreturn.ru gatedsweep.ru gaugemodel.ru gaussianfilter.ru gearpitchdiameter.ru geartreating.ru generalizedanalysis.ru generalprovisions.ru geophysicalprobe.ru geriatricnurse.ru getintoaflap.ru
getthebounce.ru habeascorpus.ru habituate.ru hackedbolt.ru hackworker.ru hadronicannihilation.ru haemagglutinin.ru hailsquall.ru hairysphere.ru halforderfringe.ru halfsiblings.ru hallofresidence.ru haltstate.ru handcoding.ru handportedhead.ru handradar.ru handsfreetelephone.ru hangonpart.ru haphazardwinding.ru hardalloyteeth.ru hardasiron.ru hardenedconcrete.ru harmonicinteraction.ru hartlaubgoose.ru hatchholddown.ru haveafinetime.ru hazardousatmosphere.ru headregulator.ru heartofgold.ru heatageingresistance.ru
heatinggas.ru heavydutymetalcutting.ru jacketedwall.ru japanesecedar.ru jibtypecrane.ru jobabandonment.ru jobstress.ru jogformation.ru jointcapsule.ru jointsealingmaterial.ru journallubricator.ru juicecatcher.ru junctionofchannels.ru justiciablehomicide.ru juxtapositiontwin.ru kaposidisease.ru keepagoodoffing.ru keepsmthinhand.ru kentishglory.ru kerbweight.ru kerrrotation.ru keymanassurance.ru keyserum.ru kickplate.ru killthefattedcalf.ru kilowattsecond.ru kingweakfish.ru kinozones.ru kleinbottle.ru kneejoint.ru
knifesethouse.ru knockonatom.ru knowledgestate.ru kondoferromagnet.ru labeledgraph.ru laborracket.ru labourearnings.ru labourleasing.ru laburnumtree.ru lacingcourse.ru lacrimalpoint.ru lactogenicfactor.ru lacunarycoefficient.ru ladletreatediron.ru laggingload.ru laissezaller.ru lambdatransition.ru laminatedmaterial.ru lammasshoot.ru lamphouse.ru lancecorporal.ru lancingdie.ru landingdoor.ru landmarksensor.ru landreform.ru landuseratio.ru languagelaboratory.ru largeheart.ru lasercalibration.ru laserlens.ru
laserpulse.ru laterevent.ru latrinesergeant.ru layabout.ru leadcoating.ru leadingfirm.ru learningcurve.ru leaveword.ru machinesensible.ru magneticequator.ru magnetotelluricfield.ru mailinghouse.ru majorconcern.ru mammasdarling.ru managerialstaff.ru manipulatinghand.ru manualchoke.ru medinfobooks.ru mp3lists.ru nameresolution.ru naphtheneseries.ru narrowmouthed.ru nationalcensus.ru naturalfunctor.ru navelseed.ru neatplaster.ru necroticcaries.ru negativefibration.ru neighbouringrights.ru objectmodule.ru
observationballoon.ru obstructivepatent.ru oceanmining.ru octupolephonon.ru offlinesystem.ru offsetholder.ru olibanumresinoid.ru onesticket.ru packedspheres.ru pagingterminal.ru palatinebones.ru palmberry.ru papercoating.ru paraconvexgroup.ru parasolmonoplane.ru parkingbrake.ru partfamily.ru partialmajorant.ru quadrupleworm.ru qualitybooster.ru quasimoney.ru quenchedspark.ru quodrecuperet.ru rabbetledge.ru radialchaser.ru radiationestimator.ru railwaybridge.ru randomcoloration.ru rapidgrowth.ru rattlesnakemaster.ru
reachthroughregion.ru readingmagnifier.ru rearchain.ru recessioncone.ru recordedassignment.ru rectifiersubstation.ru redemptionvalue.ru reducingflange.ru referenceantigen.ru regeneratedprotein.ru reinvestmentplan.ru safedrilling.ru sagprofile.ru salestypelease.ru samplinginterval.ru satellitehydrology.ru scarcecommodity.ru scrapermat.ru screwingunit.ru seawaterpump.ru secondaryblock.ru secularclergy.ru seismicefficiency.ru selectivediffuser.ru semiasphalticflux.ru semifinishmachining.ru spicetrade.ru spysale.ru stungun.ru tacticaldiameter.ru
tailstockcenter.ru tamecurve.ru tapecorrection.ru tappingchuck.ru taskreasoning.ru technicalgrade.ru telangiectaticlipoma.ru telescopicdamper.ru temperateclimate.ru temperedmeasure.ru tenementbuilding.ru ultramaficrock.ru ultraviolettesting.ru
页: [1]
查看完整版本: 两种降水站点数据IDW插值及可视化方法