java 7中的菱形运算符允许以下代码:
List<String> list = new LinkedList<>();
Run Code Online (Sandbox Code Playgroud)
但是在Java 5/6中,我可以简单地写:
List<String> list = new LinkedList();
Run Code Online (Sandbox Code Playgroud)
我对类型擦除的理解是这些完全相同.(无论如何,通用都会在运行时删除).
为什么要钻石头呢?它允许哪些新功能/类型安全?如果它没有产生任何新功能,为什么他们将其作为功能提及?我对这个概念的理解是否有缺陷?
你能告诉我data-targetBootstrap 3使用的属性背后的系统或行为是什么?
我知道数据切换用于瞄准图形功能的Bootstrap的API JavaScript.
取无效多边形POLYGON((0 100, 100 100, 0 0, 100 0, 0 100))- 具有未申报交叉点的蛋计时器形状

许多说明都说JTS可以使用以下buffer方法创建有效版本:
Geometry input = new WKTReader().read("POLYGON((0 100, 100 100, 0 0, 100 0, 0 100))");
Geometry output = geom.buffer(0);
return output;
Run Code Online (Sandbox Code Playgroud)
但是,这会产生POLYGON ((0 100, 100 100, 50 50, 0 100))多边形部分丢失的输出:

有没有办法让JTS验证多边形,以便它将产生MULTIPOLYGON(((0 100, 100 100, 50 50, 0 100)), ((0 0, 100 0, 50 50, 0 0)))给定输入的输出?

这似乎应该内置到API(可能这个行为是一个错误) - 我错过了什么?
谢谢.
我有一个(GIS)项目,向客户显示大量客户数据(数千条记录).在必要/可能/需要的地方,我们使用服务器端分页/过滤/数据操作,但有时将JSON格式的数据发送到客户端并让浏览器进行过滤是最有效的.
数据量很大,因此我们将其格式化以节省带宽和解析时间 - 而不是单个对象,我们首先发送包含属性名称的结构,然后在单个平面数组中发送值.在客户端上,我们在其他处理发生之前将其重建为更传统的json对象.例如:
{attrNames:["foo","bar"],values:[1,2,3,4,...]) -> [{foo:1,bar:2},{foo:3,bar:4},...]
Run Code Online (Sandbox Code Playgroud)
这样做的代码看起来有点像这样:
function toObjectArray(attrNames, values){
var ret = [];
var index = 0;
var numAttrNames = attrNames.length;
var numValues = values.length;
while(index < numValues){
var obj = {};
for(var a = 0; a < numAttrNames; a++){
obj[attrNames[a]] = values[index++];
}
ret.push(obj);
}
return ret;
}
Run Code Online (Sandbox Code Playgroud)
鉴于属性可能会根据客户数据而变化,是否有办法利用V8等现代javascript引擎中的隐藏类进行此转换?我已经做了一些类似于我们的用例(http://jsfiddle.net/N6CrK/1/)的微基准测试,其中使用json使得使用隐藏类比如上构建对象快几个数量级.我可以使用"eval"创建对象来获得一些提升,但这感觉很难看(这在js小提琴中得到了证明).有没有更好的办法?也许使用Object.create的某些变体,或类似的东西?
有没有办法将 Path2D 剪辑到区域/其他 path2D 实例?
简单的例子(我正在寻找一些可以在一般情况下工作的东西,其中路径可能包括四边形或立方体,并且可能是也可能不是单数):
我有一条线段 (0,10) -> (30,10),我想将其剪辑在三角形 (10,0)、(20,20)、(20,0) 内,理想情况下会产生线段 (15 ,10) -> (20,10)
我可以使用“new Area(Shape);”将 Path2D 转换为区域 然后使用“Area.intersect(area)”进行剪辑,但是如果路径未闭合,这将返回一个空白区域。
我可以使用“Graphics2D.clip(Shape)”剪辑绘图区域,但我希望获得返回的形状(在某些情况下,我希望在实际渲染之前进行进一步的操作)
在浏览了 API 文档后,我找不到直接执行此操作的方法。我错过了什么吗?
我正在考虑在某些 GIS 处理任务中使用嵌入式 H2 数据库。我在他们的网站上注意到他们支持 JTS 几何和空间索引:
http://www.h2database.com/html/grammar.html#create_index http://www.h2database.com/html/datatypes.html#geometry_type
然而,我一直无法使用几何/边界框找到查询。H2 在 Oracle ( http://docs.oracle.com/cd/A97630_01/appdev.920/a96630/sdo_operat.htm#BJAFBCFC ) 中有类似 SDO_FILTER 的东西吗?如果没有,我是否误解了此功能的目的?
我知道 H2 ( http://www.h2gis.org/ )有一个单独的空间插件,但是可以在没有这个的情况下进行简单的空间查询吗?
java ×3
generics ×1
geometry ×1
h2 ×1
java-2d ×1
java-7 ×1
javascript ×1
json ×1
jts ×1
optimization ×1