我有一个Solr索引,其中一组坐标存储为一个Location类型; 我想查询此字段具有非null值的文档.
在Location字段上执行NOT NULL检查的查询语法是什么?
根据mongoDB文档(链接),如果要将地理空间信息存储在文档字段中,则有两个选项,即数组或嵌入文档,顺序应始终为经度,纬度.
如果我想使用嵌入式文档,我该如何确保字段的顺序?
或者嵌入文档中的字段是否必须具有特定名称?
我在地球上有一个线段(大圆圈部分).线段由其末端的坐标定义.显然,两个点定义了两个线段,所以假设我对较短的线段感兴趣.
我得到了第三点,我正在寻找线和点之间的(最短)距离.
所有坐标均以经度\纬度(WGS 84)给出.
我该如何计算距离?
任何合理的编程语言都可以使用解决方案.
在询问特定的代码示例之前,我只想询问是否可以进行类似这样的伪代码的查询:
从表格中选择项目,其中lat/lon = - 在某个纬度/经度点的x英里 -
那可行吗?或者我是否必须跳过一些箍?任何可以推荐的好方法都会很棒!
我正在寻找一个允许我进行地理空间查询的javascript库.我知道OpenLayers和GoogleMaps,但这两个不支持联合交叉等等.
+----+
| |
| +-+--+
+--+-+ |
| |
+----+
Run Code Online (Sandbox Code Playgroud)
至
+----+
| |
| +--+
+--+ |
| |
+----+
Run Code Online (Sandbox Code Playgroud) 我正在使用SQL Server 2008空间数据类型.我有一个表所有状态(作为多边形)作为数据类型GEOMETRY.现在我想检查作为数据类型GEOGRAPHY的点的坐标(纬度,经度)是否在该状态内.
我找不到使用新空间数据类型的任何示例.目前,我有一个多年前实施的解决方法,但它有一些缺点.
我有SQL Server 2008和2012.如果新版本有一些增强功能,我也可以开始使用它.
谢谢.
更新1:
我正在添加一个代码示例,以便更清晰.
declare @s geometry --GeomCol is of this type too.
declare @z geography --GeogCol is of this type too.
select @s = GeomCol
from AllStates
where STATE_ABBR = 'NY'
select @z = GeogCol
from AllZipCodes
where ZipCode = 10101
Run Code Online (Sandbox Code Playgroud) sql-server spatial geospatial sql-server-2008 sql-server-2008-r2
我想用ggplot2(v.9)绘制世界地图,如果有信息,它会合并两个部分.以下示例说明:
library(rgdal)
library(ggplot2)
library(maptools)
# Data from http://thematicmapping.org/downloads/world_borders.php.
# Direct link: http://thematicmapping.org/downloads/TM_WORLD_BORDERS_SIMPL-0.3.zip
# Unpack and put the files in a dir 'data'
gpclibPermit()
world.map <- readOGR(dsn="data", layer="TM_WORLD_BORDERS_SIMPL-0.3")
world.ggmap <- fortify(world.map, region = "NAME")
n <- length(unique(world.ggmap$id))
df <- data.frame(id = unique(world.ggmap$id),
growth = 4*runif(n),
category = factor(sample(1:5, n, replace=T)))
## noise
df[c(sample(1:100,40)),c("growth", "category")] <- NA
ggplot(df, aes(map_id = id)) +
geom_map(aes(fill = growth, color = category), map =world.ggmap) +
expand_limits(x = world.ggmap$long, y = world.ggmap$lat) +
scale_fill_gradient(low = "red", high …Run Code Online (Sandbox Code Playgroud) 我想实现一项服务,根据用户的地理坐标,可以检测两个用户是否实时位于同一位置.
为了实时和扩展,我似乎应该使用像Redis这样的分布式内存数据存储.我已经研究过使用geohashing,但问题是彼此接近的点可能并不总是共享相同的哈希前缀.因为我有兴趣找到两个用户是否足够接近他们彼此相邻的位置,所以geohashing可能有点过分.
当然,简单的解决方案就是测试地理坐标对是否落在彼此的小距离内.但AFAIK,Redis和其他内存数据采集器没有地理空间索引来支持这种查找.
实现这个的最佳方法是什么?
由于Geojson是实际的json,我想我可以使用mongoimport从.geojson文件将数据加载到我的MongoDB数据库中.
但我收到以下错误:
exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Run Code Online (Sandbox Code Playgroud)
该文件是25MB,这是它的一个片段:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "node/2661561690",
"properties": {
"timestamp": "2014-02-08T17:58:24Z",
"version": "1",
"changeset": "20451306",
"user": "Schandlers",
"uid": "51690",
"natural": "tree",
"id": "node/2661561690"
},
"geometry": {
"type": "Point",
"coordinates": [
-66.9162255,
10.5056439
]
}
},
// ... Omitted data
{
"type": "Feature",
"id": "node/2664472516",
"properties": {
"timestamp": "2014-02-10T04:27:30Z",
"version": "2",
"changeset": "20477473",
"user": "albertoq",
"uid": "527105",
"name": "Distribuidora Brithijos (Aceites)", …Run Code Online (Sandbox Code Playgroud) 如何检查地理点是否在给定shapefile的区域内?
我设法在python中加载一个shapefile,但无法进一步.
geospatial ×10
geo ×2
geolocation ×2
mongodb ×2
distance ×1
geocoding ×1
geohashing ×1
geojson ×1
geometry ×1
ggplot2 ×1
gis ×1
javascript ×1
mysql ×1
python ×1
r ×1
redis ×1
shapefile ×1
solr ×1
spatial ×1
sql-server ×1
union ×1