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

  • 结果预览
  • 数据
  • 完整代码
  • 代码解读

需要利用python的arcpy模块绘制出北京市板块地图如下

结果预览

数据

原始板块边界数据如下

完整代码

# -*- coding: utf-8 -*-
"""
Project_name:drawing plate for shanghai
@author: 帅帅de三叔
Created on Wed Oct 30 15:16:44 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'板块'] #板块名称#factoryCode = arcpy.GetParameterAsText(4490) #WGS_1984_World_Mercator投影坐标系工厂代码4490,3395
#spatial_ref = arcpy.SpatialReference(factoryCode) #设置空间参考参数
spatial_ref = arcpy.SpatialReference('China Geodetic Coordinate System 2000') #China Geodetic Coordinate System 2000 or WGS 1984 World MercatorpolygonPoints=arcpy.Array() #用来存放构成多边形的折点
polygonGeometryList=[] #用来存放多边形几何对象组for row in range(0,rows): #按行循环points=lng_lat[row].split(";") #折点for spot in points:xy=spot.split(",") #折点经纬度if len(xy)==2:point=arcpy.Point() #几何对象,用来存放折点对象point.id=row;point.X=float(xy[0]);point.Y=float(xy[1])  #转为点对象polygonPoints.add(point) #构成一串折点#print(point.id)polygon=arcpy.Polygon(polygonPoints,spatial_ref,"","") #利用折点构造多边形带空间参考polygonGeometryList.append(polygon) #把多边形追加到数组  polygonPoints.removeAll() #移除折点
result=arcpy.CopyFeatures_management(polygonGeometryList,r"D:\python for ArcGIS\绘制北京板块\plate_beijing.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绘制宁波市板块地图
13,python for ArcGIS 绘制沈阳市板块地图
14,python for ArcGIS 绘制苏州市板块地图
15,python for ArcGIS 绘制天津市板块地图
16,python for ArcGIS 绘制西安市板块地图
17,python for ArcGIS 绘制郑州市板块地图

python for ArcGIS 绘制北京市板块地图相关推荐

  1. python for ArcGIS 绘制西安市板块地图

    python for ArcGIS 绘制西安市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出西安市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

  2. python for ArcGIS 绘制南京市板块地图

    python for ArcGIS 绘制南京市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出南京市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

  3. python for ArcGIS 绘制上海市板块地图

    python for ArcGIS 绘制上海市板块地图 背景及思路 完整代码 结果截图 代码解读 后话 背景及思路 第一次用python操作 ArcGIS, 写下这篇博文记录一下.板块是房地产行业专有 ...

  4. python for ArcGIS 绘制天津市板块地图

    python for ArcGIS 绘制天津市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出天津市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

  5. python for ArcGIS 绘制郑州市板块地图

    python for ArcGIS 绘制郑州市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出郑州市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

  6. python for ArcGIS 绘制宁波市板块地图

    python for ArcGIS 绘制宁波市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出宁波市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

  7. python for ArcGIS 绘制苏州市板块地图

    python for ArcGIS 绘制苏州市板块地图 完整代码 代码解读 利用python的arcpy模块绘制出苏州市板块地图如下 完整代码 略 代码解读 整个实现过程包括3步 读数,即读取板块边界 ...

  8. python采用Basemap绘制完美中国地图

    python采用Basemap绘制完美中国地图 摘要 Basemap的安装 下载Basemap安装文件 安装 Pyproj& Basemap Basemap的Helloword 使用Shape ...

  9. python采用Basemap绘制完美中国地图(包括绘制边界框,随机点等)

    python采用Basemap绘制完美中国地图(包括绘制边界框,随机点等) 1. 效果图 2. 原理 2.1 依赖模块及安装 2.2 工程目录 2.3 依赖文件latlng.txt 经纬度 3 源码 ...

最新文章

  1. HDU-1042 N! 大数乘法 (C语言)
  2. 新浪短链api java_php调用新浪短链接API的方法
  3. Java基础--通过反射获取私有的成员方法示例代码
  4. SpringMVC+Apache Shiro+JPA(hibernate)案例教学(三)
  5. 在同一台机器上启动多个JBoss A-MQ JVM
  6. neo4j与mysql数据库_Neo4j: 迁移MySQL的数据到Neo4j
  7. TCP的可靠传输実现
  8. Python学习第四天
  9. PHP结合redis实现秒杀活动大并发
  10. 树莓派通过CuteFTP 9.0 与 电脑互传文件
  11. JAVA中LIST 和 MAP的区别
  12. Linux中运行shell脚本的几种方式及其区别(source . ./myscript.sh sh myscript.sh)
  13. 精选目标检测3——yolo1、yolo2、yolo3和SSD的网络结构汇总对比
  14. 利用E4A编写APP获取安卓手机加速度传感器数据
  15. pytorch实现 vision_transformer
  16. 查看笔记本电脑型号等数据
  17. 什么是个人热点?安卓手机怎么开启个人热点?
  18. abp zero mysql_ABP从入门到精通(2):aspnet-zero-core 使用MySql数据库
  19. 什么是入侵防御系统(IPS)?底层原理是什么?
  20. APT之木马静态免杀

热门文章

  1. 上传APP到AppStore遇到的各种错误
  2. Redis——底层数据结构原理
  3. Sunshine数据库篇之查询
  4. PhotonServer中日志的配置
  5. Disruptor源码解析三 RingBuffer解析
  6. 安装出错:Command line option syntax error.Type Command /? for help.解决方案
  7. 第十八届中国音视频产业大会(AVF)暨“科技创新奖”颁奖礼在京召开
  8. 机器翻译质量评测算法-BLEU
  9. 【Fracturing Destruction】点破小球——Unity3D中达到条件才触发的物体爆裂、炸裂、碎裂效果
  10. ncbi blast MATLAB,NCBI-BLAST在线使用教程详细攻略(图解)