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

张家港杨舍网站建设高清的网站制作

张家港杨舍网站建设,高清的网站制作,注册网络平台怎么注册,建筑面积计算规范2023下载最新版在地理信息系统(GIS)领域,数据格式之间的转换是一项常见的需求。例如,将 Shapefile 格式转换为 GeoJSON 格式,对于上传数据到 Google Earth Engine (GEE) 尤其有用。本文将通过一个 Python 脚本的示例,实现…

在地理信息系统(GIS)领域,数据格式之间的转换是一项常见的需求。例如,将 Shapefile 格式转换为 GeoJSON 格式,对于上传数据到 Google Earth Engine (GEE) 尤其有用。本文将通过一个 Python 脚本的示例,实现批量将 Shapefile 文件转换为 GeoJSON 文件。

准备工作

在开始之前,请确保已安装了 Python 和 arcpy 库。arcpy 是 Esri ArcGIS 提供的 Python 库,它允许开发者自动化 ArcGIS 的地理数据处理功能。

脚本解析

导入必要的库

import os
import arcpy

这里导入了 os 库来处理文件路径和文件列表,以及 arcpy 库来执行地理数据的转换。

定义转换函数

def convert_to_geojson(shp_path, geojson_path):"""将 Shapefile 转换为 GeoJSON 格式。:param shp_path: Shapefile 文件路径:param geojson_path: GeoJSON 文件保存路径"""arcpy.env.overwriteOutput = True  # 允许覆盖已有输出文件arcpy.conversion.FeaturesToJSON(in_features=shp_path,out_json_file=geojson_path,format_json="NOT_FORMATTED",geoJSON="GEOJSON",outputToWGS84="WGS84",use_field_alias="USE_FIELD_NAME")print(f'{geojson_path} 转换完成!')

此函数接受两个参数:shp_path 表示 Shapefile 的路径,geojson_path 表示输出的 GeoJSON 文件路径。函数内部使用 arcpy.conversion.FeaturesToJSON 方法来执行转换,并设置了几个参数来控制输出的格式和坐标系统。

获取特定扩展名的文件列表

def get_files_with_extension(directory, extension):"""获取指定目录下所有具有特定扩展名的文件。:param directory: 目录路径:param extension: 文件扩展名:return: 包含指定扩展名文件名的列表"""directory = os.path.normpath(directory)all_files = os.listdir(directory)files_with_extension = [file for file in all_files if file.endswith(extension)]return files_with_extension

该函数用于获取指定目录下所有具有特定扩展名的文件,并返回一个包含这些文件名的列表。

主程序

if __name__ == '__main__':shp_folder_path = "xxx"json_folder_path = "xxx"shp_files = get_files_with_extension(directory=shp_folder_path, extension='.shp')print(f"找到 '.shp' 文件: {shp_files}")for shp_name in shp_files:geo_name = f"{shp_name.split('.')[0]}.geojson"feature_shp = os.path.join(shp_folder_path, shp_name)feature_geojson = os.path.join(json_folder_path, geo_name)convert_to_geojson(shp=feature_shp, geojson=feature_geojson)

在主程序部分,我们首先设置了 Shapefile 和 GeoJSON 文件的存储路径。接着,我们调用 get_files_with_extension 函数来获取所有 Shapefile 文件,并遍历这些文件,为每个文件调用 convert_to_geojson 函数进行转换。

案例代码

# -*- coding: utf-8 -*-
"""
此脚本用于批量将指定文件夹下的 Shapefile (.shp) 文件转换为 GeoJSON 文件。
生成的 GeoJSON 文件将保存在指定的目标文件夹中。"""import os
import arcpydef Model(shp, json):  # a_Feature to json"""将 Shapefile 转换为 GeoJSON 文件。参数:shp (str): 输入的 Shapefile 文件路径。json (str): 输出的 GeoJSON 文件路径。"""# 允许覆盖输出文件arcpy.env.overwriteOutput = True# 转换 Shapefile 为 GeoJSONarcpy.conversion.FeaturesToJSON(in_features=shp,out_json_file=json,format_json="NOT_FORMATTED",geoJSON="GEOJSON",outputToWGS84="WGS84",use_field_alias="USE_FIELD_NAME")print(f'{json} conversion completed!')def get_files_with_extension(directory, extension):"""获取指定文件夹中具有特定扩展名的所有文件名。参数:directory (str): 文件夹路径。extension (str): 文件扩展名(包括点,例如 '.shp')。返回:list: 包含指定扩展名文件名的列表。"""# 规范化目录路径directory = os.path.normpath(directory)# 获取文件夹中的所有文件all_files = os.listdir(directory)# 筛选出指定扩展名的文件files_with_extension = [file for file in all_files if file.endswith(extension)]# 返回结果return files_with_extensionif __name__ == '__main__':# 设置全局环境变量shp_folder_path = fr"E:\temp"json_folder_path = fr"E:\Geojson"# 获取指定文件夹下所有后缀为 .shp 的文件名列表shp_files = get_files_with_extension(directory=shp_folder_path, extension='.shp')print(f"find '.shp' file: {shp_files}")# 遍历所有 .shp 文件for shp_name in shp_files:# 生成对应的 GeoJSON 文件名geo_name = shp_name.split('.')[0] + '.geojson'# 构建完整的文件路径feature_shp = os.path.join(shp_folder_path, shp_name)feature_geojson = os.path.join(json_folder_path, geo_name)# 调用 Model 函数批量转换 Shapefile 为 GeoJSONModel(shp=feature_shp, json=feature_geojson)

小结

通过上述脚本,我们实现了一个简单而有效的批量转换工具,可以将 Shapefile 文件转换为 GeoJSON 格式。这对于需要将地理数据上传至 GEE 的用户而言,是一个非常有用的工具。自动化此过程能够显著节省时间和精力,尤其是在处理大量数据时。

术语解释
Shapefile一种地理矢量数据存储格式,由 ESRI 开发,用于存储矢量地理信息。
GeoJSON一种开放标准的格式,用来表示地理空间对象。
Google Earth Engine (GEE)由 Google 提供的一个基于云端的平台,用于大规模地理空间数据分析。
arcpyEsri ArcGIS 的 Python API,提供了与 ArcGIS 进行交互的能力。
arcpy.conversion.FeaturesToJSON一个函数,用于将矢量特征转换成 JSON 或 GeoJSON 格式。

如果这对您有所帮助,希望点赞支持一下作者! 😊

详细全文-点击查看

file

http://www.fp688.cn/news/153064.html

相关文章:

  • 网站搜索怎么做php网站关键词排名优化方法
  • 怎么做自己下单的网站学市场营销后悔死了
  • 黄骅港船舶动态88个seo网站优化基础知识点
  • 那个网站专门做二手衣服推特最新消息今天
  • 中国建设机械职业教育网证书查询化工seo顾问
  • 招聘网站开发源码网页设计与制作知识点
  • 做响应式网站的体会seo推广培训班
  • 怎么找做网站的公司鹤壁seo推广
  • 做轻奢品的电商网站排名函数
  • 网站怎么添加模块白山seo
  • 重庆官方推广网站搜索引擎优化排名关键字广告
  • 网站建设 后期维护做网站关键词优化的公司
  • 怎样做自己网站robots客户引流的最快方法是什么
  • 公司网站优势大金seo
  • wordpress post title整站优化cms
  • 做网站什么什么百度宁波营销中心
  • flash网站设计实例2024疫情最新消息今天
  • 如何做图片网站五年级下册数学优化设计答案
  • 小说做任务赚钱的网站关键词汇总
  • 专做脚本的网站营销传播服务
  • 做网站就上凡科建站精准营销的成功案例
  • 东兴移动网站建设灵感关键词生成器
  • 斗门网站建设抖音seo优化
  • 自己怎么做wap网站百度广告推广费用年费
  • 接做效果图网站黑龙江最新疫情
  • 怎么把微信公众号的文章wordpress网站seo优化效果
  • 现在办理宽带需要多少钱常州seo收费
  • 杭州网站制作平台品牌策划公司介绍
  • 厦门外贸网站建设公司福建seo关键词优化外包
  • 360建筑网一级消防工程师招聘seo搜索引擎优化简历