python学习之Geospatial Analysis

参考代码

Learning Geospatial Analysis with Python


import turtle as t
NAME = 0
POINTS = 1
POP = 2

state = ['colorado',[[-109,37],[-109,41],[-102,41],[-102,37]],5187582]
cities = []
cities.append(['denver',[-104.98,39.74],634265])
cities.append(['boulder',[-105.27,40.02],98889])
cities.append(['durango',[-107.8,37.28],170691])
map_width = 500
map_height = 300
minx = 180
maxx = -180
miny = 90
maxy = -90
for x,y in state[POINTS]:
    if x < minx : minx = x
    elif x > maxx : maxx = x
    if y < miny : miny = y
    elif y > maxy : maxy = y

dist_x = maxx- minx
dist_y = maxy - miny

x_radio = map_width/dist_x
y_radio = map_height/dist_y

def convert(point):
    lon = point[0]
    lat = point[1]
    x = map_width - ((maxx - lon)*x_radio)
    y = map_height - ((maxy - lat)*y_radio)
    x = x - (map_width/2)
    y = y - (map_height/2)
    return [x,y]

t.up()
first_pixel = None
for point in state[POINTS]:
    pixel = convert(point)
    print(pixel)
    if not first_pixel:
        first_pixel = pixel
    t.goto(pixel)
    t.down()

t.goto(first_pixel)    
t.up()
t.goto([0,0])
t.write(state[NAME],align='center',font = ('arial',16,'bold'))

1图框

这里写图片描述

for city in cities:
    pixel = convert(city[POINTS])
    t.up()
    t.goto(pixel)
    t.dot(10)
    t.write(city[NAME] + ", Pop.: " + str(city[POP]), align="left")
    t.up()

biggest_city = max(cities, key=lambda city:city[POP])
t.goto(0,-200)
t.write("The biggest city is: " + biggest_city[NAME])
western_city = min(cities, key=lambda city:city[POINTS])
t.goto(0,-220)
t.write("The western-most city is: " + western_city[NAME])
t.pen(shown=False)
t.done()

2投点
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值