当前位置: 首页 > news >正文

网站开发需要那些技术人员顺电网上商城app

网站开发需要那些技术人员,顺电网上商城app,制作网站注册页面模板,怎么建立一个表格最近我在工作中遇到了一个小的需求点#xff0c;大概是需要在地图上展示出一堆点中的点密度最密集的位置。最开始没想到好的方法#xff0c;就使用了一个非常简单的策略——所有点的坐标求平均值#xff0c;这个方法大部分的时候好用#xff0c;因为大部分城市所有点位基本…  最近我在工作中遇到了一个小的需求点大概是需要在地图上展示出一堆点中的点密度最密集的位置。最开始没想到好的方法就使用了一个非常简单的策略——所有点的坐标求平均值这个方法大部分的时候好用因为大部分城市所有点位基本上都是围绕某个中心点向四周发散的。但我们实际在线上使用的时候遇到了两个特殊的case。 首先就是当点位分布呈现出异形比如哑铃型数据分布在两头你们求平均值的方法就会找到中间数据密度最稀疏的地方就比如我们在成都的数据上遇到的一样下图中的红色点位就是按平均值求出来的中心点。   另外一种异常case就是数据呈现圆周分布的时候比如北京的数据北京的中心是故宫我们不可能会有点位如果直接求平均值的话计算出来的中心点就在故宫附近这里的数据反而是最稀疏的如下图所示。   后来查询资料了解到核密度这一方法可以解决我们所遇到的问题经过实验后发现效果还不错所以在这里分享给大家。 核密度的思路也很简单就是遍历所有的点位计算其他点到当前点的核密度总值然后找出平均密度最大的点。举个简单例子给定一个点如果其他某个点距这个点距离近密度值就高反之就远这个点到其他所有点的密度和求平均就是这个点最终的密度值这里我们可以直接选用距离的倒数来当成核函数不过这个核函数是线性的最终结果和我求平均值差异不大。 优化下思路如果某个点的距离越远是不是其带来的密度值应该越小 前人也是这么想的于是就有了很多非线性核函数而我最终使用了高斯核调整好核函数的带宽后其他点带来的密度值也会随着距离以正态分布的方式衰减如下图举例越远纵轴的坐标值越低图中的sigma就是我们核函数的里的带宽。   接下来看下计算过程和效果由于我们是Java系统我的最终实现是用了java调用了simle包整体代码如下 private double[] getHotpot(double[][] data) {// 创建高斯核MercerKerneldouble[] kernel new GaussianKernel(0.02);// 计算所有点的核密度估计double[] densities new double[data.length];for (int i 0; i data.length; i) {for (int j 0; j data.length; j) {densities[i] kernel.k(data[i], data[j]);}// 计算平均密度densities[i] / data.length;}// 找出密度最大的点int maxDensityIndex 0;for (int i 1; i densities.length; i) {if (densities[i] densities[maxDensityIndex]) {maxDensityIndex i;}}return data[maxDensityIndex];}这里我带宽(高斯核中的sigma)用了0.02这个也是多次调试后的结果如果过大会导致算出来的密度值更接近于全局平均值过小的话会出现几个点集中在一起但周围没有其他点的情况我们还是拿上面两个异常的case看下核密度方法的效果。 首先就是成都哑铃型的数据。 再来就是北京的环形数据   上面的图中我使用了python中的sklearn来实现核密度使用了folium来绘制地图完整的代码也贴出来供大家参考。 # -*- coding: utf-8 -*- import folium import pandas as pd from sklearn.neighbors import KernelDensity import numpy as npdef getCenterPoint(sites):points sites[[latitude, longitude]].valuesweights sites[score].values# 实例化KernelDensity对象kde KernelDensity(kernelgaussian, bandwidth0.02)# 对数据进行拟合kde.fit(points) # 使用KDE模型评估每个点的密度log_densities kde.score_samples(points)# 密度最高的点是评估密度最高即log_densities值最大的点highest_density_point points[np.argmax(log_densities)]print(highest_density_point.tolist())return highest_density_point.tolist()# 创建一个以给定经纬度为中心的地图初始缩放级别设为14 m folium.Map(zoom_start14)for i, s in data.iterrows():# 在地图上添加一个点标记folium.Marker(location[s[latitude], s[longitude]], # 经纬度popups[resblock], ).add_to(m) # 保存为html文件 centerPoint getCenterPoint(cityDf) folium.Marker(locationcenterPoint, # 经纬度popup中心点, # 弹出内容radius50,iconfolium.Icon(colorred, iconinfo-sign) ).add_to(m)m.location centerPointm.save(map.html)
http://www.pierceye.com/news/773006/

相关文章:

  • 做家政网上推广网站长沙网站建设有哪些
  • 西安网站建设 招聘西安是哪个省属于哪个市
  • 灯饰网站开发中国十大门窗品牌
  • 移动网站开发认证基层建设被哪些网站全文收录
  • 中国电子商务网站小吃网站建设
  • 用什么语言能写网站吗装修公司招聘网站
  • 触摸网站手机软件开发公司赚钱吗
  • 刘家窑网站建设公司网店装修模板
  • 旅游网站国内外研究现状微信模板素材
  • 查一下红之易道学做的什么网站全国大型网站建设
  • 网站页面可以用什么框架做wordpress 自动 图片大小
  • 百度小程序可以根据网站的要求做吗网站建设评分细则
  • 团购模板网站廉洁长沙网站
  • 湖州建设网站制作多多进宝cms网站建设
  • 自己做网站有哪些方法呢深圳网站设计张兵
  • 网站开发技术的选择wordpress 标签 中文
  • 建设速干裤移动网站公司logo注册
  • 中山网站建设找阿江欢迎页网页设计作品欣赏
  • seo是东莞企业网站排seo网站制作与管理技术...
  • 哪里有建设好的网站做网站用哪个预装系统
  • h5技术建设网站的知识wordpress+主题+欣赏
  • 如何优化网站排名淘宝客 备案 网站名称
  • 网站后台管理系统源代码沧州市宇通网站建设公司
  • 郴州网站设计公司阜新网站设计
  • 成都网站制作中国互联个人做电影网站赚钱吗
  • 如何做自己的影视网站惠州惠城网站建设
  • 温州网站推广外包推推蛙网站建设
  • 北京百度网站排名优化四川公共资源交易网招标网
  • 上海网站制作商多用户网上商城
  • 四川建设网电子招投标网站莱芜金点子电话