分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

web前端利用turf.js生成等值线、等值面

发布时间:2023-09-06 02:26责任编辑:郭大石关键词:js前端

样例如下:

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> ???<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ???<title>等值线的生成</title> ???<link href="Script/leaflet/leaflet.css" rel="stylesheet" /> ???<style> ???????#map ???????{ ???????????height: 2000px; ???????????width: 1500px; ???????} ???</style> ???<script src="Script/leaflet/leaflet.js"></script> ???<script src="Script/leaflet/leaflet.ChineseTmsProviders.js"></script> ???<script src=‘https://npmcdn.com/@turf/turf/turf.min.js‘></script></head><body> ???<div id="map"></div> ???</body> ???<script> ???????var normalm = L.tileLayer.chinaProvider(‘TianDiTu.Normal.Map‘, { ???????????maxZoom: 18, ???????????minZoom: 1 ???????}), ???????????normala = L.tileLayer.chinaProvider(‘TianDiTu.Normal.Annotion‘, { ???????????????maxZoom: 18, ???????????????minZoom: 1 ???????????}), ???????????imgm = L.tileLayer.chinaProvider(‘TianDiTu.Satellite.Map‘, { ???????????????maxZoom: 18, ???????????????minZoom: 1 ???????????}), ???????????imga = L.tileLayer.chinaProvider(‘TianDiTu.Satellite.Annotion‘, { ???????????????maxZoom: 18, ???????????????minZoom: 1 ???????????}); ????????var normal = L.layerGroup([normalm, normala]); ???????image = L.layerGroup([imgm, imga]); ????????var baseLayers = { ???????????"地图": normal, ???????????"影像": image, ???????} ????????var overlayLayers = { ???????????"图": normal, ???????????"像": image, ???????} ????????var map = L.map("map", { ???????????center: [31.59, 120.29], ???????????zoom: 12, ???????????layers: [normal], ???????????zoomControl: false ????????}); ???????// 创建等值线区域 ???????var extent = [0, 30, 20, 50]; ???????var cellWidth = 100; ???????var pointGrid = turf.pointGrid(extent, cellWidth, { units: ‘miles‘ }); ????????for (var i = 0; i < pointGrid.features.length; i++) { ???????????pointGrid.features[i].properties.temperature = Math.random() * 10; ???????} ???????console.log(pointGrid.features.length); ???????//等值线的级数 ???????var breaks = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; ????????var lines = turf.isolines(pointGrid, breaks, { zProperty: ‘temperature‘ }); ???????//设置颜色 ???????var myStyle = { ???????????"color": "#ff7800", ???????????"weight": 5, ???????????"opacity": 0.65 ???????}; ???????//进行平滑处理 ???????????var _lFeatures = lines.features; ???????????for(var i=0;i<_lFeatures.length;i++){ ???????????????var _coords = _lFeatures[i].geometry.coordinates; ???????????????var _lCoords = []; ???????????????for(var j=0;j<_coords.length;j++){ ???????????????????var _coord = _coords[j]; ???????????????????var line = turf.lineString(_coord); ???????????????????var curved = turf.bezierSpline(line); ???????????????????_lCoords.push(curved.geometry.coordinates); ???????????????} ???????????????_lFeatures[i].geometry.coordinates = _lCoords; ???????????} ???????//geojson数据读取 ???????L.geoJSON(lines, { ???????????style: myStyle ???????}).addTo(map); ???</script></html>

原文地址:https://blog.csdn.net/weixin_40184249/article/details/81198282

另外一个文章地址:http://www.cnblogs.com/naaoveGIS/p/6142226.html

web前端利用turf.js生成等值线、等值面

原文地址:https://www.cnblogs.com/tiandi/p/10124712.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved