标签: spatial

知道任何C#空间数据库吗?

我正在寻找在.NET中实现空间查询而不使用SQL2008.第一个要求是能够创建(BTree样式)空间索引并能够查询它.

尽管SQL 2008附带了针对类型的.NET库,但您需要将SQL用于空间索引.

是否有人使用任何.NET库来处理空间数据(操作系统或商业)?我正在看NetTopologySuite,但它看起来很安静,我不想要一个死库.

.net c# spatial spatial-index

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

我的数据库中是否需要空间索引?

我正在设计一个需要在数据库中保存几何形状的应用程序.我还没有选择数据库管理系统.

在我的应用程序中,所有数据库查询都有一个边界框作为输入,作为输出我想要该数据库中的所有形状.我知道具有空间索引的数据库用于这种应用程序.但是在我的应用程序中,不会有任何类型的问题"给我x/y附近的对象"或者在GIS应用程序中有用的其他更复杂的查询.

我计划拥有一个没有空间索引的数据库,并且查询类似于:

SELECT * FROM shapes WHERE x < max_x AND x > min_x AND y < max_y AND y > min_y
Run Code Online (Sandbox Code Playgroud)

并且列和列上有索引.我可以看到,我真的不需要一个具有空间索引的数据库,无论我的应用程序接近那种应用程序.x (double)y (double)

即使我想要附近的查询,那么我可以围绕这一点创建一个足够大的边界框.或者这会导致表现不佳?

我真的需要空间数据库吗?何时需要空间索引?

编辑: 搜索查询实际上比我上面写的更先进,因为我处理几何形状我将输入一个边框,它将返回多个形状(带有边界框)内部或干扰框在查询中.但在阅读了所有好的答案之后,我仍然认为我可以在没有空间索引的情况下做到这一点.

database gis spatial geospatial bounding-box

8
推荐指数
1
解决办法
1539
查看次数

Solr vs. Sphinx用于空间搜索

我的任务是选择我们即将在即将开展的项目中使用的全文搜索引擎.基于我所读到的,我倾向于Solr,但我有点担心空间搜索.除了一些其他参数(关键字,类别等),我们希望能够指定位置和最大距离(例如,在距离亚利桑那州坦佩25英里的范围内).我们希望能够按距离对结果进行排序.

空间SOLR显然是相当新的,并不完全清楚它的成熟度.还有一些其他选项(手动计算然后反转距离,或solr-spatial-light.

我的问题基本上是:Spatial Solr(或solr-spatial-light)是否足够准备黄金时段来处理我上面描述的情况,或者我们最好不要使用Sphinx?

我也有兴趣听听实现其中任何一个的一般经验,特别是php.

php solr sphinx spatial

8
推荐指数
1
解决办法
2539
查看次数

与spplot相比,如何使用ggplot改进空间栅格地图?

与spplot()图例相比,如何使用ggplot改进空间栅格地图的图例?

我想使用ggplot()而不是ssplot()绘制空间地图,但是与spplot相比,我想提高一些方面:

  1. 创建一个ggplot图例,从小(底部)到大值(顶部)
  2. 在ggplot图例中有与ssplot()图例类似的中断,以便我知道每种颜色的边界.

## load packages
require(raster)
require(ggplot2)
require(rgdal)
require(RColorBrewer)
set.seed(1)

r <- raster(xmn=-110, xmx=-90, ymn=40, ymx=60, ncols=40, nrows=40,
          crs="+proj=lcc +lat_1=48 +lat_2=33 +lon_0=-100
+ellps=WGS84")
r <- setValues(r,matrix(rnorm(1600, mean=0.4,sd=0.2))) 

## 1. spatial map with spplot
cuts <-seq(minValue(r),maxValue(r),length.out=8)
cuts = round(cuts,digits=2)
col.regions = brewer.pal(length(cuts)+3-1, "RdYlGn")
print( 
spplot(as(r, 'SpatialGridDataFrame'),at=cuts,
col.regions=col.regions,
colorkey=list(labels=list(at=cuts),at=cuts), pretty=TRUE,
scales=list(draw=T)
) 
)

## 2. spatial map with ggplot
p = rasterToPoints(r); df = data.frame(p)
colnames(df) = c("x", "y", "NDVI")

p  <- ggplot(data=df) + geom_tile(aes(x, y, fill=NDVI)) +
coord_equal() + …
Run Code Online (Sandbox Code Playgroud)

r raster spatial map ggplot2

8
推荐指数
1
解决办法
5247
查看次数

如何将形状文件导入MySQL

我需要将shape文件中的空间数据导入MySQL表.我可以导入PostGreSQL.MySQL的任何指针.我需要MySQL表中的数据.

mysql import spatial shapefile

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

如何使用MySQL Spatial Extensions创建一个半径和坐标为中心的圆几何?

我正在尝试使用中心和半径的坐标在MySQL中创建圆几何.我到处搜索...我在网站上的MySQL文档中找到的所有内容都是多边形的.可能是我在找错了地方.任何人都可以帮助我使用适当的SQL来帮助我创建一个表,该表将这个Circle几何存储为表中的一列吗?另外,我甚至不确定在MySQL中是否有办法这样做?我正在使用的版本是 MySQL 5.6.

提前致谢.

mysql spatial spatial-query

8
推荐指数
1
解决办法
4493
查看次数

当REST调用返回数据时,Neo4j Spatial"WithinDistance"Cypher查询返回空

我有一个看似正确配置的空间图层和索引,并且可以使用findGeometriesWithinDistance REST API调用成功查询节点.

POST /db/data/ext/SpatialPlugin/graphdb/findGeometriesWithinDistance {"layer":"geom","pointX":15.0,"pointY":60.0,"distanceInKm":100.0}
Run Code Online (Sandbox Code Playgroud)

但是,当使用cypher进行查询时,我没有得到任何结果(我试过没有运气就颠倒了60.0和15.0的顺序):

START n=node:geom('withinDistance:[60.0, 15.0, 500.0]') return n;
Run Code Online (Sandbox Code Playgroud)

Cyper返回:

==> +---+
==> | n |
==> +---+
==> +---+
==> 0 row
==> 
==> 13 ms
Run Code Online (Sandbox Code Playgroud)

休息:

200 OK
==> [ {
==>   "paged_traverse" : "http://localhost:7474/db/data/node/14472/paged/traverse/{returnType}{?pageSize,leaseTime}",
==>   "outgoing_relationships" : "http://localhost:7474/db/data/node/14472/relationships/out",
==>   "data" : {
==>     "lon" : 15.2,
==>     "bbox" : [ 15.2, 60.1, 15.2, 60.1 ],
==>     "RaceName" : "Parador Es Muy Caliente",
==>     "lat" : 60.1,
==>     "gtype" : 1
==>   },
==> …
Run Code Online (Sandbox Code Playgroud)

spatial neo4j

8
推荐指数
2
解决办法
2191
查看次数

使用DB :: raw表达式的POINT/POLYGON等的Laravel模型

我有一个使用像地理空间领域的一些车型POINT,POLYGONMULTIPOLYGON.我想告诉我的模型以特殊方式处理这些属性,以便我获得所需的模型属性集.

示例:每个常规Model::find()或其他Eloquent方法应在存储之前或检索数据库值之后应用一些自定义代码.

$area->surfacePOLYGONMySQL中的一个字段,但在我的模型类中,我想$area->surfare作为一个点数组来处理.

SELECT因此,我要像1)使用原始表达式来获取值的文本表示获取值,和2)通过一些自定义的PHP代码到WKT字符串转换成一个数组.

INSERT/UPDATE我想取属性值(数组)和1)将其转换为WKT字符串,然后2)使用存储该值的DB原始语句将其写入数据库.

我想在一个字段的基础上设置它,而不是作为每个字段的特殊get/set函数,而不是在控制器中 - 因为我有许多地理空间字段.

有没有办法在Laravel实现这一目标?

(同一个问题的一个更抽象的版本,就是我如何创建操作实际SQL查询的属性值的代码,而不仅仅是通过mutators和accessors进行一些基于值的操作)

更新: 深入了解Laravel Doc和API,我发现这个Eloquent::newQuery()方法可能是我需要操作的吗?这会用于任何查询,无论是否SELECT,INSERTUPDATE

php mysql spatial laravel laravel-4

8
推荐指数
1
解决办法
4934
查看次数

R中的空间聚类(简单示例)

我有这么简单 data.frame

 lat<-c(1,2,3,10,11,12,20,21,22,23)
 lon<-c(5,6,7,30,31,32,50,51,52,53)
 data=data.frame(lat,lon)
Run Code Online (Sandbox Code Playgroud)

想法是基于距离找到空间聚类

首先,我绘制地图(lon,lat):

plot(data$lon,data$lat)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

很明显我有三个基于点位置之间距离的聚类.

为此目的,我在R中尝试了这个代码:

d= as.matrix(dist(cbind(data$lon,data$lat))) #Creat distance matrix
d=ifelse(d<5,d,0) #keep only distance < 5
d=as.dist(d)
hc<-hclust(d) # hierarchical clustering
plot(hc)
data$clust <- cutree(hc,k=3) # cut the dendrogram to generate 3 clusters
Run Code Online (Sandbox Code Playgroud)

这给出了:

在此输入图像描述

现在我尝试使用簇中的颜色绘制相同的点

plot(data$x,data$y, col=c("red","blue","green")[data$clust],pch=19)
Run Code Online (Sandbox Code Playgroud)

结果如下

在此输入图像描述

这不是我想要的.

实际上,我想找到像这样的情节

在此输入图像描述

谢谢你的帮助.

r hierarchical-clustering spatial geospatial

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

空间理解受小范围限制

我正在与Unity中的Hololens合作,试图绘制一个大面积(15x15x25)米的地图.我可以使用SpatialMapping预制件映射整个区域,但我想对该网格进行一些空间处理,以使地板和墙壁平滑.我一直试图用SpatialUnderstanding它,但似乎有一个硬限制你可以扫描这个区域的大小,这已经由hololens论坛线程详细说明.

目前,我并不了解数据的管道从工作SpatialMappingSpatialUnderstanding.为什么我不能简单地使用从产生的网格SpatialMappingSpatialUnderstanding?有没有更好的方法来创建光滑的表面?

c# spatial unity-game-engine hololens

8
推荐指数
1
解决办法
203
查看次数