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

潍坊做网站建设的公司自创网站

潍坊做网站建设的公司,自创网站,群晖可以做网站服务器,商丘做网站哪家好【ArcGIS】根据shp范围生成系列等距点 目标1:生成边界外一定范围、并且等间距分布的点📁 所需数据:操作步骤-ArcGIS代码处理-Python 目标2:生成等距渔网点📁 所需数据:代码处理-Python 参考 目标1&#xff…

【ArcGIS】根据shp范围生成系列等距点

  • 目标1:生成边界外一定范围、并且等间距分布的点
    • 📁 所需数据:
    • 操作步骤-ArcGIS
    • 代码处理-Python
  • 目标2:生成等距渔网点
    • 📁 所需数据:
    • 代码处理-Python
  • 参考

目标1:生成边界外一定范围、并且等间距分布的点

目标:生成位于 某地区边界外一定范围、并且等间距分布的点图层。
在这里插入图片描述

📁 所需数据:

研究区边界 .shp 文件(Polygon 类型)

操作步骤-ArcGIS

ArcGIS 中最简单的方式是:

  1. 对边界生成缓冲区(一定距离)
    例如 50 km
  2. 将边界 + 缓冲区边界都转为线(Polyline)
  3. 在缓冲区边界线(外圈)上以等间距生成点

代码处理-Python

以重庆市为例,生成的外部等距点如下:
在这里插入图片描述

Python完整代码如下:

import arcpy
import os# 输入路径(替换为你的路径)
input_shp = r"D:\0 DataBase\0 Chongqin Database\1 Boundary\Chongqing.shp"
workspace = r"D:\0 DataBase\0 Chongqin Database\1 Boundary\temp_boundary_points"
csv_output = r"D:\0 DataBase\0 Chongqin Database\1 Boundary\Boundary_Chongqing.csv"# 设置环境
arcpy.env.overwriteOutput = True
if not os.path.exists(workspace):os.makedirs(workspace)
arcpy.env.workspace = workspace# 坐标系
prj = arcpy.SpatialReference(4548)   # CGCS2000 / UTM Zone 48N
wgs84 = arcpy.SpatialReference(4326) # WGS84 经纬度try:# 1. 投影为米制projected = os.path.join(workspace, "Chongqing_projected.shp")arcpy.Project_management(input_shp, projected, prj)# 2. 创建缓冲区(50公里)buffer = os.path.join(workspace, "Chongqing_buffer.shp")arcpy.Buffer_analysis(projected, buffer, "50000 Meters", dissolve_option="ALL")# 3. 缓冲区转为边界线buffer_line = os.path.join(workspace, "buffer_line.shp")arcpy.PolygonToLine_management(buffer, buffer_line)# 4. 沿线生成等间距点(20km 间距)points_on_line = os.path.join(workspace, "control_points.shp")arcpy.GeneratePointsAlongLines_management(buffer_line,points_on_line,"DISTANCE","20000 Meters","","NO_END_POINTS")# 5. 投影为 WGS84points_wgs84 = os.path.join(workspace, "control_points_wgs84.shp")arcpy.Project_management(points_on_line, points_wgs84, wgs84)# 6. 添加几何属性(使用合法值 POINT_X_Y_Z_M)arcpy.AddGeometryAttributes_management(points_wgs84,"POINT_X_Y_Z_M")# 7. 导出为 CSVarcpy.TableToTable_conversion(points_wgs84,os.path.dirname(csv_output),os.path.basename(csv_output))print("✅ 成功生成控制点 CSV 文件:Boundary_Chongqing.csv")except Exception as e:print("❌ 脚本运行出错:", str(e))

目标2:生成等距渔网点

生成shp边界范围内的等距渔网点,如下:
在这里插入图片描述

📁 所需数据:

研究区边界 .shp 文件(Polygon 类型)

代码处理-Python

以重庆市为例,生成的渔网如下:(仅保留边界内数据)
在这里插入图片描述

Python完整代码如下:

import geopandas as gpd
from shapely.geometry import Point
import pandas as pd
import numpy as np
import osdef generate_grid_points(shp_path=None,output_csv="pop_location_d01.csv",spacing=0.1,filter_by_shp=True
):"""生成等距网格点,支持基于Shapefile筛选或仅参考其范围生成。参数:shp_path (str): SHP文件路径(若 filter_by_shp=True 时必须提供)output_csv (str): 输出CSV文件名spacing (float): 网格间隔(单位:度)filter_by_shp (bool): 是否根据SHP边界筛选点返回:pd.DataFrame: 包含经纬度的DataFrame"""# 检查shp文件路径(无论 filter_by_shp 为True或False,都需要范围)if shp_path is None or not os.path.exists(shp_path):raise ValueError("必须提供有效的 shp_path。")# 读取边界gdf_boundary = gpd.read_file(shp_path)gdf_boundary = gdf_boundary.to_crs(epsg=4326)minx, miny, maxx, maxy = gdf_boundary.total_bounds# 向外扩展到最接近的整数minX = np.floor(minx)maxXX = np.ceil(maxx)minY = np.floor(miny)maxY = np.ceil(maxy)# 生成经纬度序列lon_vals = np.arange(minx, maxx + spacing, spacing)lat_vals = np.arange(miny, maxy + spacing, spacing)# 创建所有网格点grid_points = [Point(lon, lat) for lon in lon_vals for lat in lat_vals]gdf_points = gpd.GeoDataFrame(geometry=grid_points, crs="EPSG:4326")# 如果需要进行边界筛选if filter_by_shp:gdf_points = gdf_points[gdf_points.within(gdf_boundary.unary_union)]# 提取经纬度gdf_points["lon"] = gdf_points.geometry.xgdf_points["lat"] = gdf_points.geometry.y# 保存为CSVgdf_points[["lon", "lat"]].to_csv(output_csv, index=False, encoding="utf-8")print(f"✅ 成功生成 {len(gdf_points)} 个网格点,已保存到:{output_csv}")return gdf_points[["lon", "lat"]]# 示例调用
generate_grid_points(shp_path=r"D:\0 DataBase\0 Chongqin Database\1 Boundary\Chongqing.shp",output_csv="pop_location_d01_CQ.csv",spacing=0.1,filter_by_shp=False  # 不进行空间筛选,但以shp边界范围扩展生成
)

参考

http://www.dtcms.com/wzjs/137233.html

相关文章:

  • 网站建设网站排行谷歌海外广告投放推广
  • 泰安做网站建设的公司热点事件营销案例
  • 机关党建项目网站建设方案人民网舆情数据中心官网
  • 西城网站建设浩森宇特腾讯推广平台
  • 广安做网站seo1搬到哪里去了
  • 重庆网站制作招聘seo变现培训
  • 网站制作教程百度一下就知道手机版
  • 找谁做网站比较好东莞免费网站建设网络营销
  • 网站开发管理黑帽seo培训网
  • 企业网站开发流程什么是百度指数
  • java开发网站跟php开发网站区别渠道策略的四种方式
  • 用别人家网站做跳转淘宝流量助手平台
  • 网站及数据库怎么做后门南宁seo外包服务
  • 网站开发技术方法与路线seo课程培训
  • 万网注册域名做简单网站360指数官网
  • 西安免费建网站设计重庆百度推广优化排名
  • 天猫秘券网站怎么做seo关键词优化指南
  • 聊城做网站的公司效果百度健康人工客服电话24小时
  • 网站建设的战略作用适合中层管理的培训
  • 企业网站建设cms河南网站推广那家好
  • 网站关键词堆砌西安网站建设
  • 秋长网站建设百度网站管理员工具
  • 王爷和长工by天一上海优化价格
  • 做百度网站电话号码如何刷app推广次数
  • 网站设计分辨率站长素材音效网
  • 珠海在线网站建设公司企业员工培训
  • Linux备份wordpress北京seo相关
  • 新郑做网站优化南宁百度seo价格
  • 绵阳网站开发公司国际新闻最新消息今天 新闻
  • 郑州专业网站建设兰州网络推广的平台