白地図 MapMap 6.0
白地図画像が必要です。今回は、白地図 MapMap 6.0を使わせてもらいました。
ただし、白地図 MapMapは国土地理院の数値地図を利用しているので、商用などにつかうには事前の申請が必要かもです。
作成した白地図画像をダウンロード
このプログラムと同じフォルダにファイル名「wmap.png」で保存してください
実行すると、ランダムな緯度経度に、丸と座標位置を書きます。実行後 test.pngとして画像が保存されます。
後日、ちょっとしたデータをプロットする予定。
_# -*- coding: utf-8 -*-
_import Image,ImageDraw,ImageFont
_import random
_
_def xytrans(latdeg,latmin,longideg,longimin,
_ pixarea=(80,63,1121,1139), #このへんで白地図とプログラムの座標をすりあわせ
_ degarea=(122,24,148,46),
_ dw=148.0-122.0,
_ dh=46.0-24.0,
_ pw=1121.0-80.0,
_ ph=1139.0-63.0
_ ):
_ lat=latdeg+latmin/60.0
_ longi=longideg+longimin/60.0
_ px=pixarea[0]+pw*(longi-degarea[0])/dw
_ py=pixarea[3]-ph*(lat-degarea[1])/dh
_ return [px,py]
_
_def maru(latdeg,latmin,longideg,longimin,r):
_ ox,oy=xytrans(latdeg,latmin,longideg,longimin)
_ r2=r/2.0
_ draw.ellipse*1
_ draw.text*2
_
_im=Image.open("wmap.png","r")
_draw=ImageDraw.ImageDraw(im)
_
_xy=[(24,122),(46,122),(24,148),(46,148)]
_for i in xrange(8):
_ xy.append*3
_
_font = ImageFont.truetype("C:\\Windows\\Fonts\\msmincho.ttc",32,0)
_
_for i,(x,y) in enumerate(xy) :
_ maru(x,0,y,0,8)
_im.show()
_im.save("test.png")
_
*1
ox-r2,oy-r2,ox+r2,oy+r2),fill=(255,0,0
*2
ox,oy+16),"%d,%d"%(x,y),font=font,fill=(0,0,255
*3
random.randint(30,46)/2*2,random.randint(128,148)/2*2
