Tag: gis

你如何使用共享数据库在Heroku上进行GIS查询?

我有一张经纬度地理位置的经纬度表。 我希望我的数据库查询返回它们的过滤列表,按固定点的距离排序。 我探索过几个选项: Postgresql的earthdistance contrib可能最接近我的需求; 但是,我没有发现这是在heroku的数据库服务器上安装的迹象。 PostGIS是最常用的GIS解决方案,但heroku没有安装它,heroku支持证实他们不打算在不久的将来这样做。 我需要一个适用于Rails3的解决方案。 如果没有更好的选择,我将不得不实现我自己的hasrsinefunction,这肯定似乎重新发明轮子。 有更好的选择吗?

按最近的顺序排列 – PostGIS,GeoRuby,spatial_adapter

我正在尝试执行查找最接近current_user的记录的订单查询。 我知道这两点之间的距离是: current_location.euclidean_distance(@record.position) 如何将其用于PostGIS(或active_record / spatial_adapter)查询?

如何转换Shapefile的坐标?

我正在尝试将邻居数据存入我的应用程序,并且我遇到了我正在使用的数据的问题,我从这里得到了这些数据。 此文件包含具有旧金山邻域的shapefile。 我正在运行Ruby on Rails框架,我目前正在使用GeoRuby来解析shapefile。 代码如下所示: def self.run_import shpfile = ‘/path/to/realtor_neighborhoods/realtor_neighborhoods’ ShpFile.open(shpfile) do |shp| shp.each do |shape| # This gets the first (and only) Polygon from each MultiPolygon polygon = shape.geometry.geometries.first puts polygon.inspect end end end 代码能够解析文件,但我无法理解解释的坐标。 对于有效的纬度和经度,当我期望坐标在-180和180之间时,所有点都具有数百万的值。 看一个示例点: , 这些坐标值的格式是什么? 如何将它们转换为对我有意义的值? (即基于SRID 4326 WGS84空间参考系统的纬度/经度) 先感谢您!

我如何使用(Ruby)RGeo转换(取消)项目坐标

我开始使用如何转换Shapefile的坐标? 。 那里的反应使我开始[我认为]正确的轨道,但我仍然无法解决我的问题。 一个问题是我还没有找到正确的预测: https : //gis.stackexchange.com/questions/13330/how-can-i-correctly-transform-unproject-from-lcc 编辑:gis网站上的那个问题已得到解答,我能够使用PROJ命令行工具cs2cs重现正确的转换。 它看起来像这样: larry$ cs2cs -f “%.8f” +proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs +to +proj=lonlat +datum=WGS84 +ellps=WGS84 6011287.4999795845 2100857.2499904726 -122.40375492 37.74919006 0.00000000 现在,我进行了正确的转换,我能够使用RGeo以简单的forms尝试相同的事情: ruby-1.9.2-p180 :001 > projection_str = ‘ +proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs’ => ” +proj=lcc +lat_1=37.06666666666667 […]

如何通过lat / lng 查找高程数据

我正在计划一个应用程序,它需要能够通过lat / lng查找地理点的高程。 理想情况下,我想要一些在世界范围内可行的东西,但仅限于美国也足够了。 我已经看过使用USGS Elevation Query Web服务 ,但是它只允许你一次查询一个点,我需要查询几百个,可能多达几千个。 我也考虑过自己下载和托管国家海拔数据集,但这几乎是100演出,显然USGS只允许你一次下载1.5演出。 任何熟悉GIS的人都能为我推荐一个好的解决方案吗? 我正在寻找尽可能轻巧简单的东西。 我对GIS是全新的,所以我非常感谢有关获取数据的位置,如何存储数据以及使用数据时如何/使用的建议。 提前致谢。 编辑:只是为了澄清,我需要的数据点不是预先确定的。 它们是用户选择的任意点(通过与谷歌地图混搭进行交互),因此我需要能够查询任何点,而不仅仅是一个小子集。 编辑2:如果没有轻量级或简单的解决方案,我将采取我能得到的任何东西=)