Showing posts with label GIS. Show all posts
Showing posts with label GIS. Show all posts

Monday, March 3, 2025

Matlab: Export the selected polygons from the Shapefile

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
% Shp Path
shppath='NFDB_poly_20210707.shp';
S = readgeotable(shppath);
[~, prjname, ~]=fileparts(shppath);
prjpath=[prjname, '.prj'];

% Example: Select polygons where 'LandType' is 'Forest' and 'Area' > 1000
selected_rows = S(S.SRC_AGENCY == "MB" & S.YEAR ==2017, :);


% Loop
for ii=5:10
    rows=selected_rows(selected_rows.MONTH==ii, :);


    otpath=2017*100+ii;
    copyfile(prjpath, [num2str(otpath), '.prj']);
    otpath=[num2str(otpath), '.shp'];

    shapewrite(rows, otpath);
    

end

Thursday, January 30, 2025

MODIS tile distribution

原始影像来自MOD44W。files
The original imagery is from MOD44W.
每次下载后,请在E盘下打开MXD文件。
After each download, please open the MXD file in the E drive.
本目录的目的在于确定目标区域覆盖的MODIS分区(TILES)。
The purpose of this directory is to determine the MODIS tiles covering the target area.
List of the target areas:
Manitoba: h11v03, h11v04, h12v03, h13v03; -95, 49, -102, 60
Winnipeg: h11v03, h11v04 (most); -97, 49, -95, 51

Tuesday, March 12, 2019

GIS: Heat Map

制作Heat Map,首先需要点矢量文件。
第一步,在ArcMap上加载点矢量文件。
第二步,ArcToolBox+Spatial Analyst Tools+Density+Kernel Density,如Fig. 1所示,Population field可以是为“NONE”,此时计算点数量,若为某字段则计算该字段数值,Output cell size可以为默认大小,或是编辑后数值,一切编辑好后单击“OK”。
Fig. 1
第三步,渲染工作,如Fig. 2所示,右键“新文件”Properties,至Symbology。Display Background Value和Stretch两部分依次调整至满意。
Fig. 2
最后的结果如Fig. 3所示。Files.
Fig. 3

References

Saturday, September 8, 2018

MAP API: 中文地址重定位经纬坐标

Introduction

在调用百度API之前,通过参考文献[1]获得一个开发秘钥(AK)。如Fig. 1所示,应用类型“浏览器端”,启用服务“全选”,Referer白名单可以先填“*”(此时任何网站均可访问,存在安全风险),待以后情况补充为特定网站(此时仅指定网站可以访问,安全性即可加强)。 参考文献[2]Python代码不能运行,但其结构、流程具有借鉴意义。
Fig. 1
中文地址不能直接加入URL发出申请,先行转换为URL编码。如上地十街10号,转制为URL编码即为“%E4%B8%8A%E5%9C%B0%E5%8D%81%E8%A1%9710%E5%8F%B7”(验证地址),基础是UTF-8编码。

BAIDU MAP API

我们使用百度API,以地址返回的是百度坐标(与真实WGS84坐标之间存在一定偏移),一个简单的替代方法减小这种偏移(不是消除偏移),请见参考文献[7]。输入及输出参数配置说明。地址最多支持84个字节等于(UTF-8)28个字,在转为URL编码之前需对地址稍加验证和处理,以符合要求。

时间复杂度

若并行处理(时间必然缩短),请先行注释如下代码:
1
2
3
4
5
6
7
8
if BDcoord>300
    disp('This script had been ended.');
    return;
elseif BDcoord==-1
    invalidlist=[invalidlist; ii];
    disp([num2str(ii), '. not found.']);
    continue;
end
测试情况:1000个地址,顺序查询用时约在5.8分钟。

不同用户每日查询上限

权益对比:未认证用户(6000次/日)、认证个人用户(30万次/日)、认证企业用户(300万次/日)

References

Monday, August 6, 2018

MAP API: BAIDU MAP API地址解析

我在互联网上找到一个小工具,可以作为各大在线地图地址解析的统一接口,操作很简单。所以我以工具作为地址查询坐标的直接应用,而非链接百度地图API。这个小工具的下载及操作请见文献[4]。
注意:个别名称指示范围并不准确,建议应在名称前加上特定区域名称纠正此错误,如上海XX公司北京分公司,解析过程极易导致解析范围地位在上海地区,此解决方式是直接在企业名称前强制加上北京等区域名称,有必要在每次解析之前将区域名称冠到企业名称之前
这里需要说明的是,小工具选择使用百度地图完成地址解析,返回的是百度坐标。百度坐标是在GCJ02坐标系(俗称火星坐标系)之上再加上一次非线性偏移而得,记为BD09。这里,我们就明白了,百度坐标是经过两次偏移得到,还不能直接应用到分析过程,它还需还原至原始坐标。
1
2
3
4
5
6
7
%一个取巧的方法将百度坐标转换为原始坐标[2]:
%假设你有百度坐标:x1=116.397428,y1=39.90923 
%把这个坐标当成GPS坐标,通过接口获得他的百度坐标:x2=116.41004950566,%y2=39.916979519873
%通过计算就可以得到GPS的坐标: 
x=2*x1-x2,y=2*y1-y2 
x=116.38480649434001 
y=39.901480480127

References

Tuesday, December 20, 2016

GIS: Set Display Options

Introduction

为了避免ArcGIS添加栅格图层之后自动拉伸(Stretch),可以在原始MXD文件中配置显示选项。Customize至ArcMap Options,如Fig. 1。
Fig. 1
在ArcMap Options选项中,按照Fig. 2配置。
Fig. 2
如此配置之后,在MXD中添加文件,就不会再出现自动拉伸的现象了。似乎这些配置还不能在Arcpy脚本语言操作,但.NET可能可以操作上面的配置

References

Sunday, December 4, 2016

Geography: Precision agriculture

Introduction

精准农业(或称卫星种植、定点作物管理)建立在监测、测量和反馈作物田间和内部诸多变化基础上的种植管理概念。在保护资源并提高收益要求下,精准农业的研究目的是为整体种植管理建立决策支持系统。
众多途径中,地植物学方法表现地形属性紧密地与多年的作物生产稳定性/特征相联系。地植物学方法的专长可追溯到地形因素对大田水分的显著作用。
精准农业已经伴随着GPS和GNSS应用而开启。农场主和研究人员已经可以在地图上表现很多的可测量的空间变动(产量,地形/拓扑关系,有机物含量、湿度等)。
精准农业业已开展,比如,它借助于收割机上的GPS估算产量,变动率技术诸如播种机、喷灌机等,以及一系列地能够测量从叶绿素水平至植物水分状态的传感器,多光谱和超光谱的航空和卫星影像,并制作NDVI地图产品。
精准农业概念出现在1980年代早期的美国。1985年,University of Minnesota研究人员在大田布设不同程度的石灰。同时还出现了网格化采样(每公顷固定一个采样点)。直到1980年代末期,这项技术才首次作为肥料和pH纠正的推荐图件。产量传感器的利用自新技术出现即被应用,它结合了GPS接收器。今天,此类系统已经覆盖数百万公顷农田。
在美国中西部,精准农业与可持续农业关联不大,但是那些在农田使用肥料而希望最大化收益的主流农场主比较关心的。依据GPS导航或代表性采样结果,农田肥料可以适用在需要的地方。由于肥料可能会使用在并不需要的地方,而精准农业则将肥料使用在合适的地方,从而优化肥料的利用。
纵观世界,精准农业已经发展非常多样。先进国家是美国、加拿大和澳大利亚。在欧洲,英国是第一个紧跟的国家,紧随其后是法国,当地最早在1997~1998年出现。在拉美,最先进国家是阿根廷,出现在1990年代中期获得了国家农业技术研究所支持。巴西的农业实践在环境保护下发展为高效生产,因而Embrapa建立了巴西精准农业研究网络,研究包括豌豆、玉米、小麦、水稻等。GPS和变化率分布技术有助于定位精准种植管理实践。GPS应用非常广泛,一直应用在精准农业服务,它提供了大田水平的优化地图。精准农业,正如该名称表面文字,意味着一些列精准和正确的投入,如水、肥料、杀虫剂等在正确时间为提高生产力和最大化产出。精准农业管理实践能够显著地增加产量时减少大量的营养和作物投入。由此,农场主因节约简易和肥料成本而获得更多收入。
其次,目标投入的较大规模的收益对环境会产生作用,空间、时间和数量。做好在正确的时间和地点投入恰当的投入有益于作物、土壤和农场主。可持续农业寻找确实的食物不间断供给,生态、经济和社会的限制要求长期的可持续生产。因此,精准农业寻找利用高科技系统是它的追求目标。

References

Monday, December 14, 2015

ArcGIS: Generate Raster Longitude and Latitude

Summary

栅格数据怎样可以得到逐点的经纬度信息,并分别将经度、纬度坐标以二维矩阵形式(影像)输出?
已知mask.tif文件已投影为WGS_1984_UTM_zone_50N,行列分别是411、452,空间分辨率1000m。

Steps

- Convert a raster of the study area to point.
打开ArcToolBox,Conversion--From Raster--Raster to Point,处理结果返回points.shp。
- Create two fields (floating or double) to store x and y.
右键points,Open Attribute Table,在属性表中添加2个域,分别列出经度、纬度,如Fig. 1。
Fig. 1
- Calculate geometry (longitude for x, latitude for y)
在属性名称上右键选择Calculate Geometry ...,经度对应x,纬度对应y,注意单位选择Decimal Degrees,如Fig. 2,计算结果将会存储在属性表中。
Fig. 2
- Convert to raster using x field (longitude raster)
打开ArcToolBox,Conversion--To Raster--Point to Raster,参数配置如Fig.3,像元参数设置与mask.tif一致。
Fig. 3
输出纬度矩阵与mask.tif空间信息完全一致,如Fig. 4。
Fig. 4

References

[2] Specifying the precision and scale allows you to restrict the range of values and number formats a field can accept, giving you greater control. For example, if you specify a float with a precision of 4 and a scale of 2, the field will accept 12.34. If you try to enter 12.345 into the field, an error message would display, as this exceeds the maximum number of digits and decimal places allowed. On the other hand, if you specify a float with a precision of 5 and a scale of 3, the field would let you enter 12.345.