问题标签 [ogr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 如何打开解压缩的地图文件
我正在尝试读取压缩地图文件以用作轮廓上的地图叠加层,但我似乎无法解压缩该文件。以下是我的命令;
我想在我的情节中使用 zmb2 作为底图。zip 文件和脚本位于同一目录中。以下是我得到的:
无法打开层但我确实看到 unzip 命令有效,因为我看到 4 个带有 dbf、prj、shp 和 shx 扩展名的新文件
任何帮助将不胜感激。
gis - 局部投影的 WKT 等效项
我正在尝试使用 gdal 从多个局部坐标系中投影一些基本形状。ArcGIS 支持这些坐标系,但最终我只是想使用 gdal(和 proj4)将这些几何图形转换为基本的纬度/经度(EPSG:4326)。这是 gdalsrsinfo 返回的内容:
如果我尝试使用 ogr 来翻译点 shapefile,我会收到以下错误:
proj4 是否支持本地坐标系?有什么建议我应该用于 PROJECTION 参数吗?
谢谢。
python - OGR 几何更改浮点数
我在 OGR 中创建一个多边形并在 Python 中为其添加坐标。添加时不允许更改我的坐标是必须的,但是它们会更改,我不明白为什么。这是我的例子:
现在,如果我打印多边形,我会收到:
例如:
显然已经添加了浮点数,我不明白为什么。帮助表示赞赏。
我是怎么做到的?因为我只需要 WKT 格式,所以我连接了一个字符串:
python - python匀称地绘制多层
有一组(纬度,经度)点可以简单地用 可视化matplotlib.pyplot.scatter(list_of_longitudes, list_of_latitudes)
。但我想将这些点绘制在恰好位于 shapefile 中的道路网络之上。如何在一个地图/图形中简单地将两个文件与 Python 一起绘制?
特别是在寻找像 Shapely 这样的东西
c++ - 在 Boost.Geometry rtree 中存储 OGRPoint
我正在尝试使用 Boost.Geometry 注册 OGR 几何类,以最终在 Boost.Geometry RTree 中使用它们。为此,我遵循了 Boost.Geometry 文档中的教程/示例,并使用BOOST_GEOMETRY_REGISTER_POINT_2D_GET_SET
宏注册了 OGRPoint:
我的简单测试驱动程序只是创建了一个带有 Indexable 的 RTree boost::geometry::model::box
:
但是,我遇到了一个编译错误,归结为 Boost 中的一个断言:
还有什么我需要做的,比如实施 Boost.Rangeboost::geometry::model::box<OGRPoint>
吗?
c++ - 如何为 OGRPoint 和 OGRLineString 注册 Boost.Geometry 距离策略?
我正在创建一个允许将 OGR 的类与 Boost.Geometry 一起使用的包装器。到目前为止,我已经创建了必要的迭代器外观并使用 Boost.Geometry 注册了 OGR 的几何类(、和OGRPoint
)OGRLineString
。OGRLinearRing
OGRPolygon
现在,我想使用 OGR 类谓词,例如OGRGeometry::Distance()
with boost 而不是 Boost.Geometry 使用的那些谓词(例如,股票 Boost.Geometry 1.57.0 没有任何地图投影的概念)。它适用于boost::geometry::distance(OGRPoint, OGRPoint)
,但不适用于bg::distance(OGRPoint, OGRLineString)
或任何其他点集合。我的猜测是因为 Boost.Geometry 将线串、环和多边形视为要迭代的有序点集合,因为编译器会尝试实例化以下模板:
完整的错误信息如下:
因此,我尝试提供专门针对 的模板专业化struct boost::geometry::detail::distance::default_strategy<OGRPoint, OGRLineString, boost::geometry::pointlike_tag, boost::geometry::linestring_tag, false>
,但没有成功——同样的错误消息盛行。
这是我的代码:
如何“拦截”导致使用迭代器/范围概念并OGRGeometry::Distance()
直接使用的模板实例化?
c++ - 为写入指针 API 创建一个行为良好的迭代器
我必须为仅具有旧式“写出指针”访问器的 API 创建一个迭代器。有问题的 API 是 OGR 的;有问题的课程之一是OGRLineString
(供参考:http ://www.gdal.org/classOGRLineString.html )。该类存储了许多点,可以使用以下 getter 方法访问:
为了使用访问器,创建一个新OGRPoint
对象并将指向它的指针传递给方法,该方法将数据写入分配的对象。例如:
现在,我想实现一个(类似 STL 的)迭代器。即使我在各处放置大警告标志,说明提供的sOGRPoint
是不可修改的(即const
,要求我传递一个自定义分配的实例,但迭代器必须分配一个。另外,当迭代器本身被删除时,迭代器返回的 s 不应该被删除。此外,不存储为 复制的实际实例,而是存储 x/y/z 坐标的简单结构;所有需要的附加信息(例如,空间参考)都复制到访问器中。因此,一个简单的OGRLineString
OGRPoint const &operator*() const
OGRPoint
OGRPoint
OGRLineString
OGRPoint
getPoint
#define private public
hack 无济于事。
是否有任何理智/干净的方法来添加迭代器而不修改原始源OGRLineString
?例如,有没有办法向原始类添加特性或修改它,就像 Ruby 的“猴子补丁”特性那样?或者观察容器的生命周期以清理OGRPoint
迭代器返回的实例?
java - 如何在java gdal中使用ogr2ogr
我想ogr2ogr -f "GeoJSON" destination.geojson source.geojson -s_srs EPSG:3068 -t_srs EPSG:4326
用 java-gdal 编写代码。我试图通过查看这个示例来了解它应该如何工作,但由于 ogr2ogr 有很多用途,我无法完全确定与我相关的内容。这是我的尝试:
poOutputSRS.SetFromUserInput( destSRS );
我在(即第 99 行)收到此异常:
d3.js - ogr2ogr的D3js投影EPSG代码?
我使用 d3js 进行矢量投影,例如d3.geo.mercator()
:
我还将 ogr2ogr 用于光栅投影,例如epsg:3857
:
因为我必须完美匹配两者......
有没有一个地方可以为每个d3js 投影找到它必须关联到哪个EPSG 投影代码?
python - osgeo.org 中 ogr.FieldDefn('field', ogr.OFTInteger) 的字段类型错误
我对 osgeo.org for python 使用版本有疑问
我想使用 osgeoMapInfo File
从 MongoDB 转换。
和
已MapInfo File
构建,但该字段number_of_romms
的类型是Integer(12)
,而我希望它是Integer
并且无法找出问题所在。
有没有办法解决这个问题?
mif 文件如下: