提示:如果只想获得点对应于栅格的属性值,也可以参考本篇文章。但是不建议。因为ArcGIS有工具spatial Analysis---Extract Values To Points。本文主要获取行列号。

思路:

1、借助于ArcGIS,将栅格数据转为netCDF4文件,后缀名为.nc。

2、借助于python批量获得相对应点在栅格位置的行列号。

数据及代码:

编号 数据文件  描述
1 testDEM_RasterToNetCDF.nc 按上述操作使用栅格数据从ArcGIS中导出为nc文件
2 testpoints.csv 用于测试的点图层,由ArcGIS的Table to excel工具导出

数据可视化:

testpoints.csv

FID,Id,x,y
0,0,117.1320038,27.94029999
1,0,117.1269989,27.95089912
2,0,117.1380005,27.93440056
3,0,117.1500015,27.93400002
4,0,117.1240005,27.95350075
5,0,117.1299973,27.9333992
6,0,117.1669998,27.90069962
7,0,117.2109985,27.8743
8,0,117.2190018,27.85849953
9,0,117.1470032,27.87400055
10,0,117.1849976,27.91769981
11,0,117.2040024,27.94039917
12,0,117.137001,27.9076004
13,0,117.1269989,27.89550018
14,0,117.1340027,27.89089966
15,0,117.1309967,27.88010025
16,0,117.1320038,27.86790085
17,0,117.1429977,27.85759926
18,0,117.2149963,27.92300034
19,0,117.197998,27.89679909
20,0,117.1869965,27.86879921
21,0,117.1699982,27.9239006

testDEM_RasterToNetCDF.nc

(见链接:(32条消息) testDEM_RasterToNetCDF.nc-数据集文档类资源-CSDN文库https://download.csdn.net/download/qq_44584476/85100652)

代码:

import netCDF4 as nc
import numpy as np
import pandas as pddef LookShape(d1):# 取出各variable的数据看看,数据格式为numpy数组for var in d1.variables.keys():data = d1.variables[var][:].dataprint(var, data.shape)def GetStationArr(station_lon, station_lat, raster_lon, raster_lat, arr, station):# 读取站点经纬度,按照经纬度最近的位置,找到在栅格数据集的数组lat,lon的索引位置lon_index = GetPoistion(raster_lon, station_lon)lat_index = GetPoistion(raster_lat, station_lat)# 查看属性数据&数据切片# numpy数组切片,取数myvalues = arr[lat_index, lon_index]  # 取出某个格点所有时间的属性值print('站点{}的在栅格图像的经纬度lon和lat数组索引[列,行]:'.format(station) + str(lon_index) + ',' + str(lat_index))# print(temp_timeseq)return myvalues, lon_index, lat_indexdef GetPoistion(a, b):t = []for ii in range(len(a)):t.append(abs(a[ii] - b))return t.index(min(t))def readcsv(filename):myfile = pd.read_csv(filename, encoding='utf-8')a = []station = myfile.iloc[:, 0]lon1 = myfile.iloc[:, 2]lat1 = myfile.iloc[:, 3]'''station = myfile.iloc[:, 2]lon = myfile.iloc[:, 5]lat = myfile.iloc[:, 6]'''for i1 in range(len(station)):tup = (station[i1], lon1[i1], lat1[i1])a.append(tup)return adef my_process(dataset,testpoints):myrowcol=[]d = nc.Dataset(dataset)d_lon = np.array(d.variables['lon'])d_lat = np.array(d.variables['lat'])values = np.array(d.variables['testDEM'])#LookShape(d)b1 = readcsv(testpoints)#LookShape(d)for i in range(len(b1)):_, lon, lat = GetStationArr(b1[i][1], b1[i][2], d_lon, d_lat, values, b1[i][0])myrowcol.append((b1[i][0],lon,lat,_))# print(values[0][1], d_lon[0], d_lat[1])#print(myrowcol)return myrowcolmy_process('data/testDEM_RasterToNetCDF.nc','data/testpoints.csv')

运行结果:

站点0的在栅格图像的经纬度lon和lat数组索引[列,行]:1,2
站点1的在栅格图像的经纬度lon和lat数组索引[列,行]:0,0
站点2的在栅格图像的经纬度lon和lat数组索引[列,行]:2,3
站点3的在栅格图像的经纬度lon和lat数组索引[列,行]:4,3
站点4的在栅格图像的经纬度lon和lat数组索引[列,行]:0,0
站点5的在栅格图像的经纬度lon和lat数组索引[列,行]:1,3
站点6的在栅格图像的经纬度lon和lat数组索引[列,行]:7,9
站点7的在栅格图像的经纬度lon和lat数组索引[列,行]:15,14
站点8的在栅格图像的经纬度lon和lat数组索引[列,行]:17,17
站点9的在栅格图像的经纬度lon和lat数组索引[列,行]:4,14
站点10的在栅格图像的经纬度lon和lat数组索引[列,行]:11,6
站点11的在栅格图像的经纬度lon和lat数组索引[列,行]:14,2
站点12的在栅格图像的经纬度lon和lat数组索引[列,行]:2,8
站点13的在栅格图像的经纬度lon和lat数组索引[列,行]:0,10
站点14的在栅格图像的经纬度lon和lat数组索引[列,行]:1,11
站点15的在栅格图像的经纬度lon和lat数组索引[列,行]:1,13
站点16的在栅格图像的经纬度lon和lat数组索引[列,行]:1,15
站点17的在栅格图像的经纬度lon和lat数组索引[列,行]:3,17
站点18的在栅格图像的经纬度lon和lat数组索引[列,行]:16,5
站点19的在栅格图像的经纬度lon和lat数组索引[列,行]:13,10
站点20的在栅格图像的经纬度lon和lat数组索引[列,行]:11,15
站点21的在栅格图像的经纬度lon和lat数组索引[列,行]:8,5

ArcGIS获取点图层对应栅格图层的栅格行列号(或属性值)相关推荐

  1. arcgis表转excel一直失败_Excel表转换为shp格式时属性值丢失问题

    早前在网上扒拉一些数据,放到excel中进行加工,然后加载到arcgis中,生成点要素,然后转为shp格式文件.但是在此过程中遇到了一些小问题,有些字段的信息在转换过程中会丢失.一开始我以为是我的ex ...

  2. Arcgis Engine 实现单波段栅格图层色带渲染(包括色带反转)

    最近有同事问我ArcMap中的色带反转怎么实现,刚好我在整理以前的项目,找到了一些源码备忘. 先说下思路,简单来说就是得到栅格图层的IRasterRenderer,转换为IRasterStretchC ...

  3. ArcGIS生成根据点图层生成等值面并减小栅格锯齿的操作步骤

    ArcGIS生成根据点图层生成等值面并减小栅格锯齿的操作步骤 原文:ArcGIS生成根据点图层生成等值面并减小栅格锯齿的操作步骤 一.打开ArcMAP并加载上相应的点图层和边界面图层 二.ArcToo ...

  4. ArcGIS基础实验操作100例--实验49按分区划分栅格图层

    本实验专栏参考自汤国安教授<地理信息系统基础实验操作100例>一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 高级编辑篇--实验49 按分区划分栅格图层 目录 一 ...

  5. arcgis for js叠加栅格图层(Raster Layer)

    其实呢,这个问题或许与栅格图层(Raster Layer)关系并不十分大,也可能所有类型的图层都有这个问题,我对arcgis尚不十分了解,目前只在栅格图层遇到问题,所以先记下来,存疑. 栅格图层啥问题 ...

  6. Arcgis api for JavaScript 4.X 学习——图层加载(要素图层、栅格图层、切片图层)

    1. 一定要掌握对应需求在官网中查询信息的能力,比如说要加载图层那么就需要对应到api reference下的layers下对应查找API Referencehttps://developers.ar ...

  7. arcgis栅格计算器:将栅格图层指定值设置为Nodata及栅格图层求交

    1. 首先需要找到栅格计算器的位置 2. 将栅格图层的某个数据设置为Nodata setnull函数可将特定的栅格值赋值为空值 SetNull("这里是栅格图像名称"==0 &am ...

  8. ArcGIS多时序栅格图层空间范围不一致

    背景 使用IDRISI进行分析模拟时,要保证输入栅格数据的坐标系统.像元大小.空间范围完全一致 方法 首先确定坐标系以及像元大小一致(网上有教程,不做赘述): 利用栅格计算器得到单一像元值的各栅格图层 ...

  9. 创建栅格图层的属性表

    /// <summary>/// 根据栅格图层获取栅格数据集/// </summary>/// <param name="pRasterLayer"& ...

  10. 如何在Author中加载SDE栅格图层?

    如何在Author中加载SDE栅格图层? 版本: ArcIMS  9.1 在Author中加载SDE栅格图层,并保存AXL文件. 过程描述 1.使用ArcIMS Author工具正常的连接ArcSDE ...

最新文章

  1. linux进程间通讯-消息队列
  2. VMware网络选项分析
  3. Linux下安装Weblogic10.3.6并创建简单集群测试
  4. mysql 8.0 ~ 存储和账户
  5. python ==》 内置函数
  6. Weblogic数据池测试出错
  7. 剑指offer二十二之从上往下打印二叉树
  8. Variant类型转换成CString代码
  9. mybatis扩展ResultMap
  10. 【方案分享】2021年钟薛高营销策划方案.pptx(附下载链接)
  11. php unset引用变量后不会删除值
  12. IDEA中安装TeaVM插件
  13. java毕设查重,已经毕业的给毕设查重的人一点建议
  14. python 循环语句s =2+22+222+2222之和_python基础2
  15. 搭建Hadoop高可用集群
  16. 使用WGCLOUD来统计用户日活周活月活
  17. docker学习5-docker安装tomcat环境和部署war包
  18. 科学家用iPS细胞研究阿尔兹海默氏病最新进展
  19. 英伟达车载AHD高清模拟相机方案介绍
  20. css hack方法,CSS Hack的基本原理和实现方式

热门文章

  1. 3种方法设置PPT文件保护
  2. linux内核api作用,内存管理 – Linux内核API get_unmapped_area
  3. 优优聚:美团,又要抢抖音的短视频生意
  4. mysql 模糊查询 查询条件为多个
  5. crontab每隔1小时运行一次
  6. c语言编写 程序 闰年,C语言计算闰年程序
  7. 笔记本计算机并行口什么开启,笔记本连接电脑台式机的方法
  8. html转word 自动分页,word怎样自动分页
  9. Whatsapp注册步骤
  10. python计算圆柱体的表面积和体积_圆柱体体积和表面积计算(一)