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

广州白云区建设局网站廊坊做网站

广州白云区建设局网站,廊坊做网站,网站推广策略ppt,网站建设空标记前言 前面把shp文件中的内容读取到数据库#xff0c;接下来就把数据库中的表变成shp文件。 正文 简单的创建一个shp文件 暂时不读取数据库的表#xff0c;先随机创建一个shp文件。既然是随机的#xff0c;这就需要使用到faker这个第三方库#xff0c;代码如下。 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, crs4326)gdf.to_file(shp_path,encodingutf-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(postgresqlpsycopg2://username:passwordlocalhost/arcgis) gdf gpd.read_postgis(select * from cd, engine, geom_colgeometry) gdf.to_file(C:/Users/26644/Desktop/out/成都.shp, encodingutf-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(postgresqlpsycopg2://username:passwordlocalhost/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_withengine)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_colself.geom_type)def get_shp(self):获取shp文件:return: self.__set()data self.__get_data()data.to_file(self.shp_path, encodingutf-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, driverGeoJSON) 结果如下。 完成。
http://www.zqtcl.cn/news/764998/

相关文章:

  • 雄安专业网站建设哪家好分销系统网站建设
  • 咨询行业网站开发wordpress5.0新版如何发布文章
  • 做网站要什么技术saas建站和开源建站的区别
  • 大型网站建设哪家服务好qq对话制作器app
  • 做免费小说网站怎样赚钱网络推广方案最新
  • 电商网站的建设与运营揭阳专业的网站建设价格
  • 网站策划书包括哪些内容百度官方营销推广平台有哪些
  • 成都企业网站seo重庆企业网站推广费用
  • 广东电白建设集团有限公司网站wordpress 静态地址
  • 微网站和手机站区别工业设计专业学什么
  • 兰州网站建设哪里好素材图片高清
  • 公司网站建设进度设计官网登录入口
  • 中牟高端网站建设wordpress可视化文章
  • 那家公司做网站广西网络营销外包公司
  • 成品网站速成网站知名网站建设加盟合作
  • 零基础学pytho 网站开发Drupal对比WordPress
  • 网站开发 例子快影
  • 宁津建设局网站推介网站
  • c 是用来做网站的吗中国营销策划网
  • 在建设部网站首页莒县网页设计
  • 河北省城乡和住房建设厅网站网店代运营托管
  • 彩票网站建设wordpress判断用户权限
  • 简洁大气企业网站源码h5商城网站建设是什么
  • 河间做网站价格wordpress评论导出
  • 网站关键词布局图网站推广与宣传怎么做
  • 小说类网站程序西安移动网站建设
  • 贵州高端网站建设网站做好了怎么做后台
  • 网站建设与管理 答案国外做免费的视频网站有哪些
  • 网站建设电脑端手机端企业网站建设需求调研表
  • 怎么做游戏网站google国际版