如何使用Python和ArcGIS绘制杭州板块地图?

2026-05-26 19:131阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1114个文字,预计阅读时间需要5分钟。

如何使用Python和ArcGIS绘制杭州板块地图?

使用Python和ArcPy模块绘制杭州市区块地图,以下是简化的代码及解读:

代码:pythonimport arcpy

输入和输出参数input_path=input_data.gdb # 输入数据output_path=output_map.pdf # 输出PDF文件路径

使用arcpy中的MapDocument创建新的地图文档m=arcpy.mapping.MapDocument(output_path)

创建新的地图布局layout=m.layoutlayout.name=杭州市区块地图

添加一个框架图到布局frame=layout.addFrame(0, 0, 10, 8)frame.frameSize=50%

将框架图添加到地图中m.activeView=frame

加载区块数据到地图blocks=arcpy.mapping.ListLayers(m, blocks)[0]arcpy.mapping.AddLayer(m, blocks, AUTO_ARRANGE)

设置地图的和比例尺arcpy.mapping.AddMapLabel(m, 杭州市区块图, AUTO_ARRANGE)arcpy.mapping.AddScaleBar(m, AUTO_ARRANGE)

保存并关闭地图文档m.save()m.close()

代码解读:

1.引入arcpy模块。

2.设置输入和输出路径。

3.创建新的地图文档和布局。

4.添加一个框架图,设置其大小和比例。

5.将区块数据图层添加到地图中。

6.添加地图和比例尺。

7.保存并关闭地图文档。

该代码利用ArcPy模块创建了一个简单的杭州市区块地图PDF文件,包含了区块数据图层、和比例尺。



python for ArcGIS 绘制杭州市板块地图

  • ​​原数据​​
  • ​​完整代码​​
  • ​​代码解读​​

利用python的arcpy模块绘制出杭州市板块地图如下

原数据

完整代码

# -*- coding: utf-8 -*-
"""
Project_name:drawing plate for Hangzhou
@author: 帅帅de三叔
Created on Mon Dec 09 15:01:15 2019
"""
import sys
arcpy_path = [r'D:\Python27\ArcGIS10.6\Lib\site-packages',
r'D:\Program Files (x86)\ArcGIS\Desktop10.6\arcpy',
r'D:\Program Files (x86)\ArcGIS\Desktop10.6\bin',
r'D:\Program Files (x86)\ArcGIS\Desktop10.6\ArcToolbox\Scripts']
sys.path.extend(arcpy_path)
stdi,stdo,stde=sys.stdin,sys.stdout,sys.stderr
reload(sys) #通过import引用进来时,setdefaultencoding函数在被系统调用后被删除了,所以必须reload一次
sys.stdin,sys.stdout,sys.stderr=stdi,stdo,stde
sys.setdefaultencoding('utf-8')

import arcpy #导入地理处理模块
from arcpy import env #导入环境类
env.workspace=r'D:\python for ArcGIS\绘制杭州板块' #设置环境变量
env.overWriteOutput=True #覆盖
import pandas as pd #导入数据分析模块
plate_data=pd.read_excel(u"杭州板块.xlsx") #读取数据
rows,cols=plate_data.shape #确定数据尺寸
lng_lat=plate_data[u'板块边界'] #板块边界经纬度
plate_name=plate_data[u'板块'] #板块名称
spatial_ref=arcpy.SpatialReference('China Geodetic Coordinate System 2000') #设置空间参考系

polygonPoints=arcpy.Array() #用来存放多边形的折点
polygonGeometryList=[] #用来存放多边形几何对象
for row in range(rows): #按行循环
points=lng_lat[row].split(";") #分号分隔折点
for point in points:
xy=point.split(",") #逗号分隔经纬度
point=arcpy.Point()
point.id=row; point.X=float(xy[0]); point.Y=float(xy[1]) #构造折点对象
polygonPoints.add(point) #点成线
polygon=arcpy.Polygon(polygonPoints,spatial_ref,"","") #线成面
polygonGeometryList.append(polygon) #多边形组
polygonPoints.removeAll() #移除折点
arcpy.CopyFeatures_management(polygonGeometryList, r"D:\python for ArcGIS\绘制杭州板块\plate_hangzhou.shp","POLYGON")

代码解读

整个实现过程包括3步

读数,即读取板块边界经纬度数据

拆点,即采用split()函数将经纬度数据分割,构成折点

连线,即将折点连起来形成封闭多边形,即板块

若还有不明白的,可以来“三行科创”微信公众号交流群。

1,​​python for ArcGIS 绘制上海市板块地图​​

2,​​python for ArcGIS 绘制上海市环线地图​​

3,​​python for ArcGIS 绘制北京市板块地图​​

4,​​python for ArcGIS 绘制广州市板块地图​​

5,​​python for ArcGIS 绘制深圳市板块地图​​

6,​​python for ArcGIS 绘制成都市板块地图​​

7,​​python for ArcGIS 绘制武汉市板块地图​​

8,​​python for ArcGIS 绘制杭州市板块地图​​

9,​​python for ArcGIS 绘制重庆市板块地图​​

10,​​python for ArcGIS绘制合肥市板块地图​​

11,​​python for ArcGIS 绘制南京市板块地图​​

12,​​python for ArcGIS绘制宁波市板块地图​​

如何使用Python和ArcGIS绘制杭州板块地图?

13,​​python for ArcGIS 绘制沈阳市板块地图​​

14,​​python for ArcGIS 绘制苏州市板块地图​​

15,​​python for ArcGIS 绘制天津市板块地图​​

16,​​python for ArcGIS 绘制西安市板块地图​​

17,​​python for ArcGIS 绘制郑州市板块地图​​



本文共计1114个文字,预计阅读时间需要5分钟。

如何使用Python和ArcGIS绘制杭州板块地图?

使用Python和ArcPy模块绘制杭州市区块地图,以下是简化的代码及解读:

代码:pythonimport arcpy

输入和输出参数input_path=input_data.gdb # 输入数据output_path=output_map.pdf # 输出PDF文件路径

使用arcpy中的MapDocument创建新的地图文档m=arcpy.mapping.MapDocument(output_path)

创建新的地图布局layout=m.layoutlayout.name=杭州市区块地图

添加一个框架图到布局frame=layout.addFrame(0, 0, 10, 8)frame.frameSize=50%

将框架图添加到地图中m.activeView=frame

加载区块数据到地图blocks=arcpy.mapping.ListLayers(m, blocks)[0]arcpy.mapping.AddLayer(m, blocks, AUTO_ARRANGE)

设置地图的和比例尺arcpy.mapping.AddMapLabel(m, 杭州市区块图, AUTO_ARRANGE)arcpy.mapping.AddScaleBar(m, AUTO_ARRANGE)

保存并关闭地图文档m.save()m.close()

代码解读:

1.引入arcpy模块。

2.设置输入和输出路径。

3.创建新的地图文档和布局。

4.添加一个框架图,设置其大小和比例。

5.将区块数据图层添加到地图中。

6.添加地图和比例尺。

7.保存并关闭地图文档。

该代码利用ArcPy模块创建了一个简单的杭州市区块地图PDF文件,包含了区块数据图层、和比例尺。



python for ArcGIS 绘制杭州市板块地图

  • ​​原数据​​
  • ​​完整代码​​
  • ​​代码解读​​

利用python的arcpy模块绘制出杭州市板块地图如下

原数据

完整代码

# -*- coding: utf-8 -*-
"""
Project_name:drawing plate for Hangzhou
@author: 帅帅de三叔
Created on Mon Dec 09 15:01:15 2019
"""
import sys
arcpy_path = [r'D:\Python27\ArcGIS10.6\Lib\site-packages',
r'D:\Program Files (x86)\ArcGIS\Desktop10.6\arcpy',
r'D:\Program Files (x86)\ArcGIS\Desktop10.6\bin',
r'D:\Program Files (x86)\ArcGIS\Desktop10.6\ArcToolbox\Scripts']
sys.path.extend(arcpy_path)
stdi,stdo,stde=sys.stdin,sys.stdout,sys.stderr
reload(sys) #通过import引用进来时,setdefaultencoding函数在被系统调用后被删除了,所以必须reload一次
sys.stdin,sys.stdout,sys.stderr=stdi,stdo,stde
sys.setdefaultencoding('utf-8')

import arcpy #导入地理处理模块
from arcpy import env #导入环境类
env.workspace=r'D:\python for ArcGIS\绘制杭州板块' #设置环境变量
env.overWriteOutput=True #覆盖
import pandas as pd #导入数据分析模块
plate_data=pd.read_excel(u"杭州板块.xlsx") #读取数据
rows,cols=plate_data.shape #确定数据尺寸
lng_lat=plate_data[u'板块边界'] #板块边界经纬度
plate_name=plate_data[u'板块'] #板块名称
spatial_ref=arcpy.SpatialReference('China Geodetic Coordinate System 2000') #设置空间参考系

polygonPoints=arcpy.Array() #用来存放多边形的折点
polygonGeometryList=[] #用来存放多边形几何对象
for row in range(rows): #按行循环
points=lng_lat[row].split(";") #分号分隔折点
for point in points:
xy=point.split(",") #逗号分隔经纬度
point=arcpy.Point()
point.id=row; point.X=float(xy[0]); point.Y=float(xy[1]) #构造折点对象
polygonPoints.add(point) #点成线
polygon=arcpy.Polygon(polygonPoints,spatial_ref,"","") #线成面
polygonGeometryList.append(polygon) #多边形组
polygonPoints.removeAll() #移除折点
arcpy.CopyFeatures_management(polygonGeometryList, r"D:\python for ArcGIS\绘制杭州板块\plate_hangzhou.shp","POLYGON")

代码解读

整个实现过程包括3步

读数,即读取板块边界经纬度数据

拆点,即采用split()函数将经纬度数据分割,构成折点

连线,即将折点连起来形成封闭多边形,即板块

若还有不明白的,可以来“三行科创”微信公众号交流群。

1,​​python for ArcGIS 绘制上海市板块地图​​

2,​​python for ArcGIS 绘制上海市环线地图​​

3,​​python for ArcGIS 绘制北京市板块地图​​

4,​​python for ArcGIS 绘制广州市板块地图​​

5,​​python for ArcGIS 绘制深圳市板块地图​​

6,​​python for ArcGIS 绘制成都市板块地图​​

7,​​python for ArcGIS 绘制武汉市板块地图​​

8,​​python for ArcGIS 绘制杭州市板块地图​​

9,​​python for ArcGIS 绘制重庆市板块地图​​

10,​​python for ArcGIS绘制合肥市板块地图​​

11,​​python for ArcGIS 绘制南京市板块地图​​

12,​​python for ArcGIS绘制宁波市板块地图​​

如何使用Python和ArcGIS绘制杭州板块地图?

13,​​python for ArcGIS 绘制沈阳市板块地图​​

14,​​python for ArcGIS 绘制苏州市板块地图​​

15,​​python for ArcGIS 绘制天津市板块地图​​

16,​​python for ArcGIS 绘制西安市板块地图​​

17,​​python for ArcGIS 绘制郑州市板块地图​​