cesium编程中级(一)添加示例到Sandcastle 添加示例到Sandcastle在cesium编程入门(七)3D Tiles,模型旋转中提到过,这里是一份完整的说明 创建例子 开启node服务后打开 http://localhost:8080/Apps/Sandcastle/ 会自动跳到 hello world 示例 可以选择点击左上角的[New]按钮新建一个页面,也可以就在当前页面的[JavaScript code]面板中进行修改 如果需要添加界面元素,比如输入框,按钮之类,需要在[H…
cesium编程中级(二)源码编译 有些情况下,比如我们自己从Github下载了最新的代码,或者自己临时修改了一点代码,想要编译后的Build文件夹的内容,需要自行编译源码,这里介绍一下编译的方法 下载源码之后,可以发现根目录存在一个gulpfile.js文件,编译源码就是使用 gulp 编译的成果有四部分, 生成Apps文件夹,包括helloworld程序和沙盒Sandcastle 编译后的部署环境下的Cesium文件夹 编译后的调试环境下的Cesium文件夹 API文档 解压,或者git c…
cesium编程中级开篇 其实初级,中级并无定论,我理解的初级是根据官方教程,先学会如何部署环境,搭建hello world,使用官方提供的工具,完成一些示例, 而中级就是在这些的基础上,自己定制一些内容,或者项目过程中自己的一些思路,以及发现问题,解决问题的一些经验记录 不知不觉已经写了一些了,加油O(∩_∩)O哈哈~…
添加 3D Tiles,并调整位置 3D Tiles 是什么 3DTiles数据集是cesium小组AnalyticlGraphics与2016年3月定义的一种数据集,3DTiles数据集以分块.分级渲染,将大数据量三维数据以分块,分层的形式组织起来,可以大量减轻浏览器和GPU的负担是一个优秀的,并且格式公开的数据格式. 3D Tiles将用于流式传输3D内容,包括建筑物,树木,点云和矢量数据. 参考 官网 3dtiles 介绍 3D Tiles 3D Tiles将用于流式传输3D内容,包括建筑…
cesium编程入门(九)实体 Entity 在cesium编程入门(五)绘制形状提到过添加实体的方法,这一节聊一聊实体相关的一些内容: 先来看 Entity 的各个属性 id 唯一标志,如果没设置,值就为一个默认给定的GUID name 名称,可以不唯一 availability 可用性 show 可见性 description 描述 position 位置 orientation 方向 viewFrom 查看此对象的初始偏移量 parent 父节点 properties 与此实体关联的任意属…
cesium编程入门(八)设置材质 Cesium中为几何形状设置材质有多种方法 第一种方法 Material 直接构建Cesium.Material对象,通过设置Material的属性来进行控制,官方示例和API描述的比较清楚, API说明 材质示例 第二种方法 MaterialProperty 今天介绍通过MaterialProperty设置: Cesium 材质相关的类为 MaterialProperty,它有一下几个子类: ColorMaterialProperty ImageMateri…
面向对象编程中级篇: 编程思想概述: 面向过程:根据业务逻辑从上到下写垒代码  #最low,淘汰 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 #混口饭吃 def add(hostname,port,username,password,dbname) #连接数据库 #操作 #端口 def remove(hostname,port,username,password,dbname) #连接数据库 #操作 #端口 def create(hostname,port,userna…
第七章 面向对象编程-中级7.1 包7.1.1 Java 中的包7.1.2 Scala 中的包7.1.3 Scala 包的特点概述7.1.4 Scala 包的命名7.1.5 Scala 会自动引入的常用包7.1.6 Scala 包注意事项和使用细节7.1.7 包对象7.1.8 包对象的底层实现机制分析(重点)7.1.9 包对象的注意事项7.2 包的可见性7.2.1 回顾 Java 包的可见性7.2.2 Scala 中包的可见性介绍7.2.3 Scala 中包的可见性和访问修饰符的使用7.3 包的…
cesium编程入门(七)3D Tiles,模型旋转 上一节介绍了3D Tiles模型的位置移动,和贴地的操作,这一节来聊一聊模型的旋转, 参考<WebGl编程指南>的第四章 假设在X轴和Y轴构成的平面上,要让物体旋转角度为β,那么公式如下: 由此思路就出来了: 根据要旋转的角度,构建一个三阶旋转矩阵 获取3D tiles 的旋转矩阵modelMatrix,然后与旋转矩阵运算, 最后将计算结果再赋值给modelMatrix,完成. 参考代码: var m = tileset.modelMatr…
cesium编程入门 cesium是什么 Cesium 是一个跨平台.跨浏览器的展示三维地球和地图的 javascript 库. Cesium 使用WebGL 来进行硬件加速图形,使用时不需要任何插件支持,但是浏览器必须支持WebGL; Cesium是基于Apache2.0 许可的开源程序.它可以免费的用于商业和非商业用途. Cesium官方网站 cesium能做什么 支持2D,2.5D,3D 形式的地图展示, 可以绘制各种几何图形.高亮区域,支持导入图片,甚至3D模型等多种数据可视化展示 可用…
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET Core Razor 编程系列三——创建数据表及创建项目基本页面 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面 学习ASP.NET C…
cesium编程入门(七)3D Tiles,模型旋转 上一节介绍了3D Tiles模型的位置移动,和贴地的操作,这一节来聊一聊模型的旋转, 参考<WebGl编程指南>的第四章 假设在X轴和Y轴构成的平面上,要让物体旋转角度为β,那么公式如下: 由此思路就出来了: 根据要旋转的角度,构建一个三阶旋转矩阵 获取3D tiles 的旋转矩阵modelMatrix,然后与旋转矩阵运算, 最后将计算结果再赋值给modelMatrix,完成. 参考代码: var m = tileset.modelMatr…
一个openMP编程处理图像的示例: 从硬盘读入两幅图像,对这两幅图像分别提取特征点,特征点匹配,最后将图像与匹配特征点画出来.理解该例子需要一些图像处理的基本知识,我不在此详细介绍.另外,编译该例需要opencv,我用的版本是2.3.1,关于opencv的安装与配置也不在此介绍.我们首先来看传统串行编程的方式. 1 #include "opencv2/highgui/highgui.hpp" 2 #include "opencv2/features2d/features2d…
Cesium入门2 - Cesium环境搭建及第一个示例程序 Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 验证浏览器 Cesium需要浏览器支持WebGL,可以通过CesiumJS官网提供的一个HelloWorld例子来测试自己的浏览器是否支持Cesium.(推荐使用Chrome) 测试地址: https://cesiumjs.org/Cesium/Apps/HelloWorld.html 选择IDE 官…
添加 3D Tiles,并调整位置 3D Tiles 是什么 3DTiles数据集是cesium小组AnalyticlGraphics与2016年3月定义的一种数据集,3DTiles数据集以分块.分级渲染,将大数据量三维数据以分块,分层的形式组织起来,可以大量减轻浏览器和GPU的负担是一个优秀的,并且格式公开的数据格式. 3D Tiles将用于流式传输3D内容,包括建筑物,树木,点云和矢量数据. 参考 官网 3dtiles 介绍 3D Tiles 3D Tiles将用于流式传输3D内容,包括建筑…
一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有Http和Ftp的相关技术,是Windows平台上开发分布式应用最佳的实践方式.使用该框架,开发人员可以构建跨平台.安全.可靠和支持事务处理的企业级互联应用解决方案. 二.WCF的优势 1.统一性 WCF涵盖了之前微软推出的所有用于分布式开发的技…
环境搭建 环境搭建 编译 node 安装 Node.js安装包及源码下载地址为:https://nodejs.org/en/download/. 安装完成后,打开命令行,输入:node -v,如果结果为版本号,表明安装成功 $ node -v v6.10.3 cnpm 设置 国内使用npm时有时速度很慢,推荐使用cnpm替代,使用方法和npm一样,链接:淘宝 NPM 镜像 $ npm install -g cnpm --registry=https://registry.npm.taobao.o…
概述 Cesium 中包含两种添加 model 的方法,分别为: 通过 viewer.entities.add() 函数添加 通过 viewer.scene.primitives.add() 函数添加 两种方法本质上是相通的,方法 1对方法 2在某种程度上进行了封装. 两种方法的区别 表面区别 方法 1通过指定 model 的 position 和 orientation 来控制模型的位置,对模型进行精确变换的难度较大:方法 2通过 modelMatrix 控制模型的位置和方向,可进行较为精确的…
通过Entity添加形状 先来看一个添加立方体的例子 var viewer = new Cesium.Viewer('cesiumContainer'); var redBox = **viewer.entities.add**({ name : 'Red box with black outline', position: Cesium.Cartesian3.fromDegrees(-107.0, 40.0, 300000.0), box : { dimensions : new Cesium…
在Razor页面应用程序中添加一个实体 在本篇文章中,学习添加用于管理数据库中的书籍的实体类.通过实体框架(EF Core)使用这些类来处理数据库.EF Core是一个对象关系映射(ORM)框架,它简化了编写数据库访问的代码. 创建的实体类被称为POCO类(“普通的CLR对象”)因为他们没有在EF Core中有任何依赖.它们定义存储在数据库中的数据的属性. 一.添加一个实体类 在Visual Studio 2017的解决方案资源管理器中,右键单击该RazorMvcBooks,在弹出菜单中选择,项…
目的 安装JDK 9, 练习Jshell工具的使用, 体验Java的交互式编程环境. 什么是Jshell 其实就是一个命令行工具,安装完JDK9后,可以在bin目录下找到该工具,与Python的解释器极其相似,用过Python解释器的人应该会非常熟悉. 它可以让你体验交互式编程,有一些比较有趣的特性: 1.语句末尾可以省略分号 2.一般情况下不需要强制捕获受检异常 3.可以直接写表达式 4.在定义方法时可以引用其他方法或变量,且这些方法或变量可以在一段时间后被定义:  5.其它等等 安装JDK…
通过Entity添加形状 先来看一个添加立方体的例子 var viewer = new Cesium.Viewer('cesiumContainer'); var redBox = **viewer.entities.add**({ name : 'Red box with black outline', position: Cesium.Cartesian3.fromDegrees(-107.0, 40.0, 300000.0), box : { dimensions : new Cesium…
上个星期测试道的Monkey老师和我聊到测试用例参数过多的问题,其实这样的问题在我这里也同样经历过.比如我的测试用例必须面对不同的测试环境,每个环境有无数的参数,开发的最初阶段,因为参数少,所以就放在执行的命令行里,随着测试用例的不断增长,参数从4-5个增长到30多个,而且每个用例使用的参数也不完全相同,有使用ABCD的,有使用ADHJ的.另外有些参数想传一个数组进去,用命令行参数的方法就很难处理. 经过考虑,果断的使用配置文件来解决问题.选择配置文件当时有两个方案,一个是直接写成Ruby代码,…
还记得刚刚开始接触编程开发时,傻傻的将网站开发和网络编程混为一谈,常常因分不清楚而引为笑柄.后来勉强分清楚,又因为各种各样的协议端口之类的名词而倍感神秘,所以为了揭开网络编程的神秘面纱,本文尝试以一个简单的小例子,简述在网络编程开发中涉及到的相关知识点,仅供学习分享使用,如有不足之处,还请指正. 概述 在TCP/IP协议族中,传输层主要包括TCP和UDP两种通信协议,它们以不同的方式实现两台主机中的不同应用程序之间的数据传输,即数据的端到端传输.由于它们的实现方式不同,因此各有一套属于自己的端口…
面向对象并不是一种技术,而是一种思想,是一种解决问题的最基本的思维方式!如何理解使用?OOP:面向对象编程 (直接代码说明) 1.面向对象的基本概念 示例demo: <?php header("Content-Type: text/html;charset=utf-8"); //如何类的实例化? 例如: $newA= new a(); 利用类得到对象,过程是类的实例化.关键字new完成. //如何定义一个类? 例如: class a{} 类 //如何声明定义属性? 例如: pub…
C#终端的说明文档: http://www.rabbitmq.com/dotnet-api-guide.html 这里介绍使用RabbitMQ的几种典型场景. 1. 简单direct模式( http://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html).生产者发送消息到一个队列,消费者从队列读取消息.这是最简单的使用场景,下面的代码使用默认exchange,消息自动确认.注意后台接收消息的线程完成前不要关闭连接,这里消费者是通过Consol…
感性认识 界面介绍,viewer Geocoder : 查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图 Home Button :视角返回初始位置. Scene Mode Picker : 选择视角的模式,有三种:3D,2D,哥伦布视图(CV) Base Layer Picker : 图层选择器,选择要显示的地图服务和地形服务. Navigation Help Button :导航帮助按钮,显示默认的地图控制帮助. Animation : 动画器件,控制视图动画的播放速度.…
搭建最简的开发环境 这一节来搭建一个最简单的能运行的helloworld,以后的代码也会在这一节的基础上慢慢增加 创建文件夹 mkdir cesium-test cd cesium-test 引入编译成果 将cesium源码中的Build文件夹,拷入cesium-test 创建html 将cesium-1.4.0/Apps/ 中的HelloWorld.html 拷入cesium-test 使用vscode 等编辑器打开 修改js和css的文件路径 <script src="../Build…
通过如下这种方式给 TextView 添加的链接支持链接样式.点击事件.href 样式,代码如下: package cn.sunzn.tlink; import android.app.Activity; import android.os.Bundle; import android.text.Html; import android.text.Spanned; import android.text.method.LinkMovementMethod; import android.view…
感性认识 界面介绍,viewer Geocoder : 查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图 Home Button :视角返回初始位置. Scene Mode Picker : 选择视角的模式,有三种:3D,2D,哥伦布视图(CV) Base Layer Picker : 图层选择器,选择要显示的地图服务和地形服务. Navigation Help Button :导航帮助按钮,显示默认的地图控制帮助. Animation : 动画器件,控制视图动画的播放速度.…