事情起因于在推特看到关于ggVennDiagram这个 R 包教程的一条推文,想着去复现一下,于是开始去安装,不料安装过程中出现了sf这个依赖包始终安装不成功的一堆错误,于是有了这一篇文章,特此记录一下,也希望给遇到类似问题的小伙伴一个参考。
Conda的下载和安装 什么是Conda? 官方定义:Package, dependency and environment management for any language—Python, R
以上一个代码实例gdal计算NDVI为例: 如何在Linux下使用gcc进行编译? (顺便说一下,上次的代码只能在gdal1下编译,因为gdal2和1的API稍微有些改动) gdal的动态链接库如果采用默认的安装方式应该在/usr/local/lib目录下面,而头文件在/usr/include/gdal目录下面。 那么,我们的编译命令应该是这样的:g++ NDVI.cpp -std=c++11 -I/usr/include/gdal -L/usr/local/lib -lgdal -o NDVI.o 其中: -std=c++11 指定使用C++11标准进行编译。因为上一个代码中使用了C++11中的std::array 等特性。
WRF中地形数据(海拔高度)分辨率最高为30s,差不多就是900m,当模型空间分辨率较高时,比如在低于1km的情况下,经常会考虑增加地形高度的分辨率,这里使用美国的SRTM( Shuttle Radar Topography Mission)的DEM数据,这个数据覆盖了全球陆地,在美国本地分辨率为1s,其他地区为3s(约90m),因此使用这个更高分辨率数据来测试一下。
顺便安装postgresql-devel、libxml2-devel,后边编译安装PostGIS会用到。
[[[200 228 197] [200 228 197] [200 228 197] ... ... [200 228 197] [200 228 197] [200 228 197]]]
大家好我是费老师,在我之前的某篇文章中为大家介绍过如何在windows系统上,基于ESRI FileGDB驱动为geopandas补充针对gdb文件的写出、追加功能,但那种方式既有些麻烦,又不支持linux等其他系统,局限性颇多,且经常会出现一些小问题。
今天在笔记本(macOS平台)上折腾了一下如何搭建GDAL的Java开发环境。虽然GDAL的Python接口更好用,但是有时候需要协同使用一些Java库的时候,也必须使用Java版本的GDAL。
1、双击Anaconda3-4.4.0-Windows-x86_64.exe安装,安装目录D:\ProgramData\Anaconda3
本文介绍在Anaconda环境下,安装Python中栅格、矢量等地理数据处理库GDAL的方法。
GDAL 是 Geospatial Data Abstraction Library 的缩写,是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。
Typing模块的改进、新版本的pickle协议、可反转字典、Python C API和CPython实现、多进程共享内存
上回说到用GDAL的部分应用,那不安装GDAL怎么行。可能你们的安装都是一帆风顺,但我的并不是。虽然在实际使用过程中,GDAL并不是十全十美,但胜在快,如果你像我一样动辄数千个影像的处理,等10个小时和2个小时差别是很大的。很大原因上,快比什么都重要。不然也不至于在多进程、分布式,各种纠结啦~
大家好我是费老师,很多读者朋友跟随着我先前写作的基于geopandas的空间数据分析系列教程文章(快捷访问地址:https://www.cnblogs.com/feffery/tag/geopandas/),掌握了有关geopandas的诸多实用方法,从而更方便地在Python中处理分析GIS数据。其中在文件IO篇中给大家介绍过针对ESRI GeoDataBase格式的文件(也就是大家简称的gdb文件),可以在指定图层名layer参数后进行读取,但无法进行gdb文件的写出操作。
反正我不是很熟,我只知道它很酷、很快、而且很厉害,不过好像也有很多缺陷。很酷很快很厉害我就不多说了,网上的彩虹屁多的和牛毛一样。我主要想说说几个问题,虽然这些问题可能只有我会遇到(意思是可能我安装的姿势不太对)。
现在最新的proj5.2.0已经可以通过cmake进行编译了,尝试了一下确实比以前要方便点。解压下载的proj5.2.0的压缩包,在cmake界面填入如下路径:
本文介绍在Anaconda环境下,基于.whl文件安装Python中高级地理数据处理库GDAL的方法。
Geoserver默认支持的栅格数据源比较少,包括ArcGrid,GeoTiff,WorldImage,ImageMosaic等,是不支持Erdas Img格式的栅格数据源的,因此,为了能够让Geoserver支持发布Erdas Img格式的数据源,需要用GDAL的插件对Geoserver进行扩展,本文讲述如何在Geoserver中配置并支持Erdas Img格式的数据源。
在直接源码安装gdal2.3时报错,大概意思是说没有安装SFCGAL。 1、centos更新cmake到3.5版本: wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz tar xvf cmake-3.5.2.tar.gz cd cmake-3.5.2 ./bootstrap --prefix=/usr (这一步很关键,如果没有指定prefix,后面使用时会报错Could not find CMAKE_ROOT) gmake sudo gmake ins
Modis数据向来风骚,其HDF里包含了很多subdataset,其中有一个maiac的数据尤为特别。Maiac文件里含有大概12个数据集,每个数据集里又有4个波段(维度),如果按GDAL的translate函数直接转换,将得到错误的结果,会只得到第一个波段Band1如下:
本文介绍在Visual Studio软件中配置、编译C++环境下GDAL库、SQLite环境与PROJ库的详细方法。
这里使用 ubuntugis提供的gdal进行安装。 首先更新一下ubuntugis的源:
wget http://download.osgeo.org/gdal/2.0.0/gdal-2.0.0.tar.gz tar -xzvf gdal-2.0.0.tar.gz
2. 安装g++ yum install gcc-c++ libstdc++-devel
GDAL可通过configure来实现一些自定义配置,可通过./configure –h命令来查看。--prefix=path表示设置GDAL的make install后的build目录,里面有生成的头文件和动态库。输入如下命令:
在python与地理空间分析(1)与(2)中我们介绍了GIS中常用的数据类型、python在处理地理空间数据时用到的包以及给定经纬度计算空间距离的算法,本期我们主要介绍对地理空间分析中常用到的矢量数据shp文件的处理,在捍卫祖国领土从每一张地图开始我们也提供较为精准的包括南海九段线的中国地图,大家可以自行下载。
Geospatial Data Abstraction Library (GDAL)是使用C/C++语言编写的用于读写空间数据的一套跨平台开源库。现有的大部分GIS或者遥感平台,不论是商业软件ArcGIS,ENVI还是开源软件GRASS,QGIS,都使用了GDAL作为底层构建库。
前两天,有位同仁再问我一个问题,问题大概是介个样子的:打包shp数据位zip格式并上传,上传完成后再在web上展示出来。这个需求,以前在Arcgis Online上见过,所以还是比较熟悉的,所以我就给他说:先将zip解压,再读取shp数据并将之转换为Geojson返回前台,并在web上展示出来。很庆幸的是,者为同仁很快就实现了shp到Geojson的转换,就问我Arcgis for js 中怎么展示Geojson,我截了个Arcgis for js的API给他他就实现了上述的功能。同时,我想他请教了如何实现的转换,他告诉我说是GDAL实现的,并给了我关键代码,因为代码是C#的,所以,经过周末的折腾,在JAVA上实现了,在此分享给大家。
Gdal的官网一搜就有了:www.gdal.org。里面对gdal各种函数的描绘,一应俱全,有时候即使不用python的gdal包。通过安装gdal后,也能使用subprocess调用cmd,使用gdal的各种功能和函数。
我们常常在图像处理过程中遇到不同软件或程序要求输入的图像格式不同(有些程序或软件支持的数据格式不是常用的Tiff,Img等数据格式),因此需要对不同的数据格式相互进行转换。 我这里以GTiff(.tif)数据转换为PCRaster(.map)数据为例。首先需要安装GDAL,我这里是在Anaconda上直接安装了基于Python的GDAL,可以在下面网站自行下载,https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal 例如下面对应的就是Python3.8版本的GDAL。
SUMO是一个微观的、连续的道路交通仿真软件,主要由德国宇航中心开发。该软件始于2000年,其作为一个开源、微观道路交通仿真而开发的主要目的是给交通研究组织提供一个实现和评估自己算法的工具。本文详解在Ubuntu 12.04下安装SUMO 0.19.0。
本文介绍基于gdal模块,在命令行中通过GDAL命令的方式(不是Python或者C++代码,就是gdal模块自身提供的命令行工具),对栅格遥感影像数据加以投影,即将原本的地理坐标系转为投影坐标系的方法。
使用VS2015编译最新的64位GDAL(最新gdal2.11),确实有一些问题,看来双方还是太新了,有点不兼容,特总结如下。
在地球科学、气象学以及环境监测等领域,遥感影像数据是一种重要的信息源,它们可以提供地表的地形、植被覆盖、气候变化等丰富信息。然而,随着观测技术的进步,我们通常会获得大量的遥感影像数据,如何高效地处理和分析这些数据成为了一项挑战。本文将介绍如何利用 Python 中的 GDAL 库处理遥感影像数据,并通过计算年度平均影像来提取更有意义的信息。
这个问题爆的有点莫名其妙,代码~环境基本没什么大的变化,好端端就报错了,原先的代码运行了很久才发现,没有结果?摸排了好久都没发现问题。直到pycharm和spyder更新后,总算是发现了报错信息:
Basemap 特别擅长绘制数值天气模式输出数据,比如 WRF。WRF [注1] 模式是广泛使用的数值预报模式,只要变量名合适,大部分情况下都可以使用其它模式的输出来运行。
地理坐标系就是把地球当成一个球体来看,以球心为参照点,通过经纬度来定位某个坐标点。
今天打算使用GDAL读取MODIS影像数据,由于我的MODIS是HDF4格式,而默认的GDAL是不包含HDF数据驱动的,所以必须重新编译GDAL。 我的开发环境是Ubuntu 14.04,首先安装需要的HDF包。 sudo apt-get install libhdf4-alt-dev libhdf5-dev libnetcdf-dev hdf4-tools hdf5-tools libgeos-dev libproj-dev 其中,libhdf4-alt-dev,libhdf5-dev,libnetcdf-dev分别是HDF4, HDF5, NetCDF数据的开发库,hdf4-tools和hdf5-tools分别是HDF4和HDF4的命令行工具。libgeos-dev和libproj-dev分别是GEOS和Proj.4的库。 特别需要注意的是:对于HDF4不要安装libhdf4-dev而需要安装libhdf4-alt-dev。我今天刚开始安装的是libhdf4-dev,编译安装都没有问题。但是读数据的时候一直提示打不开HDF4的数据。折腾了好久,最后,网上查询到说是libhdf4-dev包中含有一个NetCDF库的兼容API导致的。 接下来是下载源码进行编译,进入源码目录,执行下面命令。 ./configure --with-geos --with-static-proj4 --with-hdf4 --with-hdf5 --with-netcdf --enable-debug make sudo make install 将lib库添加到用户环境变量中,我是在~/.profile文件中进行的配置: export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib 最后使用sudo ldconfig命令使之生效。 利用其读取MODIS数据如下图:
昨天要处理一个shp文件,读取里面的信息,做个计算然后写到后面新建的field里面。先写个外面网上都能找到的新建和读取吧。
作为摄影测量与遥感的从业者,笔者最近开始深入研究gdal,为工作打基础!个人觉得gdal也是没有什么技术含量,调用别人的api。但是想想这也是算法应用的一个技能,多学无害!
无论安装以下哪种库,强烈建议在新环境下安装,之前在base环境下安装各种报错!!!如何在新环境下安装可参见我之前的总结或网上其他文章。
Python虽然有许多优秀的第三方库,但在实际使用的时候免不了使用一些cmd调用的程序,毕竟这类程序比较底层,更快、也更稳定。比如GDAL、FFmpeg、 ImageMagick等。
我们在前面已经见过了图像读取函数imread()的调用方式,这里我们给出函数的原型。
2022年底,微软宣布将发布超过4780万公里的道路数据。浅浅用python可视化一下。
NetCDF文件是自描述的二进制数据格式。所谓自描述就是自带属性信息,这和一般的雷达基数据格式不同,一般的雷达数据也是二进制的,但不是自描述的,而是需要额外的数据格式文档来说明数据格式,而NetCDF文件中包含了描述变量和维度的元数据信息。通常包含以下三个部分:
遥感图像往往尺寸较大,无法用默认的图像浏览器加载。 GDAL是空间数据处理的开源包,支持多种数据格式的读写。 遥感图像是一种带大地坐标的栅格数据,因此,可以借用GDAL对遥感图像进行读写,本文就来记录一些相关操作。
很久没更新公众号啦,给看客老爷们汇报下我最近都在忙啥。由于工作和自己的原因,需要搞一点科研,这一直是我的短板。所以我浅学了一下大学数学(线代、高数和概率论),准备结合Python做一些事情。后面可能会更新我学数学的一些心得,大家记得关注哦(我先学会再说)。
领取专属 10元无门槛券
手把手带您无忧上云