需求目的:将以CSV格式存储的经纬度点坐标文件,转换为shapefile的point类型和line类型的矢量数据,主要依赖geopandas和shapely包。

核心思想:采用shapely里面的Point空间数据模型来构建Point对象,并将其作为参数传入构建GeoPandas的主要类型之一GeoDataFrame的geometry属性中。在线要素的创建中,需要采用shapely的LineString空间数据模型,构建LineString对象传入geodataframe中。完整代码如下。

转换为点要素

# 转换为点要素,经纬度坐标格式为wgslng, wgslat

import os

import pandas as pd

import geopandas as gpd

from shapely.geometry import Point

# CSV转换为shapefile数据

def csv_to_points():

input_path = "E:\\Data\\csv\\"

output_path = "E:\\Data\\shp\\"

for file in os.listdir(input_path):

df = pd.read_csv(input_path+file, header=0, encoding='gbk')

geometry = [Point(xy) for xy in zip(df.wgslng, df.wgslat)] # 需要修改为对应的经纬度字段

gdf = gpd.GeoDataFrame(df, crs="EPSG:4326", geometry=geometry) # 指定坐标系

gdf.to_file(output_path+file[0:-4]+".shp", encoding='gbk')

print('finished------' + file)

print('finished------' )

转换为线要素

import pandas as pd

import geopandas as gpd

from shapely.geometry import LineString

# CSV转换为shapefile线数据,数据格式为lng_oo, lat_oo, lng_dd, lat_dd

def csv_to_lines():

input_path = "E:\\A Bite of China\\Data\\Flow\\"

output_path = "E:\\A Bite of China\\Data\\Flow\\shp\\"

file = "flow.csv"

df = pd.read_csv(input_path + file, header=0, encoding='gbk')

geometry = [LineString(xy_list) for xy_list in zip(zip(df.lng_oo, df.lat_oo), zip(df.lng_dd, df.lat_dd))]

gdf = gpd.GeoDataFrame(df, crs="EPSG:4326", geometry=geometry)

gdf.to_file(output_path + "flow.shp", encoding='gbk')

print('finished------' )

参考:

python把经纬度生成shp,Python GeoPandas 文本经纬度转换为点要素、线要素相关推荐

  1. python希腊字母怎么生成_#python sympy怎样把狄克拉函数定义出来#

    Python sympy用integrate解定积分出来的结果不是计算完的结果 ## 数值积分 sympy下的integrate()函数是解析积分,当被积函数不存在原函数时则无法得到节分结果.所以建议 ...

  2. python ppt自动生成_[Python office automation(17)]使用Python将内容写入ppt文档(证书生成器),python,办公自动化,利用,向,PPT,中...

    幻灯片的母版行及占位符 PPT母版 占位符 添加Slide和内容 查看母版信息 import os os.chdir("D:\\python_major\\auto_office17&quo ...

  3. python编程图文_深入Python多进程编程基础——图文版

    多进程编程知识是Python程序员进阶高级的必备知识点,我们平时习惯了使用multiprocessing库来操纵多进程,但是并不知道它的具体实现原理.下面我对多进程的常用知识点都简单列了一遍,使用原生 ...

  4. python爬取高德POI并生成shp(关键字搜索/多边形搜索)

    高德开放平台提供了搜索POI功能,可以调用API来获取兴趣点的地理位置信息.本篇尝试用python获取高德POI并生成GIS常用shp文件.需要用的库有urllib3(或者request),json, ...

  5. python通过批量经纬度生成标记地图生成

    python通过批量经纬度生成标记地图生成 通过读取excel文件中经纬度数据生成定位图 from pyecharts.charts import Geo from pyecharts import ...

  6. python 光标位置输入文字_colorama-用于生成彩色的终端文本和光标定位的python库.tar...

    colorama是用于生成彩色的终端文本和光标定位的python库. 介绍 ANSI转义字符序列长期以来一直用于在Unix和Mac上产生彩色的终端文本和光标定位.Colorama也通过包装stdout ...

  7. Python根据经纬度生成并调用地图

    这篇文章是伟兄给我的稿子,总结实用.到位.另外,欢迎访问并关注他的博客: https://jl-zhenlaixiaowei.blog.csdn.net/ 在某公众号看到一个绘制地图的模块folium ...

  8. ArcGIS如何利用已有坐标转成点(arcgis生成、python生成)

    文章目录 前言 一.经纬度坐标转点.线.面 (一)在excel对数据进行初始处理 (二)在ArcGIS中对数据进行生成 1.生成点 2.生成线 3.生成面 二.利用坐标点直接转换为点.线.面 (一)把 ...

  9. Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习、深度学习、大数据、云计算等)推荐系统(包括语音生成、识别等前沿黑科技)

    Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习.深度学习.大数据.云计算等)推荐系统(包括语音生成.识别等前沿黑科技) 导读 基于Python的GUI界面设计的一套 ...

最新文章

  1. GMM高斯混合模型学习笔记(EM算法求解)
  2. CMD批量创建目录-配置管理
  3. 中小企业信息化,“轻”和“快”是方向
  4. 回顾小程序2018年三足鼎立历程,2019年BAT火力全开
  5. ID的权限问题导致免密码登录失效
  6. glassfish上部署firstcup-war
  7. JavaScript 实现回文解码
  8. 使用Decimal.js解决前端计算金钱失真问题
  9. DataFrame的构建及一些操作
  10. ssh远程登录报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
  11. Java泛型原理、类型擦除
  12. 最新二次开发知宇自动发卡系统源码/全网对接/功能齐全
  13. 计算机视觉隐私安全,震惊:用手机拍照也可以暴露大量个人隐私
  14. DigiCert和GlobalSign单域名OV SSL证书对比评测
  15. 实战python网络爬虫豆瓣_三分钟教会你利用Python爬虫实现豆瓣电影采集(实战篇)...
  16. ABAP SY-SUBRC含义
  17. Huawei EROFS 初探
  18. 使用python破解简单的JavaScript加密的网站
  19. CSS在浏览器不能加载出来的解决方案
  20. js模板字符串嵌套html,在元素内插入一个有角度的js模板字符串

热门文章

  1. [LeetCode解题报告] LCP 49. 环形闯关游戏
  2. MongoDB 副本集之入门篇
  3. 4、联合登录和单点登录
  4. HCIA-数通学习总结4
  5. 无德文人--读钟祥论坛兰台文苑《Y…
  6. 软文营销怎么助力网站排名?
  7. 一个变量类型引发的血案
  8. IEC101 遥控过程
  9. Vue+vant实现移动端记住密码功能
  10. wine 如何运行exe 应用