- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Google Datastore 数据库作为我的后端数据库,并使用地理空间查询来查询它,如 this Google 教程,但所有查询均未返回任何内容。我用 Java 制作了下一个调试 servlet 的演示:
private static final String tableName = "DEBUG";
private static final double radius = 100 * 1000; //100 km
private static final String NameKey = "Name";
private static final String LocationKey = "location";
//Parameters from the http servlet request
String name;
float lat, lng;
//Insert a new person to the DB
Entity person = new Entity(tableName);
person.setProperty(NameKey, name);
GeoPt location = new GeoPt(lat, lng);
person.setProperty(LocationKey, location);
datastore.put(person);
//returns the users in the radius
Query.Filter filter = new Query.StContainsFilter(LocationKey, new Query.GeoRegion.Circle(location, radius));
Query query = new Query(tableName).setFilter(filter);
PreparedQuery pq = datastore.prepare(query);
JsonArray users = new JsonArray();
for (Entity entity : pq.asIterable()){
users.add(new JsonObject()
.add(NameKey, (String)entity.getProperty(NameKey))
.add(LocationKey, ((GeoPt)entity.getProperty(LocationKey)).toString()));
}
result.add("Users", users);
数据库的插入有效,这是 Google 控制台的屏幕截图:
但是查询总是失败,并抛出:
javax.servlet.ServletContext log: DebugGeoPtServlet: Returns: {Error=no matching index found.
The suggested index for this query is:
<datastore-index kind="DEBUG" source="manual">
<property name="location" mode="geospatial"/>
</datastore-index>
}
我不知道代码有什么问题。我按照教程里的样子复制的,插入的点非常接近(不,甚至接近100公里半径)
最佳答案
您需要将此索引定义添加到您的 datastore-indexes.xml
文件(在 /WEB_INF
文件夹中)。它看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<datastore-indexes
autoGenerate="true">
<datastore-index kind="DEBUG" source="manual">
<property name="location" mode="geospatial"/>
</datastore-index>
</datastore-indexes>
通常,当您在开发服务器中尝试不同的查询时,它会自动创建必要的索引定义。但是,有时您可能需要手动添加它们。
关于java - Datastore GeoSpatial 查询不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39043522/
我有一个作为纬度、经度对的多边形点数据库,我需要测试给定的 lat,lng 点是否在任何多边形内。 有几种算法,包括 these但如果多边形跨越前子午线(新西兰海岸外,经度从东经 180 度翻转到西经
我得到了一个使用 Google Earth 的 Windows Forms 应用程序,用户可以在其中在 map 上绘制一个多边形,用作地理围栏。 我想要做的是能够缩放到多边形,以便通过单击按钮使其非常
我需要创建一组(大)空间多边形用于测试目的。是否有一种算法可以创建一个位于边界信封内的随机形状的多边形?我正在使用 OGC 简单的东西,所以创建众所周知的文本的例程是最有用的,选择的语言是 C# 但这
我有一堆要转换为 kml 的 shapefile。 我可以打开它们,但我不明白它们所在的坐标系(创作者也没有提供)。 例如,这应该是阿姆斯特丹市边界上的一个点:'x': 106980.0, 'y':
我有一些包含自相交多边形的空间数据(MapInfo 文件)。这些会导致我的处理出现问题,特别是我无法在 PostGIS 中生成几何联合。有没有简单的方法来解决这个问题?如果有必要,我可以处理多多边形。
我在 python 中使用 GeoPandas 并且有一个有效的多边形 GeoDataframe。 0 POLYGON Z ((68.70999999999999 623.1 0, 3
我有一套n地球表面上的地理坐标,我想计算一个边界框(找到最东、最西、最北和最南的位置),而不会退回到用户输入(程序没有 UI)。天真的方法是“取纬度的最大值和最小值,经度的最大值和最小值,完成”-但是
我想在我的网站上部署一个 TerriaJS 实例,用于 3D(带 2D 回退)地理空间映射。我对如何在我的网站上实际“部署”TerriaJS 感到有点困惑。我对 Leaflet 非常熟悉……几乎只包含
我是 cloudant 的新手,我想按经纬度获取特定类别的记录。 //这是按纬度和经度获取记录 dbname/_design/ad/_geo/geoidx?lat=29.2609417&lon=71.
我看到了这个链接 http://www.mathopenref.com/coordpolygonarea2.html 它解释了如何计算多边形的面积,并帮助识别我们输入的多边形顶点是顺时针还是逆时针。
Postgis中Linestring中的点(由osm2pgsql从osm导入)按顺序描述(经度,纬度) 例如慕尼黑 map 中的线串 'LINESTRING(11.4068032 47.8580927
我有大量经纬度点。最高可达 20k 点。我正在使用 KML 绘制它们。我想要做的是只取最外面的点并用它们来绘制多边形。我已经知道如何在 kml 中绘制多边形,我只需要弄清楚如何只选择组中最外面的点。
在 Marklogic 中,我正在使用 cts.geospatialRegionQuery 搜索包含(索引)几何的文档,该几何与我搜索的几何有交集。 地理空间区域索引使用 etrs89/double作
根据他们的文档,空间对象可以是以下内容 POINT(0 0) LINESTRING(0 0,1 1,1 2) POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2,
我正在尝试将 1000 米的缓冲区应用于 JTS Topology Suite 中的多边形形状。我已经确定了执行此操作的方法(请参阅下面的链接),但我不确定缓冲区方法中距离参数的单位是什么。 JTS
找不到在 couchbase 中使用地理 View 的文档/howtos/示例。 简化任务:我的文档看起来像: { x:10, y:15, color:"RED" } 我需要找到正方形中的所有B
我正在尝试获取特定半径(以公里/英里为单位)内的记录。 mongodb 二维索引: db.collection.ensureIndex({locaction:"2d"}) 集合中的记录具有索引键: "
我遇到了一个特殊的情况,我试图找到(部分)位于多边形中的任何地理空间对象。当我申请 ST_Intersect使用 在两个几何图形上函数WGS84 SRID 多边形和多边形明显以北的点的交集返回 FAL
我正在尝试使用 Google Datastore 数据库作为我的后端数据库,并使用地理空间查询来查询它,如 this Google 教程,但所有查询均未返回任何内容。我用 Java 制作了下一个调试
我有一个从 csv 文件导入的非常大的数据库(约 600 万行)。我正在查看 MongoDB 及其关于地理空间索引的文档。您需要将纬度和经度字段嵌入到数组中。不幸的是,我导入的结构中的字段是分开的。
我是一名优秀的程序员,十分优秀!