标签: gis

获取lat/long对的街道地址

我已经看到可以从街道地址获取纬度和经度(地理编码,就像在Google Maps API中一样),但是当你知道纬度/长度已经是什么时,是否可以反过来获取街道地址?

该应用程序将是一个iPhone应用程序(以及该应用程序已经知道lat/long的原因),因此从Web服务到iPhone API的任何工作都可以.

iphone gis web-services geocoding street-address

22
推荐指数
3
解决办法
2万
查看次数

在R(邻居)中查找相邻的多边形

我开始使用SpatialPolygonsDataFrame,其中包含用于创建加纳地区地图的数据(可从http://www.diva-gis.org/datadown获取).我正在尝试创建一个矩阵,其中区域的名称为行和列名称,内部为0/1,以指示两个区域是否相邻(相邻).

我在spdep中发现了几个看起来很有希望的函数,但我无法弄清楚如何将它们用于此目的.我能够使用poly2nb创建一个包含数据的"nb"文件,但我不确定如何从这里开始,或者即使我在正确的轨道上.

我真的很感激任何帮助!谢谢!

gis r polygons

22
推荐指数
2
解决办法
6620
查看次数

查找附近点的算法?

给定一组带有x,y坐标的几百万个点,快速找到一个位置的前1000个最近点的算法是什么?"快速"在这里意味着家用电脑上大约100毫秒.

蛮力意味着进行数百万次乘法,然后对它们进行排序.虽然一个简单的Python应用程序可以在不到一分钟的时间内完成,但对于交互式应用程序来说仍然太长.

点的边界框将是已知的,因此将空间划分为简单网格是可能的.然而,点的分布有些不均匀,所以我怀疑大多数网格方块都是空的,然后突然其中一些将包含大部分点.

编辑:不必确切,实际上可能非常不准确.如果前1000名实际上只是来自前2000名的一些随机点,那就没什么大不了的了.

编辑:点集很少改变.

gis algorithm partitioning distance linear-algebra

21
推荐指数
3
解决办法
8535
查看次数

将地理坐标从度数转换为十进制

我想将地理坐标从度数转换为小数,我的数据如下:

         lat     long
105252 30°25.264 9°01.331
105253 30°39.237 8°10.811
105255 31°37.760 8°06.040
105258 31°41.190 8°06.557
105259 31°41.229 8°06.622
105260 31°38.891 8°06.281
Run Code Online (Sandbox Code Playgroud)

我有这个代码,但我不明白为什么它不起作用:

convert<-function(coord){
tmp1=strsplit(coord,"°")
tmp2=strsplit(tmp1[[1]][2],"\\.")
dec=c(as.numeric(tmp1[[1]][1]),as.numeric(tmp2[[1]]))
return(dec[1]+dec[2]/60+dec[3]/3600) 
} 
don_convert=don1
for(i in 1:nrow(don1)){don_convert[i,2]=convert(as.character(don1[i,2]));              don_convert[i,3]=convert(as.character(don1[i,3]))}
Run Code Online (Sandbox Code Playgroud)

转换函数有效,但我要求循环为我做的工作的代码不起作用.

任何建议都是适当的.

gis r

21
推荐指数
3
解决办法
2万
查看次数

为什么我不能导入geopandas?

我唯一的代码是

import geopandas
Run Code Online (Sandbox Code Playgroud)

它给了我错误

OSError: Could not find libspatialindex_c library file
Run Code Online (Sandbox Code Playgroud)

有没有人遇到过这个?我的脚本工作正常,直到出现此错误.

**请注意,未找到rtree模块是一个问题fisrt,安装后我收到了上述错误.

python gis geopandas

21
推荐指数
4
解决办法
6625
查看次数

地图路由,谷歌地图?

我一直对地图路由感兴趣,但我从来没有找到任何好的入门(甚至高级!)级别的教程.有人有任何指针,提示等吗?

更新:我主要是寻找有关如何实现地图系统的指针(数据结构,算法等).

gis mapping google-maps google-maps-api-3

20
推荐指数
3
解决办法
9413
查看次数

找到两个多边形之间最短笛卡尔距离的最快方法是什么

我有1个红色多边形50个随机放置的蓝色多边形 - 它们位于地理2D空间中.找到红色多边形与其最近的蓝色多边形之间的最短距离,最快/最快的算法是什么?

请记住,将构成多边形顶点的点作为测试距离的值并不是一个简单的例子,因为它们可能不一定是最接近的点.

所以最后 - 答案应该将最接近的蓝色多边形返回到单一的红色多边形.

这比听起来更难!

c# gis algorithm distance polygon

20
推荐指数
2
解决办法
9032
查看次数

Postgis中的2个点之间的距离,以43米为单位的srid 4326

这可能是一个简单的问题,但我不是很擅长PostGIS,也没有完全理解这一切.

基本上我有一个nodes带有POINT列(point)的table ().我在这个专栏上创建了一个索引

create index nodes__points on nodes using gist (point)
Run Code Online (Sandbox Code Playgroud)

该列是用.创建的

select addgeometrycolumn('nodes', 'points', 'POINT', 4326, 2)
Run Code Online (Sandbox Code Playgroud)

我正在使用srid 4326,因为我正在添加形式(纬度,经度)的数据.(即爱尔兰都柏林的位置= 53.353 lon = -6.264(我已加入GeomFromText('POINT(-6.264 53.535)'))的坐标系).

对于每个点,我想找到大致在1km框内的所有点,以该点为中心(所以selcet a.id, count(*) from nodes as a, nodes as b where SOME_DISTANCE_FUNCTION_HERE(a.point, b.point, 1000) group by a.id;.它不一定是精确的,只是一个粗略的人文数字.1km的bbox很好,1km的圆圈很好它不一定是1公里,只是那个数量级.

ST_Distance/ ST_DWithin的/ etc.所有都使用SRID的单位,4326/WGS64是度(因此1 = 1度的纬度/经度).但我想用米.

我试过ST_distance_sphere并且st_dwithin可以使用米,但如果我这样做,则explain显示索引未被使用.

我怎样才能大致得到我想要的东西,使用地理索引?

更新:这是在PostgreSQL 9.1和PostGIS 2.0 svn构建上.

gis postgresql postgis geospatial

20
推荐指数
2
解决办法
2万
查看次数

leaflet.js中的图层排序

如何强制在Leaflet中添加到地图的新图层成为底图上的第一个图层?

我找不到一种方法来轻松更改图层的顺序,这是一个非常基本的GIS功能.我错过了什么吗?

gis leaflet

20
推荐指数
3
解决办法
2万
查看次数

WorldWind视线

我已经找到了如何在WorldWind中呈现视线的示例:http://patmurris.blogspot.com/2008/04/ray-casting-and-line-of-sight-for-wwj.html (其中a有点旧,但似乎仍然有效).这是示例中使用的(下面稍微修改过代码以使用WorldWind 2.0).看起来代码也使用RayCastingSupport(JavadocCode)来实现其魔力.

我想弄清楚的是,如果这个代码/示例使用地球的曲率/和/或地平线的距离作为其逻辑的一部分.只看代码,我不确定我完全理解它在做什么.

例如,如果我试图找出地球上方200米处的人可以"看到"的地形,是否会考虑到地平线的距离?

修改代码以考虑到地平线的距离/地球的曲率(如果还没有),需要做些什么?

package gov.nasa.worldwindx.examples;

import gov.nasa.worldwind.util.RayCastingSupport;
import gov.nasa.worldwind.view.orbit.OrbitView;
import gov.nasa.worldwind.geom.Angle;
import gov.nasa.worldwind.geom.Position;
import gov.nasa.worldwind.geom.Sector;
import gov.nasa.worldwind.geom.Vec4;
import gov.nasa.worldwind.globes.Globe;
import gov.nasa.worldwind.layers.CrosshairLayer;
import gov.nasa.worldwind.layers.RenderableLayer;
import gov.nasa.worldwind.render.*;

import javax.swing.*;
import javax.swing.border.CompoundBorder;
import javax.swing.border.TitledBorder;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;


public class LineOfSight extends ApplicationTemplate
{
    public static class AppFrame extends ApplicationTemplate.AppFrame
    {
        private double samplingLength = 30; // Ray casting sample length
        private int centerOffset = 100; // meters …
Run Code Online (Sandbox Code Playgroud)

java gis worldwind

20
推荐指数
1
解决办法
1678
查看次数