- 博客(44)
- 资源 (35)
- 收藏
- 关注
原创 10-ArcGIS For JavaScript -- 三维场景导出为图片(PNG/JPEG)
三维场景开发过程中,时常会出现需要保存当前场景的内容,去做一些分析或者场景展示。如果使用计算机自带的截图功能,只能将当前的页面截取到计算机本地,不能直接提供给程序去使用。ArcGIS For JavaScript 的SceneView对象中提供了一个takeScreenshot函数,它可以创建当前视图的屏幕截图。屏幕截图仅包括在画布上渲染的元素 (所有地理元素),但不包括覆盖的 DOM 元素 (UI、弹出窗口等)。默认情况下,会创建整个视图的屏幕截图。
2025-03-26 09:03:11
772
原创 09-ArcGIS For JavaScript -- 基于ThreeJS实现动态GLTF模型加载
基于Three.js的渲染方式,集中到ArcGIS For JavaScript场景中,实现动态GLTF模型的展示。
2025-03-17 10:09:58
1054
原创 08-ArcGIS For JavaScript-通过Mesh绘制几何体(Cylinder,Circle,Box,Pyramid)
对于三维场景而言,二位的点、线、面,三维的圆、立方体、圆柱等都是比较常见的三维对象,在ArcGIS For JavaScript中我们知道点、线、面可以直接通过Geometry的Point、Polyline和Polygon去绘制,而立方体的几何绘制则需要通过Mesh对象提供的方法去绘制,这怕文章主要讲解Mesh下的几何体绘制。
2025-01-20 17:31:03
711
原创 07-ArcGIS For JavaScript--隐藏参数qualitySettings(memory和lod控制)
改文章主要介绍了ArcGIS For JavaScritpt中隐藏的一些参数,可以修改当前场景的使用内存和修改模型加载的lod层级。
2024-12-31 17:04:01
1213
原创 06-ArcGIS For JavaScript-requestAnimationFrame动画渲染
本节主要讲解与时间相关的三个方法setTimeout()、setInterval()和requestAnimationFrame(),这三个方法都属于浏览器的window对象的方法,这三个函数能够更好的服务于2Dcanvas动画、WebGL动画等方面。
2024-10-12 17:25:47
596
原创 05-ArcGIS For JavaScript-RenderNode后处理效果
ArcGIS For JavaScript提供了RenderNode类,去实现一些后处理的效果,比如颜色混合、高亮处理、法线等功能。
2024-07-30 23:27:52
677
原创 04-ArcGIS For JavaScript的可视域分析功能
ArcGIS for JavaScript最新发布了4.30版本的api,其中新增了对于模型场景的视域分析,并且提供了很好的交互功能,使其在项目应用中又有了更多的可能性。
2024-07-03 16:15:31
779
原创 03-ArcGIS For JavaScript结合ThreeJS功能
ArcGIS For JavaScript使用externalRenderer去实现和ThreeJS的功能结合
2024-05-21 18:58:51
1957
12
原创 02 - ArcGIS For JavaScript-矢量数据的符号化处理(Symbol)
ArcGIS中的符号化,及将矢量数据(点、线、面)通过给其设置颜色、边框、样式实例化为一个具化的对象。ArcGIS提供了Symbol去处理符号化问题。Symbol定义如何在GraphicLayer上如何显示点、线、面、文本,符号定义了几何对象所有的非地理特征方面的外观,例如图形的颜色,边框线样式,api中有许多的符号类,每个类都只允许你使用唯一的方式去制定符号。每种符号都用于一种特定的类型。
2024-04-16 18:56:27
1035
1
原创 01、ArcGIS For JavaScript 4.29对3DTiles数据的支持
ArcGIS对3dtiles数据加载历史性时刻,完成了Cesium和ArcGIS两个Web GIS平台的数据互通。
2024-04-10 16:33:38
1773
4
原创 Spring Mvc处理CORS跨域问题
对于前端来说,跨域问题会经常遇到,前端有很多的处理方法,例如JSONP 就是使用的比较多的方案,但 JSONP 是一个非官方的跨域协议同时也只支持 GET 请求。所以这里就使用CORS处理跨域。这种处理方式,将工作完全交付给了后台java层去做了。下面简单说明下使用的步骤:1、在web.xml中添加如下代码:<filter> <filter-name>cors</filter-name> <filter-class>myCORSFi.
2021-08-26 18:05:01
594
原创 JavaScript中获取select对象中选中的内容
一、Jquery方式获取var text= $("#factor").find("option:selected").text();var value = $("#factor").find("option:selected").val();二、Js原生的dom方式获取。var selectObj = document.getElementById("factor");var value = selectObj.options[selectObj.selectedIndex].value
2021-07-21 17:20:36
1124
2
原创 Cesium-坐标转换(屏幕坐标、世界坐标、经纬度之间的转换)
一、经纬度转换为世界坐标//方法一Cesium.Cartesian3.fromDegrees(longitude, latitude, height, ellipsoid, result)//方法二var ellipsoid=viewer.scene.globe.ellipsoid;var cartographic=Cesium.Cartographic.fromDegrees(lng,lat,alt);var cartesian3=ellipsoid.cartographicToCarte
2020-12-09 10:29:05
17582
原创 shader常用数学函数整理(持续更新)
step(a,b) b >= a ? 1:0smoothstep(x,y,a); //a如果小于x返回0 如果a>y返回1 在x y之间返回 3a^2-2a^3saturate(x);//如果x取值小于0,则返回值为0。如果x取值大于1,则返回值为1。若x在0到1之间,则直接返回x的值.)lerp(a,b,w); //(a,b,w)当w为0时返回a,为1时返回b,当w在0-1之间时,比重w将ab进行线性插值,可以实现由快变慢的效果fract(x);//返回x的小数部分sign
2020-12-02 11:44:15
1072
原创 Cesium-Entities添加模型并修改模型方向
function setModelDirection( longitude, latitude, direction){ var center = Cesium.Cartesian3.fromDegrees(longitude, latitude,0); var heading = Cesium.Math.toRadians(direction); var pitch = 0; var roll = 0; var hpr = new Cesium.HeadingPi.
2020-08-21 15:47:02
4601
原创 Cesium-设置地图最大最小显示范围
//设置地图最大最小显示范围function setViewerRange(viewer, minZoom, maxZoom){ minZoom = (minZoom==undefined) ? 50 : minZoom; maxZoom = (maxZoom==undefined) ? 550 : maxZoom; viewer.scene.screenSpaceCameraController.minimumZoomDistance = minZoom; viewer.
2020-05-26 17:25:35
5314
原创 Cesium-相机视角锁定(针对模型)
Cesium加载模型的方式一般分为两种:1、加载Entity类型模型。var entity = viewer.entities.add({ position: Cesium.Cartesian3.fromDegrees(lon,lat), model: { uri:"../mapdatas/model.glb", color: Cesium.Color.GAINSBORO, colorBlendAmount: 0.4 }})
2020-05-26 17:17:12
7555
2
原创 Canvas学习-图片操作
在Canvas中,我们不仅可以绘制各种形状的图形,还可以将图片导入到Canvas中进行各种操作,例如平铺、切割、像素处理等。下面这整理的学习代码笔记<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport...
2020-04-14 16:46:20
251
原创 Canvas学习-直线绘图
主要是学习Canvas过程中的学习笔记。主要是分享一些代码出来。代码中主要几个知识点会提前说明下:正多边形的绘制,参考下面的坐标示例: 五角星参考图: 下面是学习代码。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <m...
2020-04-04 16:24:02
344
原创 Java学习笔记整理
1、java获取文件扩展名的方法import java.io.*;public class FileTest{ public static void main(String args[]){ File f =new File("TileTest.doc"); String fileName=f.getName(); String prefix=fil
2016-05-05 17:44:46
414
转载 Redis学习笔记之一---- Redis的三种启动方式
原文地址:http://futeng.iteye.com/blog/2071867?utm_source=tuicoolredis源码下载地址:http://download.youkuaiyun.com/detail/haitunxiaomo/8647255Part I. 直接启动安装Shell代码: tar zxvf redis-2.8.9.tar
2015-04-29 22:49:56
521
原创 python调试工具----pycharm快捷键及一些常用设置
pycharm快捷键及一些常用设置,有需要的朋友可以参考下。Alt+Enter 自动添加包Ctrl+t SVN更新
2015-04-23 11:25:26
14188
原创 Win8.1学习之----系统遇到DEP0700和出现“This app can't be activated by the Built-in Administrator”问题
系统遇到DEP0700和出现“This app can't be activated by the Built-in Administrator”问题
2015-04-21 10:59:31
3221
原创 Windows和Linux下获取当前可执行文件路径和工作目录
(1)获取当前可执行文件路径:#include <shlwapi.h>#pragma comment(lib, "shlwapi.lib")wchar_t szExePath[MAX_PATH] = {0};GetModuleFileNameW(NULL, szExePath, sizeof(szExePath));PathRemoveFileSpecW(szExePath);
2015-04-09 10:24:15
7323
原创 Linux学习—svn: 无法使用外部编辑器取得日志信息;请尝试设定 $SVN_EDITOR 环境变数
svn: 无法使用外部编辑器取得日志信息;请尝试设定 $SVN_EDITOR 环境变数
2015-03-25 13:51:23
2077
原创 C++编程总结之虚函数的使用
对于一个单一的类来说,析构函数是不是虚函数,其没有实质性的意义。但是当当前类作为基类的时候,基类的析构函数是不是虚函数则会对程序带来不同程度的影响。看下下面的代码运行结果:#includeusing namespace std;class Base{public: Base() { cout << "Base:Constructor" <<endl; } ~Base()
2014-12-21 21:31:27
624
原创 C++智能指针的设计和使用
对于一个C++的使用者来说,指针的使用可以算的上是家常便饭,但是在使用的过程中,很多时候可能会因为new或者malloc了一个对象,而忘记最后结束的时候去释放掉(我就会犯这样子的错误),从而导致内存泄露。而此时智能指针可能可以帮助我去解决这个问题。智能指针(smart pointer)是利用个引用计数的策略去处理指针的释放,从而保证指针的安全性。通常情况下,我们会自己去设计一个智能指针类去管理
2014-12-21 15:49:40
903
转载 VC 线程间通信的三种方式
VC 线程间通信的三种方式 1.使用全局变量(窗体不适用) 实现线程间通信的方法有很多,常用的主要是通过全局变量、自定义消息和事件对象等来实现的。其中又以对全局变量的使用最为简洁。该方法将全局变量作为线程监视的对象,并通过在主线程对此变量值的改变而实现对子线程的控制。 由于这里的全局变量需要在使用它的线程之外对其值进行改变,这就需要通过volatile关键字对
2014-09-10 11:35:50
919
原创 fatal error C1010: unexpected end of file while looking for precompiled head
解决方案:查下是在哪个文件出错,找到包含出错这个文件的CPP文件右键单击项目工程中的cpp文件,在菜单Project->Settings->C/C++->Precompile Header,设置为第一项:Not using precompile headers。 我的这样弄过就可不出错了
2014-08-08 15:25:34
535
原创 MFC中模态对话框和非模态对话框
MFC的对话框非为两种,一种叫模态对话框(Modal Dialog Box,又叫做模式对话框),一种叫做非模式对话框(Modaless Dialog Box,又叫无模式对话框)。两者的区别在于当对话框打开的时候,是否允许用户进行其他对象的操作。
2014-08-07 22:33:47
1043
原创 数据库基本操作
一、数据表 Student(S#,Sname,Sage,Ssex) 学生表 S#:学号;Sname:学生姓名;Sage:学生年龄;Ssex:学生性别 Course(C#,Cname,T#) 课程表 C#,课程编号;Cname:课程名字;T#:教师编号 SC(S#,C#,score) 成绩表 S#:学号;C#,课程编号;score:成绩 Teacher(T#,Tname) 教师表 T#:教师编号; Tname:教师名字
2014-08-06 22:32:01
1504
原创 vs2003 调试器失效的解决方法 .
某日打开VS2003调试程序,突然遇到一个错误提示:The debugger is not properly installed, run setup to install or repair the debugger经分析,记得是360安全卫士把mdm关掉了。 重装偶所不欲也,想别的办法解决。经试验,可以按如下办法解决:C:/Program Files/Common Fi
2014-07-23 12:37:47
619
原创 python 启动提示IDLE's subprocess didn't make connection问题的解决方法
问题:提示错误:IDLE's subprocess didn't make connection.Either IDLE can;t start a subprocess or personal firewall software is blocking the connectionThat usually means that your firewall is blo
2014-07-20 10:43:46
8566
3
转载 基于TCP(面向连接)的Socket编程(来自《VC++深入详解》)
基于TCP的socket编程的服务器断程序流程如下:1 创建套接字(socket)。2 将套接字绑定到一个本地地址和端口上(bind)。3 将套接字设为监听模式,准备接受客户请求(listen)。4 等待客户请求到来;当请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept)。5 用返回的套接字和客户端进行通信(send/recv)。6 返回,等待另
2014-05-20 16:02:20
969
原创 链表逆序的实现方法
typedef struct Node{ char iElement; Node* pNext;};typedef struct Link{ Node* pHead; int iLinkSize;};Link* initLink(){ Link* pLink = (Link*)malloc(sizeof(Link))
2014-05-08 16:17:07
705
windows SDK10.0.14393.0(vs2015)
2023-01-18
如何编写带有code和图片、样式的回复框
2023-04-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人