首页 文章 精选 留言 我的

精选列表

搜索[gis],共566篇文章
优秀的个人博客,低调大师

PgSQL · GIS应用 · 物流, 动态路径规划

背景 双十一背后的技术系列文章 《聊一聊双十一背后的技术 - 分词和搜索》 每年双十一的交易额都创新高,今年也不例外,双十一几乎成了各种IT系统的大考,物流也不例外。 每次双十一快递几乎都被爆仓,但是随着技术的发展,今年,听说双十一刚过,小伙伴们的包裹差不多都收到了,今年的快递效率怎么如此之高呢? 今天,来给大家分享一下物流与背后的数据库技术,当然我讲的还是PostgreSQL, Greenplum, PostGIS一类,大伙了解我的。 物流行业是被电子商务催生的产业之一。 快件的配送和揽件的调度算法是物流行业一个非常重要的课题,直接关系到配送或揽件的时效,以及物流公司的运作成本。 好的算法,可以提高时效,降低成本,甚至可以更好的调动社会资源,就像滴滴打车一样,也许能全民参与哦。 以后也许上班路途还能顺路提供快递服务呢。 本文将以物流行业为例,给大家

优秀的个人博客,低调大师

Android GIS开发系列-- 入门季(1) 起点

前言 这个系列,待最终完成更新,大家体谅点,第一版本全部是参考的网络教程,最近会逐步的细化更新为可以直接使用的情况。 本系列的开发基于AS ( Android Studio ), 和ArcGIS 的Android开发的API。 配置 开发首先要下载Arcgis SDK。 下载地址在Arcgis官网https://developers.arcgis.com/,不过下载要注册,比较麻烦。 可以从http://download.csdn.net/detail/gary__123456/9787775,下载jar包与so文件。 学习采用的版本是Arcgis SdK 10.2.4。下载jar与so后,进入正题,新启项目Arcgis Demo。 1.添加so与jar 2.工程的Mainfest文件中添加相应的权限: <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 3.build.gradle文件下的android节点加上如下配置:解决jackson-mapper-lgpl-1.9.5.jar与jackson-core-lgpl-1.9.5.jar无法编译问题 packagingOptions { exclude 'META-INF/LGPL2.1' exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' } 在MainActivity的布局中添加MapView控件,并加上id. <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.arcgis.test.MainActivity"> <com.esri.android.map.MapView android:id="@+id/map_view" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout> 在MainActivity中获取控件,并添加一个开放的网络图层。利用ArcGISTiledMapServiceLayer图层添加。\ View Code 运行项目,效果图如下。Arcgis 在Studio中基本配置就到这里。 参考文章 Android Arcgis入门(一) Arcgis开发配置 没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。 本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/7751829.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

Mapbox GL JS 3.27.0 发布,WEB GIS 开发框架

Mapbox GL JS 3.27.0 现已发布,此版本更新内容包括: Features and improvements 升级到 TypeScript 7 为 symbols 添加 cross-source HD roadselevation 改进垂直文本渲染模式下部分中日韩字符的旋转逻辑 Bug fixes 修复 non-mecator projections 的栅格数组越界断言错误 修复在表达式中使用对象属性字符串时出现的错误 修复多地图环境中使用的错误访问令牌 修复了number-format在min/max-fraction-digits 为 0 时被省略的问题 在 globe-mercator transition 转换期间修复line-aligned 标签的位置 修复了使用带有原型派生键的样式表达式时发生的崩溃问题。 修复 Atlas 缓存返回其他 scope images 的问题 修复了Style#{get,set,remove}FeatureState方法中,当{target: {layerId}}时,导入图层的目标会根据其自身片段的源进行解析,而非根样式的情况 修复缺失的 building along tile borders。 修复 UMD 中的动态导入 修复在现代打包程序下 import.meta 崩溃的问题 修复了过渡时长为 0 的符号属性调用setPaintProperty时的问题 更新说明:https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.27.0

优秀的个人博客,低调大师

Mapbox GL JS 3.25.0 发布,WEB GIS 开发框架

Mapbox GL JS 3.25.0 现已发布,此版本更新内容包括: Breaking changes 将 ESM entry point切换为命名导出(import * as mapboxgl from 'mapbox-gl/esm'),以便现代打包工具能够移除少量未使用的代码。将mapboxgl.accessToken替换为MapaccessToken选项。虽然大部分打包内容仍然无法静态删除,但此版本也改进了运行时代码的延迟加载,后续还将推出更多改进。 Features and improvements 扩展MapgetLayerProperty和setLayerProperty并支持层级属性(minzoom,maxzoom,filter,slot,appearances) 扩展TileProviderAPI 使其支持raster和raster-demprovider使用ImageBitmap。 提高模型加载和渲染性能。 提高符号渲染性能。 提高 vector tiles 和其他 protobuf 编码资源的解码和编码性能。 提高颜色解析性能,略微缩短具有许多颜色值的样式的加载时间。 提取室内部分模型渲染代码,以便在使用 ESM entry point 时按需加载。 为 GeolocateControl 添加 ready 事件,并新增 setShowAccuracyCircle、setShowUserHeading、setFitBoundsOptions、setShowUserLocation 方法。 为 KeyboardHandler 添加 disablePan/enablePan 方法。 为 DragRotateHandler 添加 disablePitch/enablePitch 方法。 为 TouchZoomRotateHandler 添加 disableTapDragZoom/enableTapDragZoom 方法。 将 Map 类的 setLanguage、getLanguage、setWorldview、getWorldview 方法设为稳定的公共方法(此前为私有)。 从package.json中移除所有直接依赖项,以略微减小 NPM 安装的大小和时间。 改进带边框线条的抗锯齿效果。 实现常规道路数据和高清道路数据的自动合并,为未来 Mapbox Standard 的更新做好准备。 错误修复 修复了有时会出现黑框而不是符号图标的问题。 修复了高架道路图块边界的精度问题。 修复堆叠式地下道路的渲染问题。 修复与来自不受信任的样式或图块的对象原型污染相关的轻微漏洞。 修复Standard style中的Cutoff is currently disabled on terrain警告。 修复外观条件验证,使其能够接受复合表达式。 修复通过model-line-cutout-mode属性实现模型抠图淡入淡出的问题。 修复符号图层步长表达式求值的问题。 修复自定义图层渲染与 data-drivenline-emissive-strength并行渲染时出现的问题。 更新说明:https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.25.0

优秀的个人博客,低调大师

Mapbox GL JS 3.18.1 发布,WEB GIS 开发框架

Mapbox GL JS 3.18.1 现已发布,此版本更新内容包括: Features and improvements 为 clip layers 添加支持visibility属性支持。 提升精细数值范围的raster-color精度。 Bug fixes 修复 edge cases 下的 color interpolation throwing 错误。 修复 no icon-size的外观问题。 修复与 elevated raster layers 配合使用时符号消失的问题。 更新说明:https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.18.1

优秀的个人博客,低调大师

Mapbox GL JS 3.18.0 发布,WEB GIS 开发框架

Mapbox GL JS 3.18.0 现已发布,此版本更新内容包括: Features and improvements 为text-field内的图像添加scaleFactor支持。 为GeolocateControl添加showButton选项,可隐藏控制按钮。 为GeolocateControl添加followUserLocation选项和setFollowUserLocation方法,以控制地图是否跟随用户的位置。 改进GeolocateControl超时处理机制。 在外观中添加对text-rotate、text-size和text-offset属性的支持。 为方向光添加shadow-draw-before-layer属性,允许控制图层堆栈中的阴影绘制顺序。 向模型图层添加model-allow-density-reduction属性。 Bug fixes 修复模型层上的交互处理程序无法正常工作的问题。 修复可拉伸图标在未启用icon-text-fit时渲染尺寸错误的问题。 修复icon-size在coalesce表达式中无法正常工作的问题。 修复使用nearestraster-resampling时的raster-color插值问题。 修复 ortho projection 范围内高位栅格图层渲染的渲染截断问题。 修复符号位置问题,包括可选部分和缺失部分。 为GeolocateControl错误事件公开所有错误属性 修复在dynamic: true模式下查询多边形时出现的错误。 修复AttributionControl链接清理问题。 修复模型加载期间通过ModelSource.setModels更新模型源的问题。 在map.getStyle()output 中保留的 featuresets。 ​​​​​​​详情可查看更新说明:https://github.com/mapbox/mapbox-gl-js/releases/tag/v3.18.0

优秀的个人博客,低调大师

京东云PostgreSQL在GIS场景的应用分享

在地图或地理信息有关的场景里,地址关键词的检索尤其重要。比如打开百度地图,想要查询某个位置的信息“北京市海淀区清华东路17号中国农业大学”,往往我们输入的是关键词“中国农业大学”而不是精确到街道的详细地址信息。在地址关键词检索的背后,需要的是一款可以支持全文检索和模糊查询的数据库与之匹配,以此快速提高地址检索的效率。 PostgreSQL被誉为“世界上可获得的最先进的开源数据库 ”,拥有很强的文本搜索能力,不仅支持全文检索,PostgreSQL还支持模糊查询、正则查询。除此之外,PostgreSQL还内置了表达式索引、Gin索引功能,配合丰富的插件生态,在地址关键词检索方向有比较大的优势。 本文介绍了一种基于PostgreSQL物流地址关键词检索的方法,以此来说明如何用PostgreSQL提升物流地址关键词的检索效率。 一、应用背景 在需要地址检索的场景中,用户输入地址文本后需要对地址进行分词,然后通过全文索引技术与地址语料数据库进行匹配,得到规范化的地址信息,并在此基础上进行地址定位。通常地址查询语句在经过地址分词处理后会被分割成几段关键词,通过关键词匹配到历史地址语料数据库,再返回查询语句得到查询结果。 通常从用户输入关键词查询到得到返回结果由于关键词分词和匹配方法不同,会耗时几秒到几十秒不等。 检索数据库中的条目是很基本常见的功能,实现的方法也很多,常见包括: 1、基于Elasticsearch或Lucene这类专业独立的检索引擎实现 2、基于数据库自带的检索功能实现 虽然基于Elasticsearch这类系统能实现比较灵活的检索功能,但开发和运维成本也将大大增加,如何利用PostgresSQL内置的功能快速高效的实现大多数中文检索场景是我们要讨论的技术方案。 二、技术方案 GIN(Generalized Inverted Index, 通用倒排索引) 是一个存储对(key, posting list)集合的索引结构,其中key是一个键值,而posting list 是一组出现过key的位置。如('hello', '14:2 23:4')中,表示hello在14:2和23:4这两个位置出现过,在PostgreSQL中这些位置实际上就是元组的tid。表中的每一个属性在建立索引时,都可能会被解析为多个键值,所以同一个元组的tid可能会出现在多个key的posting list中。通过这种索引结构可以快速的查找到包含指定关键字的元组。 pg_trgm是PostgreSQL基于N-gram模型分词的扩展插件,它的基本思想是将文本里面的内容按照字节进行大小为N的滑动窗口操作,形成了长度是N的字节片段序列,pg_trgm就是三元的3-Gram,每连续的3个字符为一个TOKEN,然后在对TOKEN建立GIN倒排索引,就可以进行高效、精准的模糊查询。 pgbigm与pg_trgm类似,也是PostgreSQL基于N-gram模型分词的扩展插件,区别在于pgbigm是二元的2-Gram。 结合PostgreSQL 索引和分词模型的特点,我们构建了1亿行左右的北京区域的本文地址数据进行性能测试,对比分析PostgreSQL在物流关键词检索的场景里有明显效率的提升,测试结果如下: 从以上结果可以看出,无论是pg_trgm+gin还是pgbigm+gin性能比常用的Btree在进行模糊查询的时候,性能要好很多。同时,因为pg_trgm生成的TOKEN是三个字符,只有在三个字符以上条件,才能匹配到对应的TOKEN,当小于3个字符,需要前后模糊搜索1个或者2个字符,所以检索性能下降比较明显,相比来说pgbigm(基于二元的Tri-Gram)在处理单字、双字字符的模糊查询效率都比较高。由于物流的关键字都是三个字符以上,所以采用的是pg_trgm+gin的方案进行关键词检索查询,从而保证毫秒级别的响应时间。 另外对于文本地址数据,往往都具备自然语言的特性,jieba结巴分词是一个强大的分词库,分词更加贴合业务属性特点,主要功能包含:支持不同模式的分词、自定义字典、关键字提取、词性标注。pg_jieba运用了jieba分词算法,构建了PostgreSQL中文分词插件,分词效果也有不错的表现。 三、总结 综上,PostgreSQL支持丰富的索引,具备强大的全文检索能力以及多样的插件生态,支持不同场景下的文本查询,用户完全不需要将数据同步到搜索引擎,再来查询,使用PostgreSQL可以大幅度的简化用户的架构,开发成本,同时保证数据查询的绝对实时性。 京东云基于开源的 PostgreSQL构建的一款功能强大的关系型数据库云数据库 PostgreSQL ,支持丰富的数据类型及地理信息扩展,具有强大的并行计算能力。支持备份、监控、迁移等全套解决方案。 作者:曲艺伟/彭智

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册