03 2021 档案

摘要:好久没更新了,因为我在--憋--大--招--,对,就是今天这篇。 今天跟大家分享一下我的开源GIS解决方案经历。 --额-- 考虑到单聊技术解决方案你可能会很快睡着,所以我今天会把重点放在我封装地图API这个事情上,以封装地图API的经历为线索,穿插着讲一些当时用到的开源GIS架构。 文章稍微有点长 阅读全文
posted @ 2021-03-31 22:37 李海家 阅读(694) 评论(0) 推荐(0) 编辑
摘要:使用Setup Factory 9制作包含ArcGIS Engine的安装包的脚本【屏幕】->【安装之后】->【编辑】->【操作】->【On Next】-- These actions are performed when the Next button is clicked.-- 询问用户是否安装 阅读全文
posted @ 2021-03-26 11:23 李海家 阅读(179) 评论(0) 推荐(0) 编辑
摘要:用ArcGIS Engine 开发的软件在分发前可使用Wise、InstallShield打包工具制作安装包以下介绍在用 ArcGIS Engine Runtime制作打包文件时的无界面参数 过程描述 1 执行安装时的参数Msiexec.exe /i "%MSIPATH%" /qn ADDLOCAL 阅读全文
posted @ 2021-03-26 11:18 李海家 阅读(274) 评论(0) 推荐(0) 编辑
摘要:Promise的执行顺序会设计到JavaScript的事件循环。 找到一张图,来理解: 宏队列: 用来保存待执行的宏任务(回调), 比如: 定时器回调/DOM事件回调/ajax回调 微队列: 用来保存待执行的微任务(回调), 比如: promise的回调/MutationObserver的回调 JS 阅读全文
posted @ 2021-03-18 22:00 李海家 阅读(335) 评论(0) 推荐(0) 编辑
摘要:Promise是一个异步编程的解决方案。 之前的方案是回调函数的方式。优点是指定回调函数的位置更灵活,和解决了回调地狱问题。 规范是Promise A+。 下面手写实现一遍Promise便于理解。 总体结构 1234567891011121314151617181920212223242526272 阅读全文
posted @ 2021-03-18 21:59 李海家 阅读(46) 评论(0) 推荐(0) 编辑
摘要:在函数组合时,如果有异步操作,那么ramda中compose应该怎么写呢? 在写空间查询例子的时候,就遇到了这个问题,其中doQuery方法是一个异步函数。 解决方法是一个andThen函数。 代码如下: 12345678910111213141516171819202122232425262728 阅读全文
posted @ 2021-03-18 21:56 李海家 阅读(122) 评论(0) 推荐(0) 编辑
摘要:对象属性的增删改查 方法说明 assoc / assocPath 添加或者修改属性 dissoc / dissocPath / omit 删除属性 evolve 修改属性 merge 合并对象 prop / pick / has / path / propOr / pathOr 读取属性 keys 阅读全文
posted @ 2021-03-18 21:55 李海家 阅读(50) 评论(0) 推荐(0) 编辑
摘要:背景 前段时间发现了ramda这个函数式的JavaScript的库。一直没机会用。今天遇到个需求,刚好可以使用上。 要求是把后台接口返回的数据格式转化成与echart对接的数据格式,如图: 1234567891011121314151617181920212223242526272829 { "20 阅读全文
posted @ 2021-03-18 19:42 李海家 阅读(172) 评论(0) 推荐(0) 编辑
摘要:需要临时写点后端代码,实现最基础的增删改查。 在已有的项目框架(Spring Boot)中,观察其他模块的实现,发现需要7个文件。 热心的同事还专门电话给我讲解spring的目录结构和层级关系。 整理记录。 目录结构 123456789101112 src/main├── java/com.geod 阅读全文
posted @ 2021-03-18 19:40 李海家 阅读(181) 评论(0) 推荐(0) 编辑
摘要:背景 在天地图官网服务可以看到,天地图提供了多种底图服务,分别有两种投影类型,CGCS2000和Web Mercator。 WMTSLayer加载失败 使用WMTSLayer进行加载 12345678 const wmtsLayer = new WMTSLayer({ id: "wmts", url 阅读全文
posted @ 2021-03-18 19:38 李海家 阅读(512) 评论(0) 推荐(0) 编辑
摘要:遇到个问题,二维样式在三维下,显示异常:显示不全,样式随地图拖拽会闪烁、变化。如下图: 代码中symbol设置: 123456789 var symbol = { type: "simple-fill", // autocasts as new SimpleFillSymbol() color: [ 阅读全文
posted @ 2021-03-18 19:37 李海家 阅读(65) 评论(0) 推荐(0) 编辑
摘要:ArcGIS JS API 在当前(4.15版本)提供有WebTileLayer、WMSLayer、WMTSLayer等图层类,但并没有提供加载WFS服务的图层类。所以使用FeatureLayer来实现加载。 WFS,Web Feature Service,网络要素服务 思路 手动构造Feature 阅读全文
posted @ 2021-03-18 19:36 李海家 阅读(286) 评论(0) 推荐(0) 编辑
摘要:网上有很多的本地部署ArcGIS API for JavaScript教程。 我翻译并简单修改了官网的部署教程(API解压后的install.html),整理如下。 准备工作 官网下载压缩包,然后解压后放置到要部署的web服务器上,可能是IIS、Tomcat或Nginx。 修改代码 打开文件/var 阅读全文
posted @ 2021-03-18 19:35 李海家 阅读(531) 评论(0) 推荐(0) 编辑
摘要:项目中有消息推送的需求,就用到了WebSocket。 先在菜鸟教程上抄一段介绍: WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket 阅读全文
posted @ 2021-03-18 19:34 李海家 阅读(198) 评论(0) 推荐(0) 编辑
摘要:上承 CesiumWidget实际上和Viewer差不多。以下两句代码用于初始化,效果是差不多的。 const widget = new Cesium.CesiumWidget('id选择器') const viewer = new Cesium.Viewer('id选择器') 实例化Viewer必 阅读全文
posted @ 2021-03-16 14:33 李海家 阅读(147) 评论(0) 推荐(0) 编辑
摘要:目录 1. 源码包和分发包 2. npm/node版本 3. 打包命令大全 3.1. 架起本地开发者站点&文档服务(使用分发包) 3.2. 傻瓜式打包 - 打包成官方的那个分发包(使用源码包) 3.3. 发布式打包(使用源码包) 3.4. 常用打包命令大全(使用源码包) 1. 源码包和分发包 源码包 阅读全文
posted @ 2021-03-16 14:30 李海家 阅读(189) 评论(0) 推荐(0) 编辑
摘要:源码下载 源码可以从源码包和发行包中的Source目录中获取。 Cesium的模块化机制从1.63版本开始,由原来的RequireJs变为ES6。但有可能是原先设计耦合的问题,内部依旧是ES5实现。 入口:实例化Viewer时到底发生了什么 写Cesium程序时,都写过这一句: let viewer 阅读全文
posted @ 2021-03-16 14:29 李海家 阅读(158) 评论(0) 推荐(0) 编辑
摘要:1. 官方在线帮助、示例代码及入门导航 JsAPI最新版首页:https://developers.arcgis.com/javascript/ JsAPI最新版在线帮助(模块查询):https://developers.arcgis.com/javascript/latest/api-refere 阅读全文
posted @ 2021-03-16 14:23 李海家 阅读(133) 评论(0) 推荐(0) 编辑
摘要:创建一个要素类是很简单的,只需要获取一枚IFeatureWorkspace或者一个IFeatureDataset,然后调用其CreateFeatureClass()即可。 这个CreateFeatureClass()方法定义如下: public IFeatureClass CreateFeature 阅读全文
posted @ 2021-03-16 14:21 李海家 阅读(172) 评论(0) 推荐(0) 编辑
摘要:目录 1. 经纬度与米【告诉大家GIS中的坐标系核心的两种坐标系定义,地理坐标系统vs投影坐标系统】 2. 为什么有两种表达(不同点) 3. 内在联系(相同点)【指出投影坐标系统的广义定义,即PCS=f(GCS)】 4. 常用坐标系统(4.1 WKID;4.2 地理坐标系统;4.3 投影方法;4.4 阅读全文
posted @ 2021-03-16 14:18 李海家 阅读(546) 评论(0) 推荐(0) 编辑
摘要:目录: 0. 预备知识(WKT的概念) 1. 硬盘上的数据/数据库(shp、geojson、tif栅格、几个单文件数据库、kml/gml/gpx) 2. GIS数据服务种的坐标系(2.1 ArcGIS家的/2.2 geoserver的) 3. 代码种的坐标系(3.1 AO/AE 3.2 ArcGIS 阅读全文
posted @ 2021-03-16 14:16 李海家 阅读(795) 评论(0) 推荐(0) 编辑
摘要:从第一次上地图学的课开始,对GIS最基本的地图坐标系统就很迷。也难怪,我那时候并不是GIS专业的学生,仅仅是一门开卷考试的专业选修课,就没怎么在意。 等我真正接触到了各种空间数据产品,我才知道万里长征第一步就是:处理坐标系统。 想必各位从业人员多多少少都会听说过几个名词,可能有那么点印象吧。比如,高 阅读全文
posted @ 2021-03-16 14:15 李海家 阅读(843) 评论(0) 推荐(0) 编辑
摘要:什么是VRP? VRP就是车辆配送。 大家有没有想象过一个城市的某个快递营业点,是怎么让各个快递员配送快递的? 每个快递员针对那片区域的客户,如何走路线才最省时间? 也许你会说,最短路径分析可以做到——那么,这可不能一个一个分开来分析呀?而且与最短路径有个最大的区别就是,VRP问题,车子出去走一圈最 阅读全文
posted @ 2021-03-16 14:12 李海家 阅读(553) 评论(0) 推荐(0) 编辑
摘要:ArcGIS 网络分析[2.1] 最短路径 最短路径求解 【如果看到此博客还没有网络数据集的,请参考第一章的内容,点击我,看目录】 最短路径,是什么最短?时间最短?距离最短?什么距离?路程距离? 考虑到拥堵问题,限速问题,换乘问题,在现实的最短路径远远比计算机中的最短路径要复杂,因为要考虑的因素太多 阅读全文
posted @ 2021-03-16 14:09 李海家 阅读(511) 评论(0) 推荐(0) 编辑
摘要:有很多同学虽然成功做好了网络数据集,但是分析时会出现这样的问题: 这是为什么呢? 这有三个可能的原因: 1. 两个点之间所有的道路没有连通(问题出在点、线数据上)。 2. 网络数据集出现了孤立的点位置。 3. 网络数据集的连通性有问题。 我就从这三个方面说说,如何避免这些问题。因为标题起的是点线要素 阅读全文
posted @ 2021-03-16 14:08 李海家 阅读(979) 评论(0) 推荐(0) 编辑
摘要:上篇已经创建好了线数据(shp文件格式)链接:点我 这篇将基于此shp线数据创建网络数据集。 在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文件参与。 如何解决这个弊端呢?见下篇,利用地理数据库即可。 本篇目录: 1. 创建网络数据集 2. 阅读全文
posted @ 2021-03-16 14:06 李海家 阅读(868) 评论(0) 推荐(0) 编辑
摘要:前阵子对ArcGIS API For JavaScript的网络分析有兴趣,但是不知道其数据是如何获取的。 查阅API知道,AJS的网络分析只有三个功能:最短路径(RouteTask)、最近设施点(ClosestFacilityTask)和服务区(ServiceAreaTask)。 而这三个分析类依 阅读全文
posted @ 2021-03-16 14:04 李海家 阅读(139) 评论(0) 推荐(0) 编辑
摘要:准备了以下的工具进行安装本地开发环境: 代码编辑器×1【本人使用VSCode 1.11】 Nodejs安装包×1【必须】(官网下6.10.x的就行了) 正常使用的Windows电脑一台(推荐Win7及以上电脑进行开发,最推荐Win10) 本文使用Powershell,cmd也可以的。 一、对于第一次 阅读全文
posted @ 2021-03-16 14:03 李海家 阅读(54) 评论(0) 推荐(0) 编辑
摘要:Task这个东西很有用,是AJS中用于解决各种乱七八糟任务的一个类。它有很多子类,有用于空间分析的,有用于空间查询的,等等。 这篇作为补充学习的第一篇,也是进阶学习的第一篇,我就改个写法。 我将使用思维导图,更好呈现逻辑信息。 Task类的继承关系 Task类继承自Accessor类,它又有17个子 阅读全文
posted @ 2021-03-16 14:00 李海家 阅读(93) 评论(0) 推荐(0) 编辑
摘要:【前言】 有好些网友问我怎么使用Server发布的地图服务了,其实非常的简单。 我在这里先声明:不提供Server软件,需要的请自行使用互联网搜索资源; 不阐述Server如何发布各各种服务,但是我会给出官方的文档(点我),发布服务其实各种老教程都很多了。 【软件准备】 ·Windows 64位以上 阅读全文
posted @ 2021-03-16 13:55 李海家 阅读(418) 评论(0) 推荐(0) 编辑
摘要:先看结果截图吧(不看过程可以直接看总结,在文末): 随便点击了两个城市斑块,出现结果如图。 我来解读一下这结果和以前的有什么不同: 这个例子使用了PopupTemplate,数据是Layer(使用PortalID创建的Layer)。 但是我们看到图中有个地方不同:当Percent change is 阅读全文
posted @ 2021-03-16 13:53 李海家 阅读(333) 评论(0) 推荐(0) 编辑
摘要:文前说明:关于style就是页面的css暂时不做评论,因为官方给的例子的样式实在太简单了,照抄阅读即可。 这篇文章有着大量AJS 4.x版本添加的内容,如监听watch、Promise对象、回调函数、异步处理等内容,原理性的东西我会在文末解释,各位看官不用担心看不懂,我尽量用通俗的语言解释这些。 惯 阅读全文
posted @ 2021-03-16 13:22 李海家 阅读(398) 评论(0) 推荐(0) 编辑
摘要:内容如上,截图自ESRI官网,连接:ArcGIS API for JavaScript 4.2(可能会跳转到4.3或者更高最新版本,如果有需要,到CSDN可以下载到4.2的离线文档) 【Get Started】 类似于绪论一样的东西,抽取了最需要关注的几个例子。如:加载Map和View,加载laye 阅读全文
posted @ 2021-03-16 13:18 李海家 阅读(203) 评论(0) 推荐(0) 编辑
摘要:目录如下: 连接:第二章 Mapping and Views 根据本人体会, 【这一章节主要是介绍地图(Map)和视图(View)的。】 其中,Get started with MapView(2D)和 Get started with SceneView(3D)两节介绍了如何加载ESRI服务器或者 阅读全文
posted @ 2021-03-16 13:15 李海家 阅读(95) 评论(0) 推荐(0) 编辑
摘要:1.构建模型 2.发布服务,将执行模式设置为同步 3.arcgis js前端调用gp服务 <!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1,maximu 阅读全文
posted @ 2021-03-16 13:08 李海家 阅读(193) 评论(0) 推荐(0) 编辑
摘要:网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用。 以下列举本人在学习中遇到的网络分析问题与经验总结。 1. 软件平台及数据准备 平台:Windows 10 操作系统,ArcGIS for Desktop 10.0或更高版本(本人使用10.4) 用到的软件和SDK:V 阅读全文
posted @ 2021-03-16 13:04 李海家 阅读(40) 评论(0) 推荐(0) 编辑
摘要:Skip to content Why GitHub? Team Enterprise Explore Marketplace Pricing Sign inSign up Esri Redlands, California, USA http://www.esri.com Repositories 阅读全文
posted @ 2021-03-16 13:03 李海家 阅读(286) 评论(0) 推荐(0) 编辑
摘要:数据搬运组件:基于Sqoop管理数据导入和导出 本文源码:GitHub || GitEE 一、Sqoop概述 Sqoop是一款开源的大数据组件,主要用来在Hadoop(Hive、HBase等)与传统的数据库(mysql、postgresql、oracle等)间进行数据的传递。 通常数据搬运的组件基本 阅读全文
posted @ 2021-03-15 16:41 李海家 阅读(103) 评论(0) 推荐(0) 编辑
摘要:一、配置详解 场景描述:MySQL数据表以全量和增量的方式向ElasticSearch搜索引擎同步。 1、下载内容 elasticsearch 版本 6.3.2 logstash 版本 6.3.2 mysql-connector-java-5.1.13.jar 2、核心配置 路径:/usr/loca 阅读全文
posted @ 2021-03-15 16:40 李海家 阅读(546) 评论(0) 推荐(0) 编辑
摘要:一、PostgreSQL简介 1、数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性、稳定性、数据一致性等特点,且可以运行在所有主流操作系统上,包括Linux、Unix、Windows等。PostgreSQL是完全的事务安全性数据库,完整地支持外键、联合、视图、触发器和存储过 阅读全文
posted @ 2021-03-15 16:39 李海家 阅读(92) 评论(0) 推荐(0) 编辑
摘要:一、ClickHouse简介 1、基础简介 Yandex开源的数据分析的数据库,名字叫做ClickHouse,适合流式或批次入库的时序数据。ClickHouse不应该被用作通用数据库,而是作为超高性能的海量数据快速查询的分布式实时处理平台,在数据汇总查询方面(如GROUP BY),ClickHous 阅读全文
posted @ 2021-03-15 16:38 李海家 阅读(126) 评论(0) 推荐(0) 编辑
摘要:一、FastDFS简介 1、基础概念 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件上传、文件下载等,解决了大容量存储和负载均衡的问题。 2、环境概览 1、默认存在Gcc编译环境,Centos7虚拟机2、安装LibFastCommon环境3、Fa 阅读全文
posted @ 2021-03-15 16:36 李海家 阅读(149) 评论(0) 推荐(0) 编辑
摘要:一、中间件简介 1、基础概念 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。 2、分布式数 阅读全文
posted @ 2021-03-15 16:35 李海家 阅读(91) 评论(0) 推荐(0) 编辑
摘要:一、简介和下载 1、Zookeeper简介 Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。 2、 阅读全文
posted @ 2021-03-15 16:34 李海家 阅读(62) 评论(0) 推荐(0) 编辑
摘要:一、环境搭建 环境版本 centos7jdk1.8 已搭建好rocketmq4.3 1、下载安装包 网址 https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.3.2/rocketmq-all-4.3.2-bin-release.zip# We  阅读全文
posted @ 2021-03-15 16:32 李海家 阅读(101) 评论(0) 推荐(0) 编辑
摘要:一、环境和版本 1、Linux:centos7 三台 三台Linux服务192.168.72.129192.168.72.130192.168.72.131Redis:redis-4.0.14 二、上传Redis软件 1、创建软件目录 [root@localhost local]# cd /usr/ 阅读全文
posted @ 2021-03-15 16:31 李海家 阅读(79) 评论(0) 推荐(0) 编辑
摘要:1、上传文件解压 [root@localhost mysoft]# tar -zxvf jdk-8u161-linux-x64.tar.gz[root@localhost mysoft]# pwd/usr/local/mysoft[root@localhost mysoft]# mv jdk1.8. 阅读全文
posted @ 2021-03-15 16:30 李海家 阅读(103) 评论(0) 推荐(0) 编辑
摘要:一、目录指令 1、创建目录make directory mkdir 目录名称 //mkdir spring,创建一个spring文件夹mkdir -p file/file/file //递归创建多级别关系目录mkdir dir/newdir //不使用递归mkdir -p dir/newdir/ne 阅读全文
posted @ 2021-03-15 16:24 李海家 阅读(179) 评论(0) 推荐(0) 编辑
摘要:Oracle数据库搬家牵扯出的一些知识点记录 工作原因,对开发服务器的数据库进行了迁移,实际执行操作之前查了一下迁移oracle数据库的可行方案,最后用了 exp/imp 进行导出导入(这个比较简单),以及附带看了一些表空间相关的知识点(重点哟),下面是一些记录。 一、exp导出整个实例数据 exp 阅读全文
posted @ 2021-03-09 18:44 李海家 阅读(79) 评论(0) 推荐(0) 编辑
摘要:初探three.js材质 这节我们浅谈一下THREE的材质。材质就是物体的皮肤,决定物体的表面。THREE的材质有很多种,他们有的和到相机的距离有关,有的和面的法向量角度有关,有的不受光照的影响,有的受到光照的影响会产生反射效果或者漫反射效果,也可以将多个材质合成一个。1. THREE.MeshBa 阅读全文
posted @ 2021-03-05 10:02 李海家 阅读(369) 评论(0) 推荐(0) 编辑
摘要:初探three.js光源 上一节我们简单的说了一下THREE中必要的元素。今天我们深入探讨一下各种THREE的光源。 一 基础光源 基础光源有4种1.THREE.AmbientLight(环境光源)2.THREE.PointLight(点光源)3.THREE.SpotLight(聚光灯)4.THRE 阅读全文
posted @ 2021-03-05 10:00 李海家 阅读(261) 评论(0) 推荐(0) 编辑
摘要:初探three.js 相信大多数选择前端的小伙伴都有一个设计师的梦,今天我来说一说three.js。three.js是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。学习了它之后,就可以在3D发挥你无穷的想象力和设计能力。虽说他是js,但是实际上是对 阅读全文
posted @ 2021-03-05 09:59 李海家 阅读(113) 评论(0) 推荐(0) 编辑