在Python中,如何找到两个圆共同的所有整数点?
例如,假设两(大小相等的)圆的维恩图状交叉点,与中心点(x1,y1)和(x2,y2)和半径r1=r2.另外,我们已经知道圆圈的两个交点是(xi1,yi1)和(xi2,yi2).
如何(x,y)以有效的方式生成两个圆圈中包含的所有点的列表?也就是说,绘制一个包含交叉点的框并迭代它是很简单的,检查给定点是否在两个圆内,但是有更好的方法吗?
我知道如何为2D情况(x和y)实现n log n最接近的点算法(Shamos和Hoey).然而,对于给出纬度和经度的问题,不能使用这种方法.使用半正弦公式计算两点之间的距离.
我想知道是否有某种方法可以将这些纬度和经度转换为它们各自的x和y坐标并找到最接近的点对,或者是否有其他技术可以用来做它.
我有一个充满积分的文本文件.它们在每一行上由逗号限制的(x,y)对分隔开.例如.
-43.1234,40.1234\n
-43.1244,40.1244\n
etc.
Run Code Online (Sandbox Code Playgroud)
我现在需要围绕这些点创建一个多边形.多边形必须有一个15公里的缓冲区.我无法访问ArcGIS或任何其他为我提供此功能的GIS,所以此时,我想知道是否有人有数学帮助我开始?
我有一些图表,其中X值是文本,Y值是数字.如果条形图的Y值小于零,我想为每个条形颜色着色,如果大于或等于零,则为绿色.此外,如果条形的X值是"NET CHANGE",我需要条形为黄色.我按照之前的StackOverflow线程中的说明进行操作:使用基于类别标签的VBA更改条形颜色.
我得到运行时错误451属性让过程没有定义,属性get过程没有返回一个对象.
我的代码如下:
For chartIterator = 1 To ActiveSheet.ChartObjects.count
For pointIterator = 1 To ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator).Chart.SeriesCollection(1).Points.count
If ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator).Chart.SeriesCollection(1).Values(pointIterator) >= 0 Then
ActiveWorkbook.Sheets("Sheet1").ChartObjects(chartIterator).Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(146, 208, 80)
Else
ActiveWorkbook.Sheets("Due To Chart").ChartObjects(chartIterator).Chart.SeriesCollection(1).Points(pointIterator).Interior.Color = _
RGB(255, 0, 0)
End If
Next pointIterator
Next chartIterator
Run Code Online (Sandbox Code Playgroud)
错误出现在IF语句中.我也试过.Points(pointIterator).Value,它给我一个"没有为这个对象定义的属性或方法"错误.
对我做错了什么的想法?
在此先感谢您的帮助.
是否有特殊的骨干 - 格式化数字的方式?我想用两个小数点显示它们,如"2.00"中的"2".
这应该在tepmlate吗?
这是模板中的一个示例:
<td><input value="<%- price %>"></td>
Run Code Online (Sandbox Code Playgroud)
在Angular.js中你可以使用表达式和过滤器来实现这一点,这在骨干中是怎样的?
我想用频率数据拟合离散广义β分布(DGBD).
数据如下所示:
freq = c(1116, 2067, 137 , 124, 643, 2042, 55 ,47186, 7504, 1488, 211, 1608,
3517 , 7 , 896 , 378, 17 ,3098, 164977 , 601 , 196, 637, 149 , 44,2 , 1801, 882 , 636,5184, 1851, 776 , 343 , 851, 33 ,4011, 209, 715 ,
937 , 20, 6922, 2028 , 23, 3045 , 16 , 334, 31 , 2)
Rank = rank(-freq, ties.method = c("first") )
p = freq/sum(freq)
Run Code Online (Sandbox Code Playgroud)
log.f …Run Code Online (Sandbox Code Playgroud) 我正在做一些工作,我需要生成a)随机空间点b)非随机空间点,在多边形上,即b)点概率取决于例如东西渐变,或距某些点源的距离或者是其他东西
对于a)我可以使用包中的spsample()命令在多边形上生成随机点sp,如下所示:
# Load a spatial polygon from maptools package
library(maptools)
nc <- readShapePoly(system.file("shapes/sids.shp", package="maptools")[1], proj4string=CRS("+proj=longlat +datum=NAD27"))
plot(nc)
library(sp)
pts <- spsample(nc, 100, type="random")
plot(nc)
points(pts, pch=19, col="red")
Run Code Online (Sandbox Code Playgroud)
这给出了我想要的a).但是,这可以修改为b)所以东部比西部更有可能吗?(虽然仍然可以指定我想要100分?)
我一直在研究R中一个相当复杂的图表.我有一个带有表面的线框,点分布在X,Y,Z空间中(例如在表面下面和上面).
问题在于情节不会"看起来"像点在表面之下.
我试图弄清楚如何最好地可视化此图表,使点看起来在表面下.线框和云的一些示例代码来自此处: R-List Posting
示例中的代码:
library(lattice)
surf <-
expand.grid(x = seq(-pi, pi, length = 50),
y = seq(-pi, pi, length = 50))
surf$z <-
with(surf, {
d <- 3 * sqrt(x^2 + y^2)
exp(-0.02 * d^2) * sin(d)
})
g <- surf
pts <- data.frame(x =rbind(2,2,2), y=rbind(-2,-2,-2), z=rbind(.5,0,-.5))
wireframe(z ~ x * y, g, aspect = c(1, .5),
drape=TRUE,
scales = list(arrows = FALSE),
pts = pts,
panel.3d.wireframe =
function(x, y, z,
xlim, ylim, zlim,
xlim.scaled, ylim.scaled, zlim.scaled,
pts, …Run Code Online (Sandbox Code Playgroud) 问题就在这里,
已经对此进行了多项研究,但没有找到任何明确且解释良好的解决方案。有些人正在谈论类似st_distance或 之类的函数st_within,它们引用 mysql/mariadb 版本,但这些函数似乎没有真正的文档,并且似乎不适合我的问题。
所以我想做的是:
获取(lat,ln)在 中定义半径的圆内的所有空间点KILOMETRES。
用户将给出一个范围在 1 到 100 公里之间的半径,并将收到该半径内的所有数据库记录。
“ points”表看起来像这样:
ID -- POINT -- SOMETEXT
Run Code Online (Sandbox Code Playgroud)
点是使用的空间类型点mySql(>5.6) / mariaDb(5.5.40) (lat,lng)
所以,查询应该如下所示:
"SELECT * FROM points WHERE (function... to get distance) <= definedDistance"
Run Code Online (Sandbox Code Playgroud)
感谢帮助
我在 python 中使用 shapely 并尝试在网格中生成均匀间隔的点,这些点在最快的 O(n) 时间内落在形状内。形状可以是任何闭合多边形,而不仅仅是正方形或圆形。我目前的做法是:
有没有更快的方法来做到这一点?
# determine maximum edges
polygon = shape(geojson['features'][i]['geometry'])
latmin, lonmin, latmax, lonmax = polygon.bounds
# construct a rectangular mesh
points = []
for lat in np.arange(latmin, latmax, resolution):
for lon in np.arange(lonmin, lonmax, resolution):
points.append(Point((round(lat,4), round(lon,4))))
# validate if each point falls inside shape
valid_points.extend([i for i in points if polygon.contains(i)])
Run Code Online (Sandbox Code Playgroud)
points ×10
python ×3
r ×3
geometry ×2
3d ×1
algorithm ×1
backbone.js ×1
charts ×1
closest ×1
coordinates ×1
curve ×1
decimal ×1
excel ×1
format ×1
gis ×1
intersection ×1
lattice ×1
lines ×1
mariadb ×1
mysql ×1
numbers ×1
plot ×1
polygon ×1
polygons ×1
radius ×1
random ×1
shapely ×1
spatial ×1
spatstat ×1
vba ×1
wireframe ×1