问题标签 [postgis]
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.
java - 如何用 Java 开发 LBS/GIS 应用程序概述
我需要为现有应用程序开发一个基于位置的扩展程序,允许用户查看他们周围的所有其他用户(在固定的空中距离内)。现有应用程序是使用 Axis(Web 服务)+ Spring + Hibernate + MySQL 开发的。
要求是:
- Java 框架(最好是开源的,除非商业解决方案有很大的优势)。与 Hibernate、Spring 等集成优先。
- 用户需要使用标准 API(即 SOAP 或 REST)在设定的时间段内更新他/她的位置
- 用户需要能够通过发送纬度和经度或美国地址来更新位置。
- 如果 GPS 不可用,可能会对某些设备使用信号塔和/或 wifi 数据。
- 无需步行或驾车路线。不需要开车或步行距离,只需大致的空中距离。
- 该应用程序的用户不断移动(销售人员)并在设定的时间段内(每约 15 分钟)更新他们的位置
- 项目将来可能会改变以处理其他兴趣点(即仓库位置、客户位置),但这些兴趣点可能会处于固定的物理位置(与不断移动的用户相比)。
- 围绕特定用户检索用户的性能至关重要;因此将更喜欢内存映射(而不是数据库查询)。
- 此时无需渲染地图。不过这可能会改变。
我听过或看过以下术语和框架,但我不确定它们是什么意思以及使用哪一个:
- ESRI
- 形状文件
- 地理服务器
- 地理工具
- 地理信息系统
我将非常感谢简要概述我需要采取的步骤来开发这样一个项目,是否以及如何使用上述工具,哪些数据(即 GPS、Wifi、蜂窝塔)是免费提供的,我们需要哪些支付。
对一些教程或书籍的参考将不胜感激。
谢谢!
postgis - 直接在 Geodjango/PostGIS 中添加多边形
我在搞乱 Geodjango,我只想向数据库添加一个简单的多边形字段,然后在其上运行一个多边形点以确保一切正常。
这是我在views.py中的代码:
这就是我在models.py中的内容:
但是,当我尝试添加多边形 (PolygonExample.objects.create) 时,出现错误:“检查从 GEOS C 函数“GEOSWKTReader_read”返回的几何时出错。
我添加多边形的代码错了吗?我不确定我是否了解如何直接插入纬度/经度坐标。
或者这是 GEOS 安装错误?
谢谢。
sql - 缓慢的 Postgres 查询
我是 Postgres 和 SQL 的新手。我创建了以下脚本,该脚本从一个点到最近线上的投影点绘制一条线。它适用于具有相同行数的 5 到 10 个点的小型数据集;但是,在 2,000 行的 60 个点上进行查询,大约需要 12 个小时。它基于粘贴在下面的最近邻函数以及来自http://www.bostongis.com/downloads/pgis_nn.txt
http://www.bostongis.com/PrinterFriendly.aspx?content_name=postgis_nearest_neighbor_generic上提供了关于 pgis_fn_nn 的EDIT文档
缓慢的部分是 pgis_fn_nn(...)
- 我究竟做错了什么?
- 有什么技巧可以让这更快吗?
- 有没有办法可以改进这两个脚本?
- 如果我想将两个查询合并为一个,您会推荐什么?
my_script.sql
pgis_fn_nn来自http://www.bostongis.com/downloads/pgis_nn.txt
ruby-on-rails - 从 Rails 访问 PostGIS 空间数据
我需要使用 Rails 应用程序中现有的 PostGIS 数据库。到目前为止,我能够很好地访问数据库,GeoRuby 很好地将“geom”列转换为一个点对象。
我正在寻找的是一种在这些表上执行类似 ActiveRecord 查询的简单方法,例如
或类似的空间查询,如距离计算等。人。
我尝试了几个 geokit 的组合,附带的 rails 插件,但我很确定在 ruby/rails 世界中一定有更好的东西。有什么提示吗?
gis - 你怎么知道 shp 文件使用什么 SRID?
我正在尝试将 SHP 文件放入我的 PostGIS 数据库中,数据只是有点偏离。我认为这是因为我使用了错误的 SRID。PRJ文件内容如下:
这与什么 SRID 相关?更一般地说,如何根据 PRJ 文件中的信息查找 SRID?某处是否有列出所有 SRID 及其“geogcs”等价物的查找表?
使用srid=4269
和 4326 导入的数据是完全相同的结果。
这是否意味着我使用了错误的 SRID,或者这只是预期的误差范围?
shp 文件来自这里。
maps - 谷歌地球中的动态地图管理
我的目标是通过使用动态输入 Postgis 数据库的数据在谷歌地图上显示各种形状(多边形、点、线串)(我的意思是我们可以实时看到地图中的修改)。我正在寻找一种方法来做到这一点,它使用 postgis 中已经提供的空间结构(已经指定形状是线串还是多边形等),而不是解析坐标然后在谷歌地图中重新输入空间结构。我看到 google maps api 现在兼容 kml 数据格式。然后我读到我必须将 postgis 数据转换为 kml 格式。我在论坛上阅读了一些关于通过 FWTools 将 postgis 数据转换为 kml 的实际过程,但没有看到任何对我有帮助的东西。我是 kml 新手,但熟悉 postgis 和 perl 和 PHP。是否有关于将 postgis 数据转换为 kml 的过程的教程?我可以从哪里开始?谢谢你的帮助
postgresql - postgis 环境随 macport selfupdate 改变
上个月,我在我的 Mac 上使用 Leopard(10.5) 通过 macports 安装了 PostgresSql 8.4.1 和 Postgis 1.4,一切正常。然后我更新到 Snow Leopard(10.6) 仍然一切正常。昨天我尝试用 macports 安装 Gimp,安装失败。所以我做了一个“端口自我更新”,这似乎破坏了我的 Postgis 安装的一部分。
当尝试访问我的数据库中包含几何列的表时,我收到以下错误:
错误:无法加载库“/opt/local/lib/postgresql84/postgis-1.4.so”:dlopen(/opt/local/lib/postgresql84/postgis-1.4.so,10):未加载库:/opt/ local/lib/libgeos_c.1.dylib 引用自:/opt/local/lib/postgresql84/postgis-1.4.so 原因:找不到合适的图像。确实找到了:/opt/local/lib/libgeos_c.1.dylib: mach-o,但是错误的架构 SQL 状态:58P01
其他非 postgis 表仍然可以访问!
如果 postgis 可能已卸载,我已经检查了“已安装端口”,并收到以下列表:
...
postgis @1.4.0_1+postgresql84 (active)
postgresql84 @8.4.0_0
postgresql84 @8.4.1_0 (active)
postgresql84-server @8.4.0_0(活动)
...
我假设丢失的表仍在磁盘上,但没有正确引用。有没有办法在硬盘上搜索数据库,并可能更改参考?
algorithm - 如何智能降级或平滑 GIS 数据(简化多边形)?
我有详细的美国县地图,来自TIGER LINE数据集。我如何对数据进行采样、平滑或降级,以便获得更直、更四四方方、更少“嘈杂”的形状来表示地理特征——在这种情况下只是县界和州界线,但也许在一般情况下也是如此?
如果可以有效地完成采样,则可以在渲染时进行采样,或者可以生成和存储并行数据集。我正在使用PostGIS,这些线是由生成的多折线shp2pgsql
- 但是任何将波浪线缩小为对人类解释器具有大致相同意义的平滑线的解决方案都将非常有用。
eclipse - 使用休眠工具从 Postgres 逆向工程 pojos
我正在尝试从我在 Postgres 中创建的数据库中对 pojos(在 eclipse 3.4.2 中使用休眠工具插件 v3.2.4x)进行逆向工程,但我的表被忽略了。如果我在 hibernate.cfg.xml 文件中将 'public' 指定为 'hibernate.default_schema' 属性的值,它会起作用,但如果我尝试指定不同的模式,则不会生成任何内容。
我已经尝试修改案例(即下、上、骆驼),但我仍然得到相同的结果。这是我的 hibernate.cfg.xml 文件:
这是我在 pgAdmin III 中的设置图片 - http://twitpic.com/snj8i
我很确定我正在做(或错过)一些简单的事情。正如我所说,如果我将架构更改为公共,那么该架构中所有表的 pojos 都会生成!
任何人都可以帮忙吗?
非常感谢,达米安
polygon - 在 PostGIS 中,如何找到多边形内的所有点?
我正在使用带有 GIS 扩展的 PostgreSQL 以及 OpenLayers、GeoServer 等来存储地图数据。给定一个多边形,例如一个社区,我需要找到存储在某个表(例如交通灯、餐馆)中的所有 LAT/LONG 点在多边形内。或者,给定一组多边形,我想在每个多边形内找到一组点(如 GROUP BY 查询,而不是遍历每个多边形)。
这些功能是我需要编程的,还是可用的功能(作为扩展 SQL)?请详细说明。
同样对于我拥有的简单 2D 数据,我真的需要 GIS 扩展(GPL 许可证是一个限制)还是 PostgreSQL 就足够了?
谢谢!