标签: polygons

谷歌地图API v3 - 如何绘制动态多边形/折线?

我有4天的Google Maps Javascript API经验,我发现他们的文档和信息共享最让人困惑.

有没有人有关于如何在谷歌地图上绘制多边形/折线的经验或知识(使用Javascript API V3),与示例类似?(我发现这个博客帖子从2008)

到目前为止,我的研究可以告诉我该示例直接使用Javascript API V2或使用V2中的GeometryControl实用程序库(可在此处找到以供参考).我似乎无法找到Javascript API V3是否有任何方式允许这样的界面.

我将继续我的研究,但会感谢任何有用的评论或链接或建议.即使你指出我正在进行进一步研究的方向.:)

drawing polygons google-maps-api-3

24
推荐指数
3
解决办法
9万
查看次数

从顶点初始化半边数据结构

我正在努力实现各种细分算法(例如catmull-clark); 要有效地执行此操作,需要一种很好的方法来存储有关细分多边形网格的信息.我实现了flipcode概述的半边数据结构,但现在我不确定如何从顶点填充数据结构!

我最初的尝试是

  • 创建顶点
  • 将顶点分组为面
  • 对面内的顶点进行排序(使用它们相对于质心的角度)
  • 对于每个面,抓取第一个顶点,然后遍历排序的顶点列表以创建半边列表.

但是,这会创建一个没有任何关于相邻面信息的面(一半边)列表!这也感觉有点不对,因为看起来好像是真正的第一类物体,边缘提供辅助信息; 我真的觉得我应该从顶点创建边缘,然后从那里整理出面.但同样,我不太确定如何以这种方式去做 - 我想不出一种方法来创建一个半边列表而不先创建面.

有关将顶点(和面)数据转换为半边的最佳方法的建议吗?

algorithm polygons computational-geometry data-structures

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

在R(邻居)中查找相邻的多边形

我开始使用SpatialPolygonsDataFrame,其中包含用于创建加纳地区地图的数据(可从http://www.diva-gis.org/datadown获取).我正在尝试创建一个矩阵,其中区域的名称为行和列名称,内部为0/1,以指示两个区域是否相邻(相邻).

我在spdep中发现了几个看起来很有希望的函数,但我无法弄清楚如何将它们用于此目的.我能够使用poly2nb创建一个包含数据的"nb"文件,但我不确定如何从这里开始,或者即使我在正确的轨道上.

我真的很感激任何帮助!谢谢!

gis r polygons

22
推荐指数
2
解决办法
6620
查看次数

检查多边形是否为自相交

我有一个System.Windows.Shapes.Polygon对象,其布局完全由一系列点确定.我需要确定这个Polygon是否是自相交的; 即,如果多边形的任何边与不是顶点的点处的任何其他边相交.有一种简单/快速的方法来计算它吗?

.net c# geometry shapes polygons

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

确定点是否在多边形中

根据我的要求,我在谷歌地图上绘制多边形,如下图所示.(使用地图v2) 在此输入图像描述

现在,我需要在用户输入特定多边形时显示警报.

如何识别我的当前位置是否在多边形中.(需要优化的方式,不需要耗尽电池)

提前致谢.

android google-maps geolocation polygons android-maps-v2

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

将多个相邻矩形合并为一个多边形

背景:我正在一个小型购物中心的网站上工作,该购物中心有多个矩形"单位"可供出租.当一个"商店"出现时,它可以租用一个或多个"单位",我想生成一个由商店组成的地图(无单位)

问题:

我有一个由点对定义的矩形(单位)列表[[lefttop_x;lefttop_y];[rightbottom_x;rightbottom_y]]- 我希望将它们合并为多边形,所以我可以正确地设置它们(我将通过Canvas/SVG/VML/Raphael.js渲染).

  • 单位总是矩形
  • 单位有不同的大小
  • 单位总是相邻的(它们之间没有空格)

由于这个(最好是PHP,但我可以处理伪代码)操作,我想有一个多边形点数组.

矩形合并 - 视觉提示

谢谢.

PS:我一直在研究这个,我发现了多个'接近我想要的'问题+答案,但我要么太累了,要么我已经与数学脱节了太长时间:)

php geometry rectangles polygons

16
推荐指数
2
解决办法
5864
查看次数

如何在Google Maps v3上添加和删除多边形?

我正在尝试使用API​​的v3在Google地图上显示和删除多边形.在我的JavaScript中,我已经获得了一些自定义Lat-Longs的MVCArray.

我正在试图找出如何添加这些多边形,然后,基于其他一些JavaScript事件或用户操作,例如单击多边形(已经渲染),该多边形将被删除.

有人可以帮忙吗?任何代码或示例链接?我很难找到一些例子.他们中的大多数通常会使用某些v2代码.

javascript google-maps polygons google-maps-api-3

14
推荐指数
1
解决办法
3万
查看次数

结合Voronoi多边形和地图

我想将Voronoi多边形与地图结合起来,以便稍后用于空间分析.我有多个点和shapefile,我想要组合,然后保存为shapefile /空间多边形.要获得voronoi多边形,我使用本主题中的函数.

我的代码如下:

coords<-data.frame(LONG=c(16.9252,16.9363,16.9408,16.8720,16.9167,16.9461,16.9093,16.9457,16.9171,16.8506,16.9471,16.8723,16.9444,16.9212,16.8809,16.9191,16.8968,16.8719,16.9669,16.8845),
LAT=c(52.4064,52.4266,52.3836,52.3959,52.4496,52.3924,52.4012,52.3924,52.3777,52.4368,52.4574,52.3945,52.4572,52.3962,52.3816,52.3809,52.3956,52.3761,52.4236,52.4539))
Run Code Online (Sandbox Code Playgroud)

我的地图位于:https://docs.google.com/file/d/0B-ZJyVlQBsqlSURiN284dF9YNUk/edit

library(rgdal)
voronoipolygons <- function(x) {
  require(deldir)
  if (.hasSlot(x, 'coords')) {
    crds <- x@coords  
  } else crds <- x
  z <- deldir(crds[,1], crds[,2])
  w <- tile.list(z)
  polys <- vector(mode='list', length=length(w))
  require(sp)
  for (i in seq(along=polys)) {
    pcrds <- cbind(w[[i]]$x, w[[i]]$y)
    pcrds <- rbind(pcrds, pcrds[1,])
    polys[[i]] <- Polygons(list(Polygon(pcrds)), ID=as.character(i))
  }
  SP <- SpatialPolygons(polys)
  voronoi <- SpatialPolygonsDataFrame(SP, data=data.frame(x=crds[,1],
                                                          y=crds[,2], row.names=sapply(slot(SP, 'polygons'), 
                                                                                       function(x) slot(x, 'ID'))))
}
Run Code Online (Sandbox Code Playgroud)

我的代码来获取voronoipolygons:

pzn.coords<-voronoipolygons(coords)
plot(pznall)
plot(pzn.coords,add=T)
points(coords$LONG,coords$LAT)
Run Code Online (Sandbox Code Playgroud)

结果: 在此输入图像描述

我想把我的地图中的这个voronoi多边形作为新的空间多边形. …

r spatial polygons

14
推荐指数
1
解决办法
4459
查看次数

在R中溶解多边形中的孔

我正在R中运行一些地理处理任务,我正在尝试创建一些用于剪切环境信息栅格的多边形.我正在缓冲一些复杂的多边形,这留下了我想摆脱的小子几何.在ArcGIS中,我认为这将涉及将我的多边形从多部分转换为单部分(或沿着这些部分的东西)然后溶解,但我不知道如何在R中执行此操作.

这是一个说明问题的示例:

require(maptools)
require(rgeos)

data(wrld_simpl)
wrld_simpl[which(wrld_simpl@data$NAME=='Greece'),]->greece
proj4string(greece)<-CRS('+proj=lonlat +datum=WGS84')
gBuffer(greece,width=0.5)->buf
plot(buf)
Run Code Online (Sandbox Code Playgroud)

我真正想要的是多边形的外边界,里面没有别的东西.有任何想法吗?

gis r polygons

14
推荐指数
1
解决办法
3912
查看次数

找到两个3D多边形的交集

又称3D中的多边形裁剪算法

又找到2个碰撞多边形之间的碰撞流形

大多数用于多边形裁剪的算法都针对2D进行了详细描述,并且描述为可扩展到3D但没有细节.例如sutherland-hodgman裁剪算法

我无法在互联网上找到任何3D实现或伪代码,我现在在这里问(并试图回答我自己的问题)

该算法将采用两种形状,如下所示: 绿色形状由蓝色形状截去

并输出两个形状的交集,如下所示: 两个形状的交点

请注意,尽管Sutherland-Hodgman算法找到了两个多边形的交集,但它(和大多数其他多边形)在剪切多边形和剪切多边形之间进行了区分.修剪的多边形可以是凹的或凸的,但是修剪的形状必须是凸的.然而,我在扩展到3D时的实现要求两个形状都是凸的,这表明它不是真正的3D sutherland-hodgman算法,并且其他答案(使用任何算法)提升这个要求将非常感激

java intersection clipping polygons collision

13
推荐指数
1
解决办法
3089
查看次数