我已经看到可以从街道地址获取纬度和经度(地理编码,就像在Google Maps API中一样),但是当你知道纬度/长度已经是什么时,是否可以反过来获取街道地址?
该应用程序将是一个iPhone应用程序(以及该应用程序已经知道lat/long的原因),因此从Web服务到iPhone API的任何工作都可以.
我开始使用SpatialPolygonsDataFrame,其中包含用于创建加纳地区地图的数据(可从http://www.diva-gis.org/datadown获取).我正在尝试创建一个矩阵,其中区域的名称为行和列名称,内部为0/1,以指示两个区域是否相邻(相邻).
我在spdep中发现了几个看起来很有希望的函数,但我无法弄清楚如何将它们用于此目的.我能够使用poly2nb创建一个包含数据的"nb"文件,但我不确定如何从这里开始,或者即使我在正确的轨道上.
我真的很感激任何帮助!谢谢!
给定一组带有x,y坐标的几百万个点,快速找到一个位置的前1000个最近点的算法是什么?"快速"在这里意味着家用电脑上大约100毫秒.
蛮力意味着进行数百万次乘法,然后对它们进行排序.虽然一个简单的Python应用程序可以在不到一分钟的时间内完成,但对于交互式应用程序来说仍然太长.
点的边界框将是已知的,因此将空间划分为简单网格是可能的.然而,点的分布有些不均匀,所以我怀疑大多数网格方块都是空的,然后突然其中一些将包含大部分点.
编辑:不必确切,实际上可能非常不准确.如果前1000名实际上只是来自前2000名的一些随机点,那就没什么大不了的了.
编辑:点集很少改变.
我想将地理坐标从度数转换为小数,我的数据如下:
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)
转换函数有效,但我要求循环为我做的工作的代码不起作用.
任何建议都是适当的.
我唯一的代码是
import geopandas
Run Code Online (Sandbox Code Playgroud)
它给了我错误
OSError: Could not find libspatialindex_c library file
Run Code Online (Sandbox Code Playgroud)
有没有人遇到过这个?我的脚本工作正常,直到出现此错误.
**请注意,未找到rtree模块是一个问题fisrt,安装后我收到了上述错误.
我一直对地图路由感兴趣,但我从来没有找到任何好的入门(甚至高级!)级别的教程.有人有任何指针,提示等吗?
更新:我主要是寻找有关如何实现地图系统的指针(数据结构,算法等).
我有1个红色多边形和50个随机放置的蓝色多边形 - 它们位于地理2D空间中.找到红色多边形与其最近的蓝色多边形之间的最短距离,最快/最快的算法是什么?
请记住,将构成多边形顶点的点作为测试距离的值并不是一个简单的例子,因为它们可能不一定是最接近的点.
所以最后 - 答案应该将最接近的蓝色多边形返回到单一的红色多边形.
这比听起来更难!
这可能是一个简单的问题,但我不是很擅长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构建上.
如何强制在Leaflet中添加到地图的新图层成为底图上的第一个图层?
我找不到一种方法来轻松更改图层的顺序,这是一个非常基本的GIS功能.我错过了什么吗?
我已经找到了如何在WorldWind中呈现视线的示例:http://patmurris.blogspot.com/2008/04/ray-casting-and-line-of-sight-for-wwj.html (其中a有点旧,但似乎仍然有效).这是示例中使用的类(下面稍微修改过代码以使用WorldWind 2.0).看起来代码也使用RayCastingSupport(Javadoc和Code)来实现其魔力.
我想弄清楚的是,如果这个代码/示例使用地球的曲率/和/或地平线的距离作为其逻辑的一部分.只看代码,我不确定我完全理解它在做什么.
例如,如果我试图找出地球上方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) gis ×10
algorithm ×2
distance ×2
r ×2
c# ×1
geocoding ×1
geopandas ×1
geospatial ×1
google-maps ×1
iphone ×1
java ×1
leaflet ×1
mapping ×1
partitioning ×1
polygon ×1
polygons ×1
postgis ×1
postgresql ×1
python ×1
web-services ×1
worldwind ×1