如何从clojureql查询postgres Point类型?我希望使用PostGIS功能,但clojureql似乎不包含此功能.
我正在使用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
有没有人知道(理想情况下,参考),LinqToSQL或EntityFramework v4的VS2010版本是否支持SQL 2008空间数据类型的查询?
我有一个SQL Server实例,我已经将链接服务器添加到另一个SQL实例.我在链接服务器上访问的表包含空间类型.当我尝试查询表时,我收到一个错误:
在分布式查询中不允许使用CLR类型公开列的对象.请使用传递查询来访问远程对象.
如果我使用OPENQUERY相同的查询,我会收到另一个错误:
当前命令发生严重错误.结果(如果有的话)应该被丢弃.
有没有办法通过链接服务器查询包含空间类型的表?
这是我一直在努力的玩具示例
# Make points
point1 <- c(.5, .5)
point2 <- c(.6, .6)
point3 <- c(3, 3)
mpt <- st_multipoint(rbind(point1, point2, point3)) # create multipoint
# Make polygons
square1 <- rbind(c(0, 0), c(1, 0), c(1,1), c(0, 1), c(0, 0))
square2 <- rbind(c(0, 0), c(2, 0), c(2,2), c(0, 2), c(0, 0))
square3 <- rbind(c(0, 0), c(-1, 0), c(-1,-1), c(0, -1), c(0, 0))
mpol <- st_multipolygon(list(list(square1), list(square2), list(square2))) # create multipolygon
# Convert to class' sf'
pts <- st_sf(st_sfc(mpt))
polys <- st_sf(st_sfc(mpol))
# …Run Code Online (Sandbox Code Playgroud) 我在C#中找到了一些开源的R-Tree实现,但没有一个带有文档,也没有被开发者以外的其他人使用的迹象.
我试图为某些数据找到(但不是绘制!)轮廓线:
from pprint import pprint
import matplotlib.pyplot
z = [[0.350087, 0.0590954, 0.002165], [0.144522, 0.885409, 0.378515],
[0.027956, 0.777996, 0.602663], [0.138367, 0.182499, 0.460879],
[0.357434, 0.297271, 0.587715]]
cn = matplotlib.pyplot.contour(z)
Run Code Online (Sandbox Code Playgroud)
我知道cn包含我想要的轮廓线,但我似乎无法找到它们.我尝试了几件事:
print dir(cn)
pprint(cn.collections[0])
print dir(cn.collections[0])
pprint(cn.collections[0].figure)
print dir(cn.collections[0].figure)
Run Code Online (Sandbox Code Playgroud)
无济于事.我知道cn是一个ContourSet,并且cn.collections是一个LineCollections 数组.我认为a LineCollection是一系列线段,但我无法弄清楚如何提取这些段.
我的最终目标是创建一个KML文件,在世界地图上绘制数据,以及该数据的轮廓.
但是,由于我的一些数据点很接近,而其他数据点很远,我需要构成轮廓的实际多边形(线串),而不仅仅是轮廓的光栅化图像.
我有点惊讶qhull不做这样的事情.
使用Mathematica ListContourPlot然后导出为SVG工作,但我想使用开源的东西.
我不能使用众所周知的CONREC算法,因为我的数据不在网格上(对于给定的x值,并不总是有多个y值,反之亦然).
该解决方案不需要python,但必须是Linux上的开源和可运行的.
也许我错过了什么.我有一个"Geography"数据类型的SQL Server列.
我想在我的c#代码中使用DbGeography类型.有什么方法可以从sql的地理位置转换或转换为dbgeography吗?
我正在寻找一个能够对lat/lon数据集进行空间计算的Java库.以下是我正在寻找的一些功能:
我不想要的:
该组织计划最终获得Oracle Spatial的许可证(因此,此时将覆盖空间搜索),但是现在我需要在不依赖数据库提供的空间的情况下在小数据集上实现我上面提到的分析功能.支持.
我有一个SpatialPolygonsDataFrame,包含11589个"polygons"类对象.这些对象中的10699个正好由1个多边形组成,但其余对象由多个多边形(2到22)组成.
如果一个对象由多个多边形组成,则可能有三种情况:
Stackoverflow帮助我正确地绘制了这样一个空间对象(绘制由多个多边形定义的空间区域).
但是,我仍然无法回答如何确定一个点(由经度/纬度定义)是否在多边形中.
以下是我的代码.我试图point.in.polygon在sp包中应用该函数,但是没有办法处理这样一个由多个多边形/孔组成的对象.
# Load packages
# ---------------------------------------------------------------------------
library(maptools)
library(rgdal)
library(rgeos)
library(ggplot2)
library(sp)
# Get data
# ---------------------------------------------------------------------------
# Download shape information from the internet
URL <- "http://www.geodatenzentrum.de/auftrag1/archiv/vektor/vg250_ebenen/2012/vg250_2012-01-01.utm32s.shape.ebenen.zip"
td <- tempdir()
setwd(td)
temp <- tempfile(fileext = ".zip")
download.file(URL, temp)
unzip(temp)
# Get shape file
shp <- file.path(tempdir(),"vg250_0101.utm32s.shape.ebenen/vg250_ebenen/vg250_gem.shp")
# Read in shape file
map <- readShapeSpatial(shp, proj4string = CRS("+init=epsg:25832"))
# Transform the geocoding from UTM to Longitude/Latitude
map <- …Run Code Online (Sandbox Code Playgroud) spatial ×10
geospatial ×4
sql-server ×3
polygon ×2
r ×2
.net ×1
c#-4.0 ×1
clojure ×1
contour ×1
gis ×1
great-circle ×1
java ×1
linq-to-sql ×1
matplotlib ×1
numpy ×1
postgis ×1
postgresql ×1
python ×1
r-sf ×1
r-tree ×1
tree ×1