当前位置: 首页 > news >正文

app和网站开发语言的区别学网络营销

app和网站开发语言的区别,学网络营销,成都 网站原创,wordpress标签转换前言 前面把shp文件中的内容读取到数据库,接下来就把数据库中的表变成shp文件。 正文 简单的创建一个shp文件 暂时不读取数据库的表,先随机创建一个shp文件。既然是随机的,这就需要使用到faker这个第三方库,代码如下。 impor…

前言

前面把shp文件中的内容读取到数据库,接下来就把数据库中的表变成shp文件。

正文

简单的创建一个shp文件

暂时不读取数据库的表,先随机创建一个shp文件。既然是随机的,这就需要使用到faker这个第三方库,代码如下。

import geopandas as gpd
from faker import Faker
from shapely.geometry import Polygon
def create_shp(shp_path):# 中文fake = Faker('zh_CN')geo_data = []for _ in range(100):# 随机生成经纬度latitude, longitude = fake.latitude(), fake.longitude()# 创建四个点,矩形points = [(float(longitude), float(latitude)),(float(longitude)+10, float(latitude)),(float(longitude)+10, float(latitude)+10),(float(longitude), float(latitude)+10)]# 创建一个Polygon对象polygon = Polygon(points)# 添加到列表geo_data.append({'geometry': polygon, 'name': fake.name(), 'address': fake.address().replace('\n', ', ')})# 创建GeoDataFrame对象gdf = gpd.GeoDataFrame(geo_data, crs="4326")gdf.to_file(shp_path,encoding='utf-8')

运行代码


if __name__ == '__main__':create_shp('C:/Users/26644/Desktop/out/faker_data.shp')

在桌面的out文件中生成faker_data.shp文件,如下图所示

查看数据

查看生成shp文件中的数据

用arcmap打开shp文件,添加一下属性,展示如下图所示。

查看一下属性表

数据都是伪造的,如有雷同,请勿当真。当然全是面(POLYGON),字段或者类型,这些都是可以自己定义的,看个人需求,还是可以,有模有样的。

根据数据库创建shp文件

简单地读取表的数据

读取表中的数据,很明显,需要使用select语句,可以直接如下sql

select * from table

就可以读取表中的全部信息,代码如下。

from sqlalchemy import create_engine,Table,select,MetaData
import geopandas as gpdengine = create_engine('postgresql+psycopg2://username:password@localhost/arcgis')
gdf = gpd.read_postgis('select * from cd', engine, geom_col='geometry')
gdf.to_file('C:/Users/26644/Desktop/out/成都.shp', encoding='utf-8')

代码几行,结果如下。

可以看到除了FID,还有一个id字段,这个是表中的字段,这个其实看个人需要,因为arcmap为这个shp文件添加了FID,其实在创建表中就不需要主键id字段,通过geopandas读取shp创建表就没有id字段,有也没问题,看个人需要。

复杂地读取表中的数据

代码如下。

from sqlalchemy import create_engine, Table, MetaData, select
from geoalchemy2 import Geometry
import geopandas as gpd
from sqlalchemy.sql.base import ReadOnlyColumnCollection
from sqlalchemy.exc import NoSuchTableErrorengine = create_engine('postgresql+psycopg2://username:password@localhost/arcgis')
metadata = MetaData()class db2shp:def __init__(self,table_name,shp_path,has_id: bool = False,geom_type: str = 'geometry',):""":param table_name: 表名:param shp_path: shp文件路径:param has_id: shp是否包含id列,假设表中带有id:param geom: geometry的类型"""self.table_name = table_nameself.shp_path = shp_pathself.has_id = has_idself.geom_type = geom_typeself.__table: Table = Noneself.__columns: ReadOnlyColumnCollection = Noneself.__sql: str = Nonedef __get_table(self):"""获取表:return: """try:self.__table = Table(self.table_name, metadata, autoload_with=engine)except NoSuchTableError as e:print(e)def __get_column(self):"""获取列名:return: """if self.has_id:self.__columns = self.__table.columns.keys()else:self.__columns = self.__table.columns.keys()[1:]def __get_sql(self):"""获取sql语句:return: """self.__sql = select(*[getattr(self.__table.c, col) for col in self.__columns])def __get_data(self):"""获取数据:return: """with engine.connect() as connection:return gpd.read_postgis(self.__sql, connection, geom_col=self.geom_type)def get_shp(self):"""获取shp文件:return: """self.__set()data = self.__get_data()data.to_file(self.shp_path, encoding='utf-8')def __set(self):"""设置属性:return: """self.__get_table()self.__get_column()self.__get_sql()

考虑是否需要读取id字段,当然,假设表有id字段。如果表本身没有id字段,代码肯定有所不同。

运行上面代码。

convert = db2shp('cd', 'C:/Users/26644/Desktop/out/成都_1.shp')
convert.get_shp()

结果如下。

打开属性表

可以看到和下载的成都.shp的数据一样,字段也可以查看一下。

shp文件转json

代码如下。

import geopandas as gpd# 读取.shp文件
gdf = gpd.read_file('C:/Users/26644/Desktop/out/成都_1.shp')# 转为GeoJSON格式
gdf.to_file('cd.json', driver='GeoJSON')

结果如下。

完成。

http://www.tj-hxxt.cn/news/52647.html

相关文章:

  • 网站建设阶段seo优化器
  • 类wordpress java企业网站的搜索引擎推广与优化
  • 外卖网站 模板网络软件开发
  • 游戏网站建设项目规划日照seo优化
  • wordpress中文安装教程视频教程seo排名赚app官网
  • 青岛百度网站排名优化网站建设明细报价表
  • 网页设计制作一个餐饮网站厦门关键词优化seo
  • 建立电子商务网站目的百度竞价广告收费标准
  • 优服优科网站建设公司免费制作个人网站
  • 可以做头像的网站沪指重上3000点
  • 彩票网站多少钱可以做企业产品网络推广
  • 广东深圳疫情最新消息今天新增kj6699的seo综合查询
  • 稿定设计app免费版下载余姚网站如何进行优化
  • 珠海建网站专业公司网站模板价格
  • 网站收录在哪里可以查看北京网站优化托管
  • 重庆交通建设集团网站宁波seo外包推广排名
  • 公司网站设计解决方案中国国家培训网官网入口
  • 网站开发 私活全网营销是什么意思
  • 广州商务网站建设电话网站排名优化软件
  • 引导式网站杭州网站优化效果
  • 如何做宣传自己公司网站百度关键词优化的意思
  • 专业的网站建设案例seo自动优化软件安卓
  • 网站后台模板公司网站设计公司
  • 做公司网站需要几个域名网络营销手段有哪些
  • 郑州网站定制网络营销与直播电商专业学什么
  • 政府网站开发价格百度推广天天打骚扰电话
  • 现在建设一个网站还能够赚钱吗营销活动推广方案
  • 银川市住房和城乡建设局网站kol推广
  • 廊坊哪些公司做网站seo营销推广多少钱
  • 邢台太行中学收费seo的优化方向