- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 gdal_polygonize python 脚本对光栅图像进行多边形化并将多边形存储在 postgres 数据库中。到目前为止一切正常。
gdal_polygonize.py abia.tif -f PostgreSQL PG:"dbname='abiaDB' host='127.0.0.1' port='5434' user='postgres' password='****'" mylayer
将数据存储在数据库中后,我将其导出为 GeoJson 文件,我想用 Leaflat 显示该文件。因此 Leaflat 仅适用于投影 EPSG:4326。因此我使用了 proj4.js 插件,它从 Gauss-Kruger zone 4 EPSG:31468 投影进行转换。所以我必须像这样在代码中手动定义原始投影:
proj4.defs('EPSG:31468', '+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +towgs84=598.1,73.7,418.2,0.202,0.045,-2.455,6.7 +units=m +no_defs');
L.Proj.geoJson(data, {
'pointToLayer': function(feature, latlng) {
return L.marker(latlng).bindPopup(feature.properties.name);
}
}).addTo(map);
有没有一种方法可以让 python 脚本也应该将投影信息存储在数据库中。我的目标是使可视化更加自动化,因此当有其他图像和其他投影时,它应该从数据库中获取投影信息。有没有一种方法可以让 gdal_polygonize 函数将信息存储在额外的行或类似的东西中?
多边形化 Java
gdal.AllRegister();
ogr.RegisterAll();
args = gdal.GeneralCmdLineProcessor(args);
//Open source file
Dataset hDataset = gdal.Open(args[0], gdalconstConstants.GA_ReadOnly);
Band rasterBand = hDataset.GetRasterBand(1);
Band maskBand = rasterBand.GetMaskBand();
Driver driver = ogr.GetDriverByName("Memory");
DataSource dataSource = driver.CreateDataSource("mem");
SpatialReference srs = null;
if(!hDataset.GetProjectionRef().isEmpty())
srs = new SpatialReference(hDataset.GetProjectionRef());
Layer outputLayer = dataSource.CreateLayer("mylayer", srs);
FieldDefn field_def = new FieldDefn("DN",ogr.OFTInteger);
outputLayer.CreateField(field_def);
gdal.Polygonize(rasterBand, maskBand, outputLayer, 0, new Vector<>(), new TermProgressCallback());
//Transformation
DataSource dataDest = driver.CreateDataSource("mem2");
//Create destination projection
SpatialReference dst = new SpatialReference();
dst.ImportFromEPSG(4326);
CoordinateTransformation ct = CoordinateTransformation.CreateCoordinateTransformation(srs, dst);
//Write data to database
DataSource dataSourceDb = ogr.Open( "PG:dbname='abiaDB' host='127.0.0.1' port='5434' user='postgres' password='****'", 1 );
dataSourceDb.CopyLayer(outputLayer, "mylayer");
最佳答案
一个想法是您可以修改 gdal_polygonize.py重新投影结果。使用 MEM 驱动程序存储来自 dst_layer
的临时多边形化结果,然后使用 osr 模块重新投影。
另一个更简单的想法是使用 postgis 创建一个数据库 VIEW,该数据库 View 使用 SRID=4326 投影表的几何列。 ,即
CREATE VIEW mytable_latlong AS
SELECT gid, ST_Transform(geom, 4326) AS geom, ...
FROM mytable
关于Python gdal投影信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156375/
谁能帮我提供SetGeoTransform的参数?我正在使用GDAL创建栅格图层,但是找不到SetGeoTransform的第3和第5参数的描述。它应该是单元格的x和y轴的定义。我尝试找到有关here
自从 ECW(Hexagon Geospatial/Intergraph)最近发布了具有重大更改(5.0、5.1 和 5.2)的新版本以来,大多数(全部?)在线信息已经过时。 大多数指令会导致如下错误
我有一台带有 M1 芯片的 macbook,我正在尝试建立一个 django 项目。该项目与地理空间库 gdal 一起工作。我在 3.3.1_3 版和我的虚拟环境 3.3.1 版中安装了带有 Home
我有一台带有 M1 芯片的 macbook,我正在尝试建立一个 django 项目。该项目与地理空间库 gdal 一起工作。我在 3.3.1_3 版和我的虚拟环境 3.3.1 版中安装了带有 Home
我有几个 tif 格式的文件。我想将它们翻译成 ENVI 格式。我对一个文件成功了,但我想对目录中的其余文件执行此操作。 the first file in the directory is:S
我有几个 tif 格式的文件。我想将它们翻译成 ENVI 格式。我对一个文件成功了,但我想对目录中的其余文件执行此操作。 the first file in the directory is:S
我搜索了全网都没有找到指南获取gdal-config . 我有 yum 但 yum 没有 gdal-config , 我已经安装了 gdal . 我只需要能够在 shell 上执行此操作 - gdal
我有一个很大的 GeoTIFF,我想通过 GeoServer (v.2.11) 中的 WMS 进行流式传输。图像大小约为 7GB,由非常大的高分辨率 RGB 图像组成。我已经在 JVM 中留出了足
我有一个仅存在于内存中的 GDAL 数据集 (inmem_ds): In: gdal.Info(inmem_ds) Out: ('Driver: NUMPY/Numeric Python Array\
我正在尝试在基于各种 solutions 的虚拟环境中安装 GDAL在那里。 但是下载本身已经失败了: $ pip install --no-install GDAL 这是 pip.log -----
您好,我正在尝试迭代栅格数据集 (band1) 的值。我可以使用以下代码片段在 python 中完成此操作(抱歉,我无法提供原始栅格) import numpy as np import gdal p
有人知道如何使用 GDAL 更改或设置 GeoTIFF 文件的“描述”选项/标签吗? 为了说明我的意思,这是从带有设置“描述”的 GeoTIFF 文件返回的 gdalinfo 示例: Band 1
请指出我遗漏的一点: openSUSE 11.3 xx@linux-y3pi:~/Desktop/R> sudo R CMD INSTALL rgdal_0.7-12.tar.gz root's pa
在尝试安装 sf R 包,我收到错误消息: checking GDAL version >= 2.0.0... no configure: error: sf is not compatible wi
我使用 gdal 创建不同类型的图层,例如颜色浮雕和山体阴影,并使用 Mapnik 将它们组合成单个图像,以用作从单个 .hgt 文件获得的 3D dem 模型的纹理。 假设我是 gdal 新手,我在
鉴于此文件: http://mtarchive.geol.iastate.edu/2019/02/18/mrms/ncep/GaugeCorr_QPE_01H/GaugeCorr_QPE_01H_00
您好,我是Gdal的新手,正在为我的代码苦苦挣扎。在我的代码中,一切似乎进展顺利,但最后的输出区域为空。当我指定255时,无数据值设置为256,所以我真的不知道出了什么问题。谢谢任何帮助,将不胜感激!
我正在尝试构建马赛克,我依靠 NoDataValue 功能将图像的某些部分视为透明。但是,GDAL 似乎没有按预期工作。 我还使用 vrt 数据集和 gdal_translate 创建了一个非常简单的
他们的文档简单而专业。 但他们并没有过多提及这些开源项目之间的关系。 我应该什么时候使用哪一种?哪一个适合什么场景? 如果您是熟悉这些项目的GIS开发人员,您能解释一下吗? 最佳答案 基本上,GDAL
我正在使用 GDAL java API。我有一段代码可以将 SRTM (hgt)、geotiff 和 dted 文件相互转换。 在测试代码时,我成功地将示例 hgt 文件(从互联网下载,例如从此站点:
我是一名优秀的程序员,十分优秀!