1 Star 0 Fork 0

ooooooyun / baas

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test.js 3.48 KB
一键复制 编辑 原始数据 按行查看 历史
ooooooyun 提交于 2024-03-18 08:35 . 20240318
const turf = require("@turf/turf");
//let multiLine = turf.lineString([[[11902523.724685632, 3728969.4400901822], [11902428.30321108, 3729059.7969748327]]]);
//let multiPoly = turf.multiPolygon([[[[11902508.306461496, 3728986.097953016], [11902545.927811354, 3728974.154667347], [11902539.142909767, 3728952.7822273495], [11902501.521559907, 3728964.725513018], [11902508.306461496, 3728986.097953016]]]]);
//let ans = turf.lineIntersect(multiLine, multiPoly);
//var line1 = turf.lineString([[11902414.812928367, 3728973.4455347606], [11902428.099833677, 3728933.659464374]]);
//var line2 = turf.polygon([[[11902405.295622597, 3728963.405710245], [11902430.973686786, 3728971.1688459297], [11902439.798579384, 3728941.978816568], [11902414.120515194, 3728934.2156808833], [11902405.295622597, 3728963.405710245]]]);
//var intersects = turf.lineIntersect(line2, line1);
//console.log(JSON.stringify(intersects));
//var polygon = turf.polygon([[[11902592.5066255,3729164.35149163],[11902683.2755966,3728935.04040678],[11902415.7459976,3728834.71680715],[11902291.5358266,3729054.47326347],[11902592.5066255,3729164.35149163]]]);
//var centroid = turf.centroid(polygon);
//在多边形内查找点
/*
var points = turf.points([
[-46.6318, -23.5523],
[-46.6246, -23.5325],
[-46.6062, -23.5513],
[-46.663, -23.554],
[-46.643, -23.557]
]);
var searchWithin = turf.polygon([[
[-46.653,-23.543],
[-46.634,-23.5346],
[-46.613,-23.543],
[-46.614,-23.559],
[-46.631,-23.567],
[-46.653,-23.560],
[-46.653,-23.543]
]]);
var ptsWithin = turf.pointsWithinPolygon(points, searchWithin);
console.log(JSON.stringify(ptsWithin));
//距离计算
var from = turf.point([-75.343, 39.984]);
var to = turf.point([-75.343, 39.984]);
var options = {units: 'miles'};
var distance = turf.distance(from, to, options);
//midpoint 取中间点
console.log(distance);
let floorid = 4;
let raw = `st_AsGeoJSON(geometry1) as geometry`;
let path = await ctx
.model("f_map_geo")
.query((qb) => {
qb.column(["type", "properties", "id", module.secretknex.raw(raw)]);
qb.where("floor", floorid);
qb.where("maptype", "path");
})
.fetchAll();
let trafficnode = await ctx.model("f_map_geo")
.query((qb) => {
qb.column(["type", "properties", "id", module.secretknex.raw(raw)]);
qb.where("floor", floorid);
qb.where("maptype", "trafficnode");
})
.fetchAll();
for (let i = 0; i < trafficnode.length; i++) {
trafficnode[i].properties = JSON.parse(trafficnode[i].properties);
trafficnode[i].geometry = JSON.parse(trafficnode[i].geometry);
trafficnode[i].f_traffic = await ctx
.model("f_traffic")
.query((qb) => {
qb.where("flagId", trafficnode[i].properties.flag);
})
.fetch();
}
let floor = await ctx.model("f_map_floor").query((qb) => {
qb.where("mapid", "1638787185700978611");
}).fetchAll();
let store = await ctx.model("f_map_geo").query((qb) => {
qb.column(["type", "properties", "id", module.secretknex.raw(raw)]);
qb.where("floor", floorid);
qb.where("maptype", "store");
}).fetchAll();
store.forEach((item1, index1) => {
item1.properties = JSON.parse(item1.properties);
item1.geometry = JSON.parse(item1.geometry);
})
ctx.body={trafficnode:trafficnode,path:path,store:store,floor:floor}*/
var line = turf.lineString([[120, -25], [145, -25]]);
var splitter = turf.lineString([[130, -15], [130, -35]]);
var split = turf.lineSplit(line, splitter);
console.log(split);
//查找交通设施
let traffic = trafficnode.filter((element1) => {
return turf.distance(spoint, element1.geometry, options) < 0.1;
});
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xianwenhao/baas.git
git@gitee.com:xianwenhao/baas.git
xianwenhao
baas
baas
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891