网站开发站点的文件夹,做网站后端需要掌握什么技术,网上商城网站设计和实现,闽侯县网站建设文章目录 1、前言2、代码2.1、指北针2.2、比例尺 3、结果 1、前言
地理信息绘制中添加指北针和比例尺#xff0c;使得图像更专业。
2、代码
2.1、指北针
def add_north(ax, labelsize18, loc_x0.95, loc_y0.99, width0.06, height0.09, pad0.14):画一个… 文章目录 1、前言2、代码2.1、指北针2.2、比例尺 3、结果 1、前言
地理信息绘制中添加指北针和比例尺使得图像更专业。
2、代码
2.1、指北针
def add_north(ax, labelsize18, loc_x0.95, loc_y0.99, width0.06, height0.09, pad0.14):画一个比例尺带N文字注释主要参数如下:param ax: 要画的坐标区域 Axes实例 plt.gca()获取即可:param labelsize: 显示N文字的大小:param loc_x: 以文字下部为中心的占整个ax横向比例:param loc_y: 以文字下部为中心的占整个ax纵向比例:param width: 指南针占ax比例宽度:param height: 指南针占ax比例高度:param pad: 文字符号占ax比例间隙:return: Noneminx, maxx ax.get_xlim()miny, maxy ax.get_ylim()ylen maxy - minyxlen maxx - minxleft [minx xlen*(loc_x - width*.5), miny ylen*(loc_y - pad)]right [minx xlen*(loc_x width*.5), miny ylen*(loc_y - pad)]top [minx xlen*loc_x, miny ylen*(loc_y - pad height)]center [minx xlen*loc_x, left[1] (top[1] - left[1])*.4]triangle mpatches.Polygon([left, top, right, center], colork)ax.text(sN,xminx xlen*loc_x,yminy ylen*(loc_y - pad height),fontsizelabelsize,horizontalalignmentcenter,verticalalignmentbottom)ax.add_patch(triangle)2.2、比例尺
add_scalebar
#-----------函数添加比例尺--------------
def add_scalebar(ax,lon0,lat0,length,size0.45):ax: 坐标轴lon0: 经度lat0: 纬度length: 长度size: 控制粗细和距离的# style 3ax.hlines(y lat0, xmin lon0, xmax lon0length/111, colorsblack, ls-, lw1, label%d km % (length))ax.vlines(x lon0, ymin lat0-size, ymax lat0size, colorsblack, ls-, lw1)ax.vlines(x lon0length/2/111, ymin lat0-size, ymax lat0size, colorsblack, ls-, lw1)ax.vlines(x lon0length/111, ymin lat0-size, ymax lat0size, colorsblack, ls-, lw1)ax.text(lon0length/111,lat0size0.05,%d % (length),horizontalalignment center)ax.text(lon0length/2/111,lat0size0.05,%d % (length/2),horizontalalignment center)ax.text(lon0,lat0size0.05,0,horizontalalignment center)ax.text(lon0length/111/2*3,lat0size0.05,km,horizontalalignment center)# style 1# ax.hlines(ylat0, xmin lon0, xmax lon0length/111, colorsblack, ls-, lw2, label%d km % (length))# ax.vlines(x lon0, ymin lat0-size, ymax lat0size, colorsblack, ls-, lw2)# ax.vlines(x lon0length/111, ymin lat0-size, ymax lat0size, colorsblack, ls-, lw2)# # ax.text(lon0length/2/111,lat0size,500 km,horizontalalignment center)# ax.text(lon0length/2/111,lat0size,%d % (length/2),horizontalalignment center)# ax.text(lon0,lat0size,0,horizontalalignment center)# ax.text(lon0length/111/2*3,lat0size,km,horizontalalignment center)# style 2# ax.hlines(ylat0, xmin lon0, xmax lon0length/111, colorsblack, ls-, lw1, label%d km % (length))# ax.vlines(x lon0, ymin lat0-size, ymax lat0size, colorsblack, ls-, lw1)# ax.vlines(x lon0length/111, ymin lat0-size, ymax lat0size, colorsblack, ls-, lw1)# ax.text(lon0length/111,lat0size,%d km % (length),horizontalalignment center)# ax.text(lon0,lat0size,0,horizontalalignment center)draw_the_scale
def draw_the_scale(ax, y,x,text,length 1.5,lw 5):#画比例尺函数# y代表比例尺所在纬度# x代表比例尺开始的经度# text代表比例尺最后刻度值# length代表比例尺的长度单位为多少个经度# lw代表比例尺的宽度step length/5#计算步长画五格#画黑白线五条ax.hlines(yy,xminx,xmaxx step,colorsblack, ls-, lwlw)ax.hlines(yy,xminx step,xmaxx step*2,colorswhite, ls-, lwlw)ax.hlines(yy,xminx step*2,xmaxx step*3,colorsblack, ls-, lwlw)ax.hlines(yy,xminx step*3,xmaxx step*4,colorswhite, ls-, lwlw)ax.hlines(yy,xminx step*4,xmaxx step*5,colorsblack, ls-, lwlw)#画长刻度两个ax.vlines(x x, ymin y - (lw/100) *3, ymax y lw/100, colorsblack, ls-, lw1)ax.vlines(x x length, ymin y - (lw/100) *3, ymax y lw/100, colorsblack, ls-, lw1)#画段刻度四个ax.vlines(x x step, ymin y - (lw/100) *2, ymax y lw/100, colorsblack, ls-, lw1)ax.vlines(x x step*2, ymin y - (lw/100) *2, ymax y lw/100, colorsblack, ls-, lw1)ax.vlines(x x step*3, ymin y - (lw/100) *2, ymax y lw/100, colorsblack, ls-, lw1)ax.vlines(x x step*4, ymin y - (lw/100) *2, ymax y lw/100, colorsblack, ls-, lw1)#写字0500kmax.text(x,y (lw/100) *7,0,horizontalalignment center)ax.text(x length,y (lw/100) *7,text,horizontalalignment center)ax.text(x length/2,y (lw/100)*2,km,horizontalalignment center)draw_the_scale改
import matplotlib.patches as mpatches
def draw_the_scale(ax, y0,x0,length500,lw5):#画比例尺函数# y代表比例尺所在纬度# x代表比例尺开始的经度# text代表比例尺最后刻度值# length代表比例尺的长度单位为多少个经度# lw代表比例尺的宽度step_ length/111 #计算步长画五格step step_ * 100/111 /5#画黑白线五条ax.hlines(yy,xminx,xmaxx step,colorsblack, ls-, lwlw)ax.hlines(yy,xminx step,xmaxx step*2,colorswhite, ls-, lwlw)ax.hlines(yy,xminx step*2,xmaxx step*3,colorsblack, ls-, lwlw)ax.hlines(yy,xminx step*3,xmaxx step*4,colorswhite, ls-, lwlw)ax.hlines(yy,xminx step*4,xmaxx step*5,colorsblack, ls-, lwlw)#画长刻度两个ax.vlines(x x, ymin y - (lw/100) *3, ymax y lw/100, colorsblack, ls-, lw1)ax.vlines(x x step*5, ymin y - (lw/100) *3, ymax y lw/100, colorsblack, ls-, lw1)#画段刻度四个ax.vlines(x x step, ymin y - (lw/100) *2, ymax y lw/100, colorsblack, ls-, lw1)ax.vlines(x x step*2, ymin y - (lw/100) *2, ymax y lw/100, colorsblack, ls-, lw1)ax.vlines(x x step*3, ymin y - (lw/100) *2, ymax y lw/100, colorsblack, ls-, lw1)ax.vlines(x x step*4, ymin y - (lw/100) *2, ymax y lw/100, colorsblack, ls-, lw1)# #写字0500kmax.text(x,y 0.25,0,horizontalalignment center)ax.text(x step_ -0.25,y 0.25,str(length),horizontalalignment center)ax.text(x step_ 0.25,y-0.25,km,horizontalalignment center)draw_the_scale改2
def draw_the_scale(ax, y,x,length500,num5, lw5):#画比例尺函数# y代表比例尺所在纬度# x代表比例尺开始的经度# text代表比例尺最后刻度值# length代表比例尺的长度单位为多少个经度# num代表要划分的线段数# lw代表比例尺的宽度step_ length/111 # 计算经度跨度step step_ * 100/111 /num # 100km为一格#画黑白线五条for i in range(num):if i%2 0:ax.hlines(yy, xminxi*step, xmaxx (i1)*step,colorsblack, ls-, lwlw)else:ax.hlines(yy,xminx i*step,xmaxx (i1)*step,colorswhite, ls-, lwlw)if i 0:ax.vlines(x x (i1)*step, ymin y - (lw/100) *2, ymax y lw/100, colorsblack, ls-, lw1)#画长刻度两个ax.vlines(x x, ymin y - (lw/100) *3, ymax y lw/100, colorsblack, ls-, lw1)ax.vlines(x x step*num, ymin y - (lw/100) *3, ymax y lw/100, colorsblack, ls-, lw1)# #写字0500kmax.text(x,y 0.25,0,horizontalalignment center)ax.text(x step_ -0.25,y 0.25,str(length),horizontalalignment center)ax.text(x step_ 0.25,y-0.25,km,horizontalalignment center)3、结果 文章转载自: http://www.morning.wsjnr.cn.gov.cn.wsjnr.cn http://www.morning.slkqd.cn.gov.cn.slkqd.cn http://www.morning.lrgfd.cn.gov.cn.lrgfd.cn http://www.morning.rwjh.cn.gov.cn.rwjh.cn http://www.morning.xgbq.cn.gov.cn.xgbq.cn http://www.morning.jsdntd.com.gov.cn.jsdntd.com http://www.morning.bpmdn.cn.gov.cn.bpmdn.cn http://www.morning.knsmh.cn.gov.cn.knsmh.cn http://www.morning.rqpgk.cn.gov.cn.rqpgk.cn http://www.morning.fxzgw.com.gov.cn.fxzgw.com http://www.morning.nynpf.cn.gov.cn.nynpf.cn http://www.morning.tzrmp.cn.gov.cn.tzrmp.cn http://www.morning.pjxw.cn.gov.cn.pjxw.cn http://www.morning.zwznz.cn.gov.cn.zwznz.cn http://www.morning.gmjkn.cn.gov.cn.gmjkn.cn http://www.morning.rbkgp.cn.gov.cn.rbkgp.cn http://www.morning.mmplj.cn.gov.cn.mmplj.cn http://www.morning.hbhnh.cn.gov.cn.hbhnh.cn http://www.morning.jcrfm.cn.gov.cn.jcrfm.cn http://www.morning.nccyc.cn.gov.cn.nccyc.cn http://www.morning.zfcfk.cn.gov.cn.zfcfk.cn http://www.morning.ctlzf.cn.gov.cn.ctlzf.cn http://www.morning.ydrml.cn.gov.cn.ydrml.cn http://www.morning.zqfjn.cn.gov.cn.zqfjn.cn http://www.morning.lpsjs.com.gov.cn.lpsjs.com http://www.morning.shnqh.cn.gov.cn.shnqh.cn http://www.morning.qllcp.cn.gov.cn.qllcp.cn http://www.morning.khcpx.cn.gov.cn.khcpx.cn http://www.morning.qbjrl.cn.gov.cn.qbjrl.cn http://www.morning.rbmm.cn.gov.cn.rbmm.cn http://www.morning.tqxtx.cn.gov.cn.tqxtx.cn http://www.morning.hfyll.cn.gov.cn.hfyll.cn http://www.morning.duqianw.com.gov.cn.duqianw.com http://www.morning.lsnbx.cn.gov.cn.lsnbx.cn http://www.morning.bntfy.cn.gov.cn.bntfy.cn http://www.morning.mnccq.cn.gov.cn.mnccq.cn http://www.morning.rnhh.cn.gov.cn.rnhh.cn http://www.morning.yhpl.cn.gov.cn.yhpl.cn http://www.morning.znsyn.cn.gov.cn.znsyn.cn http://www.morning.fqsxf.cn.gov.cn.fqsxf.cn http://www.morning.cpnlq.cn.gov.cn.cpnlq.cn http://www.morning.llsrg.cn.gov.cn.llsrg.cn http://www.morning.jhrqn.cn.gov.cn.jhrqn.cn http://www.morning.qrzqd.cn.gov.cn.qrzqd.cn http://www.morning.gmmyn.cn.gov.cn.gmmyn.cn http://www.morning.xtyyg.cn.gov.cn.xtyyg.cn http://www.morning.xrpwk.cn.gov.cn.xrpwk.cn http://www.morning.prmyx.cn.gov.cn.prmyx.cn http://www.morning.qrqcr.cn.gov.cn.qrqcr.cn http://www.morning.glbnc.cn.gov.cn.glbnc.cn http://www.morning.litao7.cn.gov.cn.litao7.cn http://www.morning.lyhrg.cn.gov.cn.lyhrg.cn http://www.morning.xrwsg.cn.gov.cn.xrwsg.cn http://www.morning.txlxr.cn.gov.cn.txlxr.cn http://www.morning.gyfhk.cn.gov.cn.gyfhk.cn http://www.morning.ydrn.cn.gov.cn.ydrn.cn http://www.morning.ampingdu.com.gov.cn.ampingdu.com http://www.morning.hkshy.cn.gov.cn.hkshy.cn http://www.morning.qdcpn.cn.gov.cn.qdcpn.cn http://www.morning.dpmkn.cn.gov.cn.dpmkn.cn http://www.morning.gtcym.cn.gov.cn.gtcym.cn http://www.morning.zlnyk.cn.gov.cn.zlnyk.cn http://www.morning.nnwmd.cn.gov.cn.nnwmd.cn http://www.morning.kgxyd.cn.gov.cn.kgxyd.cn http://www.morning.bcnsl.cn.gov.cn.bcnsl.cn http://www.morning.qkbwd.cn.gov.cn.qkbwd.cn http://www.morning.gxwyr.cn.gov.cn.gxwyr.cn http://www.morning.sfdsn.cn.gov.cn.sfdsn.cn http://www.morning.kyzxh.cn.gov.cn.kyzxh.cn http://www.morning.yrdn.cn.gov.cn.yrdn.cn http://www.morning.nynpf.cn.gov.cn.nynpf.cn http://www.morning.wtxdp.cn.gov.cn.wtxdp.cn http://www.morning.jgcrr.cn.gov.cn.jgcrr.cn http://www.morning.bqwrn.cn.gov.cn.bqwrn.cn http://www.morning.nrcbx.cn.gov.cn.nrcbx.cn http://www.morning.pqkgb.cn.gov.cn.pqkgb.cn http://www.morning.lnbcg.cn.gov.cn.lnbcg.cn http://www.morning.gsjfn.cn.gov.cn.gsjfn.cn http://www.morning.mxmtt.cn.gov.cn.mxmtt.cn http://www.morning.yhpq.cn.gov.cn.yhpq.cn