python地理空间分析——构建SimpleGIS

主要分两部分进行编写的,第一是数据模型,第二是地图渲染,使用的是turtle模块。具体代码如下:

import turtle as t
#myList[0]
#firstItem=0
#myList[firstItem]
##所有图层都有一个名称,1个点和人口数
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.88,37.28],17069])
#地图的尺寸设置
map_width=400
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_ratio = map_width/dist_x
y_ratio=map_height/dist_y
#使用convert()函数,将原点选择在绘图板的中心位置
def convert(point):
    lon=point[0]
    lat=point[1]
    x=map_width-((maxx-lon)*x_ratio)
    y=map_height-((maxy-lat)*y_ratio)
    x=x-(map_width/2)
    y=y-(map_height/2)
    return [x,y]
#结果:出图,渲染专题地图
#添加一个标题
wn=t.Screen()
wn.title("Simple GIS")
#添加状态
t.up()
first_pixel=None

for point in state[POINTS]:
    pixel=convert(point)
    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"))

#绘制城市
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, -1*((map_height/2)+20)))
t.write("the highest-populated city is :"+biggest_city[NAME])
#编辑离西部最远的城市
western_city=min(cities,key=lambda city:city[POINTS])
t.goto(0, -1*((map_height/2)+40))
t.write("the western-most city is :"+western_city[NAME])
#隐藏地图笔
t.pen(shown=False)
t.done()

这是输出结果:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《Python地理空间分析指南》是一本介绍使用Python进行地理空间数据处理和分析的指南。该书详细介绍了如何使用Python编程语言进行地理空间数据的读取、处理、分析和可视化。 首先,本书从基础知识开始,介绍了地理信息系统(GIS)和空间数据的基本概念。读者可以了解到地理空间数据的类型、结构和特点,以及相关的地理数据模型和坐标系统。 然后,本书介绍了Python语言的基础知识和地理空间分析的常用工具包,如GDAL、Fiona、PySAL等。读者可以学习如何通过这些工具包读取和处理常见的地理空间数据格式,如Shapefile、GeoJSON等。 接着,本书以实例的形式介绍了一系列地理空间分析的常见任务,包括空间查询、空间缓冲区分析空间插值、地理空间回归分析等。每个实例都给出了详细的代码和步骤,读者可以通过学习这些实例来理解如何使用Python进行地理空间分析。 此外,本书还介绍了一些高级的地理空间分析技术,如空间统计分析、网络分析、时间空间分析等。读者可以通过学习这些技术,提升自己在地理空间分析领域的能力。 最后,本书还介绍了如何使用Python进行地理空间数据可视化,包括绘制地图、制作动态可视化等。读者可以通过学习这些技术,将地理空间数据可视化为直观的图形展示,更好地理解和分析数据。 总而言之,本书通过系统的介绍和实例演示,帮助读者掌握使用Python进行地理空间分析的基本原理和方法。无论是初学者还是有一定经验的数据分析师,都可以从本书中获得实用的知识和技巧。 ### 回答2: 《Python地理空间分析指南》是一本介绍使用Python进行地理空间分析的指南。地理空间分析是指用计算机技术和地理信息系统(GIS)来处理和分析地理数据的方法和工具。该指南主要介绍了如何使用Python编程语言来读取、处理、分析和可视化地理数据。 在这本指南中,读者将学习使用Python的主要库和模块,如GDAL、Geopandas、Shapely等,来处理不同格式的地理数据,包括栅格数据和矢量数据。读者将学习如何读取地理数据文件,并进行数据的预处理、筛选和转换。 指南中还介绍了一些常见的地理空间分析方法和技术,如空间插值、空间统计分析地理网络分析等。读者将学会如何使用Python来应用这些方法,并通过可视化工具将分析结果以地图的形式展示出来。 除了基本的地理空间分析方法,指南还介绍了一些高级的主题,如空间回归分析地理聚类分析地理大数据处理等。这些主题将帮助读者深入理解地理空间分析的应用领域,并提供了更多应用的思路和方法。 这本指南的目标读者是对地理信息科学和计算机编程有一定了解的人士,希望通过Python来进行地理空间分析的人士。它不仅可以帮助读者掌握Python编程技巧,还可以帮助读者在GIS领域应用Python进行地理数据处理和分析,提高工作效率和数据分析的准确性。 ### 回答3: 《Python地理空间分析指南》是一本介绍如何使用Python进行地理空间分析的电子书,以PDF格式进行发布。该书主要内容涵盖了地理数据处理、空间数据可视化、空间数据挖掘等方面的知识和技巧。 这本指南对于想要利用Python进行地理空间分析的人来说是一本非常有价值的资料。通过学习该指南,读者可以了解如何使用Python来读取、处理和分析地理数据。该指南介绍了一些常用的Python库和工具,比如geopandas、shapely和pySAL等,这些工具可以帮助读者处理地理空间数据,进行地图制作和空间统计分析等工作。 另外,该指南还介绍了一些地理空间分析的常用方法和技术。比如,如何计算地理空间数据之间的距离或相似性,如何进行空间插值和地理加权回归等。这些技术对于研究地理空间问题和解决实际问题都具有重要意义。 总的来说,通过学习《Python地理空间分析指南》,读者可以获得使用Python进行地理空间分析的基础知识和实用技巧。这本指南包含了丰富的实例和案例,以及相关的代码和数据,读者可以通过实践来加深对地理空间分析的理解和应用。无论是从事地理信息系统研究的专业人士,还是对地理空间分析感兴趣的初学者,都能从该指南中获益匪浅。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值