
javascript
yGIS
这个作者很懒,什么都没留下…
展开
-
利用并排的两个div展示二三维地图
今天将地图图层列表收缩隐藏显示功能实现后,继续做接下来功能遇到两个问题。一是div并排显示,二是arcgis for javascript的放大缩小按钮显示。新做的这个项目,需要用到二三维地图。按照需求说明,需要做到二三维地图的联动,而目前设想是在大的一个div下面,有两个小的div,其中左边的div用来放至二维地图,右边的div用于放置三维地图。因为在大的div中position中使用了fi...原创 2018-10-12 16:28:58 · 634 阅读 · 0 评论 -
openlayers开发&绘制点、圆、多边形
这个例子是使用openlayers来绘制矢量点、圆、和polygon的。首先需要创建一个地图。如下的代码。注意这里接入的是osm地图,相应的设置地图飞至的中心点,缩放层级。var flyPt= ol.proj.fromLonLat([106.671670,26.409000]); map = new ol.Map({ target:'map', ...原创 2019-04-23 20:27:55 · 8818 阅读 · 2 评论 -
SyntaxError: Unexpected token in JSON at position 0
今天在写请求地址的时候出现了如下的错误。后面发现是自己写的链接出现了问题. //http://localhost:8080/geoserver/sde/ows?service=wfs fetch("http://localhost:8080/geoserver/sde/wfs",{ method: "POST", ...原创 2019-05-13 22:25:49 · 9645 阅读 · 1 评论 -
openlayer开发&返回Geoserver发布的wfs指定字段信息
今天看到了群里的小伙伴,估计是觉返回的wfs服务字段过多的原因,现在想将字段进行控制。如下所示,如果使用下面形式的访问链接,将会返回所有的字段数据信息。而我们现在需要对返回字段有所取舍。http://localhost:8080/geoserver/sde/wfs?service=WFS&version=1.0.0&request=GetFeature&typeName...原创 2019-05-13 22:41:28 · 1256 阅读 · 0 评论 -
openlayer开发&layer.getLayerStatesArray is not a function
刚接触openlayer,多有不熟悉。报了如下的错误。检查了一下代码,原来是直接矢量的资源给加载进去了。 var wfsVectorSource = new ol.source.Vector({ format: new ol.format.GeoJSON(), projection: 'EPSG:4326', url: funct...原创 2019-05-13 09:20:19 · 6267 阅读 · 1 评论 -
在线检测json格式是否正确网站
https://jsonlint.com/原创 2019-05-15 14:47:26 · 8685 阅读 · 0 评论 -
openlayer开发&添加Geoserver发布的WFS服务
首先,我们这里需要使用Geoserver发布好wfs服务,我这里使用的是shapefile来创建的wfs要素服务。如下图所示,是Geoserver服务器展示的效果。在浏览器中,打开debug模式,推荐使用google浏览器。然后如下图所示。我们可以看到一些请求信息,这些东西后面将会用到。如图层名。注意了上面的服务是以WMS展示的,下面我们用代码来将发布好的服务添加进来。//投...原创 2019-05-10 20:58:04 · 801 阅读 · 0 评论 -
【webgl学习一】&绘制一个平面正方形
按照webgl编程指南,来使用webgl来绘制一个矩形。前端代码,创建一个canvas,设置填充区域,和填充颜色。<html> <head> <meta charset="utf-8"/> <title>第一个webgl程序</title> </head> <body onl...原创 2019-05-16 15:23:14 · 1308 阅读 · 0 评论 -
【webgl学习二】&顶点着色器、片元着色器
按照《webgl编程指南》学习着色器,webgl分为两种着色器,顶底着色器,片元着色器。顶点着色器:描述顶点的特性(位置、颜色等)的程序,顶点:二维、三维空间的点,图形的端点或交点、 片元着色器:进行着片元处理过程的程序。着色器使用类似c语言的OpenGL ES着色器语言来编写,下面分别编写顶点和片元着色器程序。 //顶点着色器 var ...原创 2019-05-16 19:51:49 · 1709 阅读 · 0 评论 -
Cesium开发&关于加载geoserver发布的wms地图服务
首先我们这里使用的是geoserver发布的wms地图服务,至于如何发布的,可以参考相关的资料。不过需要注意的是,cesium只支持epsg为3857和4326的投影,即web墨卡托投影和wgs84地理坐标。当然,我自己也没有测试过其他的坐标系,我们来看一下源代码。从下面的代码中,可以知道WMS有两个版本,这里使用geoserver发布的地图默认的是1.1.1版本的。 // U...原创 2019-04-17 20:34:59 · 4346 阅读 · 3 评论 -
Cesium源码分析&gltf解析
我这里的3dtile有一部分数据是由gltf构成的,在创建模型(model)的时候,构造函数里面,已经将该数据进行了解析。现在我们来看一下源代码是如何执行的,这里截取构造函数里面的一部分代码。 options = defaultValue(options, defaultValue.EMPTY_OBJECT); var cacheKey = options.c...原创 2019-04-22 15:55:00 · 3142 阅读 · 0 评论 -
ul与div的边距
今天在写一个的这样排版,在一个div里面有ul,其中ul中的li是横排排放的。那么我遇到的问题是ul里面的li与div有一定的边距,如下图所示,其中蓝色方框是一个li,而白色区域是一个div,图中圈出的红色方框表示li与div的距离,可见这个边距还是非常的大。经过查阅相关资料,得知需要设置ul的边距padding,我这里设置ul的边距padding-left:10px后,得到如下图的结果。...原创 2018-10-17 09:03:20 · 1826 阅读 · 0 评论 -
利用ajax请求arcgis发布的服务
首先在写这篇博客之前,要感谢我的同事们,得到他们的指点,学到了不少的东西。可以说站在巨人的肩膀上,让你看得更高、更远。也荣幸遇到这样的巨人。最近开发的这个地理信息系统项目,我负责了三维平台部分。在三维平台中需要接入二维发布的数据,而我们二维地图使用的是esri的arcgis发布的地图服务。下图是我们发布好地图服务,在这里从Layers中可以看出,我们发布的地图图层为一层。点击ArcGI...原创 2018-10-23 17:26:33 · 1715 阅读 · 3 评论 -
jquery表格插件DataTables的ajax请求数据
今天将主要部署了后台服务,安装tomcat,mysql配置、和设置环境。然后试着写了一个接口将数据在前台中展示,这里有很多的用户上传了数据,目前需要用于在表格上显示即可。我这里这里使用了datatablse这个插件,不得不说这个插件还是挺强大。来看一下服务接口中返回的数据。具体如下图所示。这些数据都是移动端采集回传到数据库中的。好了现在来看一下使用datatable来展示的效果。...原创 2018-12-19 21:32:46 · 2548 阅读 · 1 评论 -
daterangepicker时间范围选择插件
最近前端需要根据一定时间区间选择数据库里面的数据。我们使用bootstrap的daterangepicker,只要添加daterangepicker.js、daterangepicker.css以及moment.js,bootstrap插件即可。这个控件可以实现如下图的效果。在使用这个控件前需要设置相应的参数。 dateLimit:{...原创 2018-12-24 17:38:35 · 4682 阅读 · 1 评论 -
开源三维GIS之Cesium基本设置与加载天地图(五)
嵌入三维地球Cesium到我们的应用中,往往需要对最原始的Cesium初始化参数进行调整。下面是Cesium不经过任何参数设置的三维球界面。现在需要对右上角的按钮取舍进行选择,以及左下角的时间控件(动画控件、时间轴)、和Cesium的logo去掉。最后做出的效果如下图所示。这里还在三维球上加载天地图、以及其他地图。具体实现代码如下。<!DOCTYPE html&...原创 2019-01-05 10:47:48 · 10284 阅读 · 8 评论 -
javascript前端实现生成json格式数据并下载
今天来做一个简单数据下载功能,需要根据ajax请求的json格式数据,然后将这部分数据实现下载,我们这里借用Blob.js和FileServer.js两个js插件来实现的,具体代码如下所示。 $("#download_by_time").click(function(){ $.ajax({ ...原创 2018-12-25 21:27:59 · 6615 阅读 · 1 评论 -
cesium开发&加载shapefile制作的白膜
首先这里制作的shapefile白膜数据是.shp转为.gltf格式的支持cesium加载数据。其实还是一个json格式数据,具体是什么样如下图所示。{ "accessors": [ { "bufferView": 0, "componentType": 5123, "count": 36, "type": "SCALAR"原创 2019-02-22 09:42:28 · 7426 阅读 · 0 评论 -
cesium开发&从github上面下载源代码环境搭建
github上源代码安装。一开始我是想从github上面下载源代码来运行一下。首先使用webstorm打开下载后的源代码结构如下图所示。在gulp.js代码中可以看到有如下的函数。glslToJavaScript,这里需要利用nodejs和gulp来编译CzmBuiltins.js文件需要创建一个工程,将源代码中的glsl后缀的文件按照源代码中的路径配置过来。具体的工程如下图所示。...原创 2019-02-18 14:43:45 · 2707 阅读 · 0 评论 -
(十七)arcpy开发&利用arcpy在arcgis中实现对shapeifle要素复杂统计
这次我们来学习一下关于统计要素复杂性方面知识。首先、这里使用的是arcpy对要素进行遍历,根据要素的属性,这里取出一个要素的总点数,要素的几何部分数目。两个值相减。对一个shapefile文件所有的要素进行遍历。取出差值最大和最小值,相应的就可以计算出平均值,当然要素记录数目,多几何要素的统计就自然不在话下。其中这里的测试shapefile文件如下图所示。最后的实现代码如下所示。...原创 2019-02-19 07:59:16 · 1148 阅读 · 0 评论 -
cesium开发&使用requireJS来配置模块
配置好开发的源代码后,可以使用requireJS的方式来配置模块。下面是使用requireJS的方式来配置文件。首先来看一下工程的整个目录,如下图所示。其中,CesiumView为我们的运行文件,代码如下所示。define([ 'Cesium/Core/Cartesian3', 'Cesium/Core/createWorldTerrain', ...原创 2019-02-19 09:55:46 · 2098 阅读 · 0 评论 -
Cesium开发&Terrain数字高程地形数据编码与解码
这几天在开发地形数据发布工具的时候,对应数字高程地形数据的编码与解码中遇到如下的问题。提示的错误是:Expected sizeInBytes to be greater than 0, actual value was 0根据上面的提示,应该是加载四叉树数据出现了问题,再根据console控制台输出的提示,我想应该是开发地形发布工具切的地形高程数据出现了问题。于是在C++编写...原创 2019-03-31 19:18:14 · 3424 阅读 · 1 评论 -
cesium开发&只显示半边球
最近在做ceisum开发的时候遇到这样的问题,如下图所示,只显示了半边球。就我的情况而言是,是设置图层的json文件中,配置地形可见性,x层级的位置不对了。我设置的是从startX:0,endX:0,而我们知道如果对于零级而言这是左边那张瓦片,而如果是设置startx:1;endX:1那么将显示右边的半球。那么正确的设置应该是startX:0 endX:1,这样将会显示整个球。...原创 2019-04-08 20:22:28 · 3180 阅读 · 2 评论 -
Cesium源码分析&3dtile数据着色器解码
首先我来看一下这样的一个gltf,一般来说3dtile数据是由gltf和头文件信息组建而成。而现在我们要对shaders中的着色器进行解码。shaders分别右两部分构成,一部分是顶点着色器,另外一部分是片元着色器。着色语言为webgl,即使用了glsl语言,类似于C语言进行编写。而放到shaders数组中的存放形式,可以是二进制形式,也可以是数据视图,存放着缓冲区,也可以是json格式的数据。而...原创 2019-04-16 13:43:38 · 4305 阅读 · 0 评论