解散重叠的多边形(使用 GDAL/OGR),同时保持非连接结果的独特性
有什么方法可以使用任何GDAL/OGR API或命令行工具溶解(合并)重叠多边形,同时保持所得的非重叠区域不同?我已经搜索了很多东西,找不到任何类似需求的东西.但是,我认为这个问题尚未解决. 这是我需要的更详细的描述: 我的输入由带有单层的单个形状文件(ESRI Shapefile)组成. 该层包含多边形,这些多边形无法通过属性区分. (所有都有相同的属性). 其中许多人是重叠的,我想让那些重叠的人结合. 未连接的区域应导致单独的多边形. 这是引起麻烦的最后一点.我基本上得到了我需要的东西,除了最后一点.如果我运行了溶解形状文件的典型解决方案 $ ogr2ogr -f "ESRI Shapefile" dissolved.shp input.shp -dialect sqlite -sql "select ST_union(Geometry) from input" i最终都有一个多边形,即使没有连接区域,也包括所有内容. 更新: 我通过完全抛弃G
30 2024-04-22
编程技术问答社区
GDAL GDALRATSetValueAsString() 如何保存汉字(c#)?
我需要GDAL的帮助.带有中文符号的字符串值未正确读取/保存(C#). 为节省网格值,我们使用: 私有静态外部void gdalratsetValueasString(intptr句柄,int row,int field,[in] [Marshalas(unmanagedtype.lpstr)]字符串value); 方法(c#)保存字符串值,似乎此方法将字符串保存为Ansi String . 用于阅读: private static extern IntPtr GDALRATGetValueAsString(IntPtr handle, int row, int field); in.示例我的字符串"银行Flamwood C2" 有方法可以通过指针获得价值(用于GDALRATGETVALUEASSTRING METHO): var pointer = GDALRATGetValueAsString(GDALRasterAttributeTableH, row
14 2024-04-18
编程技术问答社区
Pyinstaller-从os.system调用GDAL(gdal_translate)。
问候学会的研究员.在Windows 7上运行32位Python2.7 我有一个问题,即在Pyinstaller构建中包括GDAL可执行文件.我正在调用一个系统来运行FWTools版本的两个GDAL功能.这些功能在Windows C:\Program Files (x86)\FWTools2.4.7\bin上的路径变量中,因此从Python27环境中运行良好.但是,这条路径没有被带到pyinstaller构建中. 所讨论的代码正在调用GDAL函数,以将图像重新翻译到不同的地理空间坐标上. os.system("gdal_translate -of GTiff -a_ullr 694440.7939 6403967.2406 696438.7261 6404791.6774 -a_srs EPSG:28355 site.tif siteGR.tif") os.system("gdalinfo siteGR.tif") 运行时运行良好,直到达到上述行,然后返回以下错误:
28 2024-04-05
编程技术问答社区
编译支持hdf4的gdal时遇到困难
我无法使用Mac osx El Capitan版本10.11.6上使用Bash使用HDF4支持编译GDAL.我从 osgeo网站上的自制gdal方法开始.不幸的是,默认情况下,HDF4不是GDAL支持的. ,并审查了/u/dschneiderch 使用Homebrew,我安装了HDF4(brew install homebrew/versions/hdf4返回警告versions被弃用,而Homebrew将使用science).我已经解决了这个GDAL问题一段时间,肯定,homebrew/science/hdf4-4.2.11_2 already installed.因此,我使用brew link -overwrite-hdf4链接了HDF4,并警告回来了它已经链接了. 我使用brew remove gdal从安装开始,然后遵循 sig-geo listsersserv 以完成GDAL安装.因此,我的总工作流程是: brew tap homebrew/versions bre
14 2024-03-28
编程技术问答社区
Numpy-用NaN替换一个数字
我希望用numpy中的nan替换一个数字,并且正在寻找numpy.nan_to_num之类的函数,但反向除外. 由于处理了不同的数组,因此数字可能会更改,因为每个数组都可以具有唯一的定义Nodatavalue.我已经看到人们使用词典,但是阵列很大,充满了正面和负面的浮子.我怀疑尝试将所有这些加载到任何创建钥匙的东西上并不有效. 我尝试使用以下内容,但是Numpy要求我使用any()或all().我意识到我需要明智地迭代元素,但希望内置功能能够实现这一目标. def replaceNoData(scanBlock, NDV): for n, i in enumerate(array): if i == NDV: scanBlock[n] = numpy.nan ndv是GDAL的无数据值,数组是一个numpy数组. 也许是一个蒙版数组? 解决方案 A[A==NDV]=numpy.nan a == ndv
16 2024-03-04
编程技术问答社区
在加载共享库时出错:archlinux中的libgdal.so.1
i(我本人是一个新手)在启动Archlinux中的脚本时会收到以下错误消息,该脚本是由朋友写的: /usr/bin/psxy: error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory /usr/bin/psbasemap: error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory /usr/bin/ps2raster: error while loading shared libraries: libgdal.so.1: cannot open shared object file: No such file or directory /usr/bin/psxy
60 2024-03-03
编程技术问答社区
启动Python子进程的行为因启动器不同而不同
我正在尝试从Python 2.6启动Python 2.5.原因是我试图使用的编译库(GDAL)不支持与另一个程序(ArcGIS)一起分发的Python版本. 这是我试图做的. Python 2.6中的main.py文件: import subprocess p = subprocess.Popen(['C:\OSGeo4W\gdal_python_exec.bat', 'X:\\local\\import_tests.py']) gdal_python_exec.bat是一个Windows批处理脚本,它可以启动我想要的2.5版本的Python版本,同时还设置了一些环境变量: @echo off set OSGEO4W_ROOT=C:\OSGeo4W PATH=%OSGEO4W_ROOT%\bin;%PATH% for %%f in (%OSGEO4W_ROOT%\etc\ini\*.bat) do call %%f @echo on @C:\OSGeo4W\bin
24 2024-03-03
编程技术问答社区
OSError: libgdal.dylib: 无法打开文件
问题是:Docker由于OSError: /opt/homebrew/Cellar/gdal/3.3.0_2/lib/libgdal.dylib: cannot open shared object file: No such file or directory而无法正常运行. 我当前的任务只是将Geodjango添加到我现有的Django Dockerized项目中,并使用PostGIS数据库添加Geodjango.我使用Postgis/Postgis安装了PostGIS图像. i,但由于GDAL安装不正确,出现了问题.我安装了GDAL和自制的.老实说,如果我使用Docker,我不明白为什么我在机器上需要GDAL. 现在,我在MacBook Air(M1,2020)和所有包装的最后版本上使用大型SUR OS. 我发现了许多类似情况的描述,但与我的原因不同,原因不同. 我想弄清楚我面临的问题,为什么发生以及如何解决. 任何帮助都将不胜感激. 详细信息:
16 2024-03-02
编程技术问答社区
M1 Mac-GDAL 错误架构错误 [Django]
我正在尝试将Django项目启动并运行,这取决于GDAL库.我正在使用基于M1的Mac. 按照官方Django文档 ,我已经通过Brew 安装了必要的软件包 $ brew install postgresql $ brew install postgis $ brew install gdal $ brew install libgeoip gdalinfo --version运行良好,并将版本显示为3.3.1 gdal-config --libs返回以下路径:-L/opt/homebrew/Cellar/gdal/3.3.1_2/lib -lgdal 在我的路径env变量中,在自制的lib目录上也放置了一个符号链接. 当我尝试在不指定GDAL库的路径的情况下运行Django时,它抱怨它找不到GDAL软件包(即使库是可访问的,因为可以通过Path env变量获得符号链接). 当我尝试使用GDAL_LIBRARY_PATH指定GDAL库的路径时,我会得到此
14 2024-03-02
编程技术问答社区
libgdal.so android错误:无法加载库 "libgdal.so.1"
我的问题是:我已经使用Android工具链成功地构建了(CC=i686-linux-android-gcc, CXX=i686-linux-android-c++),该工具链(CC=i686-linux-android-gcc, CXX=i686-linux-android-c++)生成以下输出库libgdal.a,libgdal.la,libgdal.la,libgdal.lai,libgdal.so,libgdal.so,libgdal.so.1,libgdal.so.1,libgdal.so.1,libgdal.so.1.17.1在输出文件夹.libs中(在以下内容中,我将调用此文件夹$GDAL_LIB_PATH). 我正在尝试使用Windows上的QT 5.4构建一个简单的Android应用程序(具有TestAndroid TestAndroid TestAndroid的简单小部件应用程序).如果我不使用gdal,一切都很好,我可以在所有可用平台上运行我的应用程序:x86,
52 2024-02-10
编程技术问答社区
将conda HDF4链接到conda GDAL(Anaconda Python)。
我已经通过 anaconda 分发安装了Python.它适用于大多数常规事物.但是,我需要能够打开MODIS HDF4-EOS文件.我尝试了 conda install -c https://conda.binstar.org/mutirri hdf4 conda install gdal python -c "from osgeo import gdal; ds=gdal.Open("MOD021KM.A2014005.0910.006.2014005194151.hdf"); print type(ds)" 但我得到 错误4:`mod021km.a2014005.0910.006.2014005194151.hdf'未公认为支持的文件格式. 嘿...似乎可行. 有人知道如何使用GDAL使用Python 2.7的Anaconda分布打开HDF4文件? 非常感谢您的帮助. 谢谢大家. 解决方案 虽然您的问题与此 https:http
62 2024-01-26
编程技术问答社区
Anaconda 提示符中出现 GDAL_DRIVER_PATH 的 "系统无法找到指定路径 "错误
我已经使用anaconda安装了python的gdal/ogr,但是现在,每当我启动anaconda提示时,我都会遇到错误" het systeem kan het het opgegeven pad niet vinden. ".接下来是 set "GDAL_DRIVER_PATH=" 我该如何解决? 这并不是特别造成任何问题,但似乎这不是意图的行为. 解决方案 我也有类似的问题.应该通过卸载GDAL来解决. 只是使用: conda uninstall gdal 这对我有用. 可能是一个问题.
36 2024-01-26
编程技术问答社区
导入GDAL时的问题:ImportError, Library not loaded, Image not found
自昨天以来,我很难进口一些图书馆,例如GDAL(或IRIS),并且我将获得相同类型的输出. >>> import gdal Traceback (most recent call last): File "", line 1, in File "gdal.py", line 28, in _gdal = swig_import_helper() File "gdal.py", line 24, in swig_import_helper _mod = imp.load_module('_gdal', fp, pathname, description) ImportError: dlopen(./_gdal.so, 2): Library not loaded: @rpath/libicui18n.56.dylib Referenced from: /Users/zoran/anaconda/lib/
36 2024-01-26
编程技术问答社区
如何修复环境变量GDAL_DATA的路径设置?
我曾在Windows 10和Pycharm中与GDAL合作,在Python 2.7和Pycharm中,我无法修复环境中的GDAL_DATA路径.因为我收到了此消息: 错误4:无法打开EPSG支持文件GCS.CSV.尝试设置GDAL_DATA环境变量以指向包含EPSG CSV文件的目录. 我尝试使用命令行: set GDAL_DATA='c:/Users/User/share/epsg_csv/' 并尝试使用Python代码中的功能: import os os.environ["GDAL_DATA"] = 'c:/Users/User/share/epsg_csv/' 有任何建议? 解决方案 由于某种原因,我不了解GDAL_DATA actibal GDAL_DATA变量(也是如此,PROJ_LIB变量)在安装GDAL软件包时未设置使用Anaconda 4.6. 要设置这些变量,我在调用任何地理模块之前在程序的开头进行以下操作. impo
40 2024-01-26
编程技术问答社区
在亚马逊Linux虚拟服务器的Python 2.7上安装GDAL
我有一个t2.Micro Amazon Linux实例运行. Python 2.7.12已经预先安装.我想和python一起安装gdal. 我已经安装了GCC C ++和Numpy. 以下命令对我不起作用: sudo yum install gdal-devel sudo yum install gdal sudo yum install python-gdal 他们都会产生以下消息. No package {PACKAGE_NAME} available. Error: Nothing to do 我无法在Amazon Linux实例上运行APT-GEG. 也不相关,所以帖子对我有用. 我也跑了 sudo easy_install GDAL 这给出了以下记忆: Searching for GDAL Reading https://pypi.python.org/simple/GDAL/ Best match: GDA
32 2024-01-26
编程技术问答社区
Geodjango的Beanstalk迁移失败了
我想在AWS Beanstalk中部署Geodjango. 我已经尝试了此解决方案.它以前工作了. commands: 01_yum_update: command: sudo yum -y update 02_epel_repo: command: sudo yum-config-manager -y --enable epel 03_install_gdal_packages: command: yum --enablerepo=epel -y install gdal gdal-devel packages: yum: git: [] postgresql96-devel: [] gettext: [] libjpeg-turbo-devel: [] libffi-devel: [] ,但现在正在显示此错误. AttributeError: /usr/lib64/libgdal.
20 2024-01-24
编程技术问答社区
在AWS Beanstalk或EC2实例中设置具有GeoDjango支持的Django
因此,我有一次使用Amazon实例(2013.09)AMI-35792C5C进行了beanstalk.当时,当将eBextension脚本放在.ebextensions/ 中 00_repo.config packages: rpm: pgdg-redhat93-9.3-1: 'http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm' remi: 'http://rpms.famillecollet.com/enterprise/remi-release-6.rpm' files: "/etc/yum.repos.d/pgdg-93-redhat.repo": mode: "000644" owner: root group: root content: |
32 2024-01-24
编程技术问答社区
rgdal不会安装在AWS RStudio AMI上
我已经成功地启动了最新的Rstudio AWS EC2实例(Louisaslett.com,rstudio-1.1383_r-3.4.2…Ubuntu-16.04-LTS-64). R在这种情况下主要按预期运行,我可以安装和打开许多软件包.但是,如果我尝试安装GDALUTILS软件包的任何一个rgdal,我会遇到错误. 下面是我尝试安装RGDAL时的控制台输出. GDALUTILS安装的输出太长在这里包括,但两者都包括"错误:升级GDAL到1.11.4或更高版本",我怀疑这是问题所在,但不知道如何更正. 任何想法或建议将不胜感激. 欢呼 > install.packages("rgdal") Installing package into ‘/home/rstudio/R/x86_64-pc-linux-gnu-library/3.4’ (as ‘lib’ is unspecified) trying URL 'https://cran.rstudio.com/src/
28 2024-01-24
编程技术问答社区
如何在Amazon Linux上安装最新版本的GDAL?
我想安装The version of GDAL included in the EPEL Yum repository is too old for my purposes ( gdal-1.7.3-15.el6.x86_64 ). EPEL 7包括 gdal-1.11.4-1.el7.x86_64 这将是完美的.有什么办法可以在Amazon Linux上使用此仓库? 到目前为止,我也尝试了: 添加eLgis 6 repo的gdal(具有其他人. Elgis Wiki建议人们现在使用Epel. 从Epel 7下载和安装最新的GDAL rpm,但是由于GDAL的依赖项和我的启用库中的可用软件包之间的不匹配而失败. 我根本没有Amazon Linux(或YUM)的经验,因此任何暗示都非常感谢. 解决方案 这对我有用. sudo yum -y update sudo yum-config-manager --enable epel sudo yum -y in
42 2024-01-24
编程技术问答社区
在Alpine Linux中缺少软件包,尽管它被列在软件包网站上。
我试图构建一个使用GDAL和必要的Python钩子运行高山Linux的Docker容器: FROM python:3.6-alpine RUN apk update RUN apk add py-gdal gdal RUN pip install uwsgi RUN mkdir /code WORKDIR /code COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD ["uwsgi", "--ini", "uwsgi.ini"] 您可以看到,我正在运行apk update语句以更新存储库,然后运行apk add语句以安装软件包.这是我收到的输出: /usr/bin/make -f /Users/some_guy/Workspace/tagging_tracker_backend/Makefile build up Pulling nginx ... Pullin
28 2024-01-24
编程技术问答社区