问题标签 [geos]
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.
postgresql - 在 geos/postgis 重新编译后恢复 postgresql/postgis 备份策略?
现在的情况:
- Ubuntu 8.04 服务器版(直播服务器)
- Postgresql 8.3.7(来自标准存储库)
- Postgis 1.3.3(来自标准存储库)
- GEOS 2.3.4(来自标准存储库)
问题:
GEOS 包含在 3.0 版本中修复的错误。我遇到了这些问题,需要升级 GEOS/Postgis 以包含 GEOS 修复程序。
我现在站在哪里:
在具有几乎相同设置的测试机器上,我删除了 postgis 包并尝试针对 Postgis 1.3.5 和 Postgresql 8.3.7 重新编译 Geos 3.1.0。
修复一些链接和路径问题后,此方法有效。
我的具体问题:
将我的数据库(表、函数、触发器、gist 索引、数据...)从“基于较旧的 geos/postgis”版本迁移到“较新”版本的最佳方法是什么?
我会尝试文档中描述的“软升级”方式,但你认为这会奏效吗?
对这个启用了 postgis 的数据库进行完整备份的最佳方法是什么,以便我可以在我正在编译的“较新的 postgis 版本”上完全恢复它?
python - Using UTM with geodjango
I'm looking into using the UTM coordinate system with geodjango. And I can't figure out how to get the data in properly.
I've been browsing the documentation and it seems that the "GEOSGeometry(geo_input, srid=None)" or "OGRGeometry" could be used with an EWKT, but I can't figure out how to format the data.
It looks like the UTM SRID is: 2029
From the wikipedia article the format is written like this:
[UTMZone][N or S] [easting] [northing]
17N 630084 4833438
So I tried the following with no luck:
Are there any example available to show how this is done?
May be I should just do any necessary calulations in UTM and convert to decimal degrees?
In this case does GEOS or other tools in geodjango provide convertion utitilites?
python - 如何将 GEOS MultiLineString 转换为多边形?
我正在开发一个 GeoDjango 应用程序,用户可以在其中上传地图文件并执行一些基本的映射操作,例如查询多边形内的特征。
我认识到用户有时会上传“MultiLineString”而不是“Polygon”。这会导致期望封闭几何的查询失败。
在 Python 中将 MultiLineString 对象转换为多边形的最佳方法是什么?
geometry - 如何修复自相交的多边形?
有没有办法使用 GEOS 从多边形中删除自相交?
django - GeoDjango:如何根据点和半径创建一个圆
我有以下(简化)模型:
我想根据给定的点和半径创建并保存一个表示圆的多边形。
我能弄清楚如何实现这一点的唯一方法是使用原始 SQL 调用 postgis ST_Buffer 函数。我真的希望有另一种方法。
是否可以访问 GEOS 缓冲区方法?
windows - 如何在 Windows 上为 GeoDjango 安装 GEOS
我正在使用 Python 2.5、Django 1.2、MySQL 和 Apache 开始一个 GeoDjango 项目。该项目将上传到 Linux 服务器,但开发将在 Windows 上进行。
问题是我无法通过安装 GEOS,它是如何完成的?
postgis - 在 PostGIS 中,大于世界一半的多边形被视为相反
我正在将 GeoDjango 与 PostGIS 一起使用,并尝试使用多边形从位于其中的数据库中获取记录。
如果我定义一个大于地球面积一半的多边形,它假定我的多边形的“内部”是我打算作为“外部”的较小区域,并且只返回它之外的结果。
我可以使用这个较小的错误区域来排除结果。Polygon.area 似乎知道我的意图,因此我可以使用它来确定何时使我的搜索包含或排除。我觉得这个问题可能很常见,有没有更好的方法来解决它?
更新:如果 180 度经度在我的多边形内,这根本不起作用。这次似乎是 GEOS 的罪魁祸首。这张图片显示了我认为的原因。绿色是我定义的多边形,红色是它似乎是如何解释它的。同样,这似乎是一个经常出现的问题,并且像 GEOS 这样的库是用来处理的。有办法吗?
postgis - PostGIS - 某些 MultiPolygons 导致“BOOM!无法生成外点!”
我试图代表一个跨越 180 度经度的矩形区域。有关更多背景信息,请参见在 PostGIS 中,大于世界一半的多边形被视为相反
这是我的测试用例:
通过更改数字,我可以使这个错误来来去去。(-180, -80, x, 80) 例如在 x <= -140 的情况下工作。对于每个数字,都有一个像这样的阈值,但我找不到模式。对于具有相同面积的盒子,有些可以工作,有些则不能。对于具有相同宽度的盒子,有些可以工作,有些则不行。
我可以查看正在生成的 SQL,但这些区域以二进制 (EWKB) 表示,我不确定如何读取它。
谁能解释一下?
django - GeoDjango:加速 GEOS 的几何运算
我正在使用 GeoDjango + PostGIS 开发空间排名应用程序。基本上它的作用是检索查询边界框中的所有几何图形,使用我创建的自定义函数计算相似度得分,然后返回得分最高的形状。
目前,每个查询的往返时间非常慢。运行分析器显示瓶颈是由我的相似函数内部threadsafe.py
的GEOSGeometry
操作(即相交、联合、包含等)调用的。这是来自单个查询的示例分析器结果。看起来线程安全的性质GEOSGeometry
是导致性能问题的原因。单独来说,耗时 40 毫秒的操作似乎没什么大不了的,但因为要与查询进行比较的形状数量通常很大,即约 1000 个形状,所以 40 毫秒的操作加起来需要 40 秒。
因此,我的问题是如何优化功能以最小化周转时间。我最初的一些想法是:
- 关闭/避免 的安全性检查
GEOSGeometry
,因为这些对象是瞬态的,不与任何其他线程共享。如果可能的话,这将是理想的情况,因为现在花费的大部分时间都在threadsafe.py
- 使用另一个不安全的几何 API。
在 PostGIS 级别而不是对象级别执行空间操作。不过,这会使代码看起来很难看。(更新:此选项不起作用。仅 SQL 查询的开销会使操作变得更慢。)
你有什么想法?
r - 在 Mac OS X Lion 上安装 rgeos 和 rgdal 时出现问题
我正在尝试安装 rgeos 包(和 rgdal)包。我有一个运行 os x 10.7.1 的 macbook pro,我有最新版本的 R,2.13.1。我正在遵循该站点的说明:http: //lostingeospace.blogspot.com/2011/08/rgeos-on-macos-x.html
我已经从http://www.kyngchaos.com/software:frameworks安装了最新的 GDAL 完整框架 1.8,并从 CRAN 下载了源文件 rgeos_0.1-8.tar.gz。
在终端中,我按照说明输入以下内容:
为了彻底,这里是整个输出:
rgdal 安装也会出现同样的问题。
我不是真正的程序员....有人知道我应该做什么吗?
谢谢!