在地图中可视化Neo4j空间数据库
我已经能够将一些形状文件导入Neo4j 2.3.1。 现在我如何在地图上查看这些数据 我在GeoServer和uDig上尝试过Wiki说明,但它们都过时了,我无法让它工作在地图中可视化Neo4j空间数据库,neo4j,geoserver,neo4j-spatial,Neo4j,Geoserver,Neo4j Spatial,我已经能够将一些形状文件导入Neo4j 2.3.1。 现在我如何在地图上查看这些数据 我在GeoServer和uDig上尝试过Wiki说明,但它们都过时了,我无法让它工作 最近有没有任何教程或其他工具可以解决这个问题?我使用neo4j spatial with来可视化地图中的几何图形 对于我的用例,我在neo4j spatial中索引了美国国会选区的几何图形,然后根据用户单击地图的位置查询空间索引,返回最近的选区,包括WKT字符串和密码查询结果。为了在地图中呈现WKT多边形,我编写了一个简单的
最近有没有任何教程或其他工具可以解决这个问题?我使用neo4j spatial with来可视化地图中的几何图形 对于我的用例,我在neo4j spatial中索引了美国国会选区的几何图形,然后根据用户单击地图的位置查询空间索引,返回最近的选区,包括WKT字符串和密码查询结果。为了在地图中呈现WKT多边形,我编写了一个简单的javascript函数,将其解析为一个点数组,以添加地图注释 以下是一些相关的代码片段: 创建映射并定义映射的单击处理程序:
L.mapbox.accessToken = MB_API_TOKEN;
var map = L.mapbox.map('map', 'mapbox.streets')
.setView([39.8282, -98.5795], 5);
map.on('click', function(e) {
clearMap(map);
getClosestDistrict(e);
});
处理鼠标点击
/**
* Find the District for a given latlng.
* Find the representative, commitees and subjects for that rep.
*/
function infoDistrictWithinDistance(latlng, distance) {
var districtParams = {
"layer": "geom",
"pointX": latlng.lng,
"pointY": latlng.lat,
"distanceInKm": distance
};
var districtURL = baseURI + findGeometriesPath;
makePOSTRequest(districtURL, districtParams, function (error, data) {
if (error) {
console.log("Error");
} else {
console.log(data);
var params = {
"state": data[0]["data"]["state"],
"district": data[0]["data"]["district"]
};
var points = parseWKTPolygon(data[0]["data"]["wkt"]);
makeCypherRequest([{"statement": subjectsQuery, "parameters": params}], function (error, data) {
if (error) {
console.log("Error");
} else {
console.log(data);
var districtInfo = data["results"][0]["data"][0]["row"][0];
districtInfo["points"] = points;
districtInfo["state"] = params["state"];
districtInfo["district"] = params["district"];
console.log(districtInfo);
addDistrictToMap(districtInfo, latlng);
}
});
}
});
将WKT解析为点数组
/**
* Converts Polygon WKT string to an array of [x,y] points
*/
function parseWKTPolygon(wkt) {
var pointArr = [];
var points = wkt.slice(10, -3).split(",");
$.each(points, function(i,v) {
var point = $.trim(v).split(" ");
var xy = [Number(point[1]), Number(point[0])];
pointArr.push(xy)
});
return pointArr;
}
密码在里面。您可以看到简单的地图演示(只需单击美国的任何地方即可开始)。最近还有一篇关于这个例子的博客文章。我使用neo4j spatial with来可视化地图中的几何图形 对于我的用例,我在neo4j spatial中索引了美国国会选区的几何图形,然后根据用户单击地图的位置查询空间索引,返回最近的选区,包括WKT字符串和密码查询结果。为了在地图中呈现WKT多边形,我编写了一个简单的javascript函数,将其解析为一个点数组,以添加地图注释 以下是一些相关的代码片段: 创建映射并定义映射的单击处理程序:
L.mapbox.accessToken = MB_API_TOKEN;
var map = L.mapbox.map('map', 'mapbox.streets')
.setView([39.8282, -98.5795], 5);
map.on('click', function(e) {
clearMap(map);
getClosestDistrict(e);
});
处理鼠标点击
/**
* Find the District for a given latlng.
* Find the representative, commitees and subjects for that rep.
*/
function infoDistrictWithinDistance(latlng, distance) {
var districtParams = {
"layer": "geom",
"pointX": latlng.lng,
"pointY": latlng.lat,
"distanceInKm": distance
};
var districtURL = baseURI + findGeometriesPath;
makePOSTRequest(districtURL, districtParams, function (error, data) {
if (error) {
console.log("Error");
} else {
console.log(data);
var params = {
"state": data[0]["data"]["state"],
"district": data[0]["data"]["district"]
};
var points = parseWKTPolygon(data[0]["data"]["wkt"]);
makeCypherRequest([{"statement": subjectsQuery, "parameters": params}], function (error, data) {
if (error) {
console.log("Error");
} else {
console.log(data);
var districtInfo = data["results"][0]["data"][0]["row"][0];
districtInfo["points"] = points;
districtInfo["state"] = params["state"];
districtInfo["district"] = params["district"];
console.log(districtInfo);
addDistrictToMap(districtInfo, latlng);
}
});
}
});
将WKT解析为点数组
/**
* Converts Polygon WKT string to an array of [x,y] points
*/
function parseWKTPolygon(wkt) {
var pointArr = [];
var points = wkt.slice(10, -3).split(",");
$.each(points, function(i,v) {
var point = $.trim(v).split(" ");
var xy = [Number(point[1]), Number(point[0])];
pointArr.push(xy)
});
return pointArr;
}
密码在里面。您可以看到简单的地图演示(只需单击美国的任何地方即可开始)。最近还有一篇关于这个例子的博文。谢谢!这就是我要找的。我看到您以与我类似的方式向Neo4j添加数据。您将节点导入/添加到层脚本的速度真的很慢吗?还是只有我一个人?谢谢!这就是我要找的。我看到您以与我类似的方式向Neo4j添加数据。您将节点导入/添加到层脚本的速度真的很慢,还是只有我一个人?