
《GIS程序设计》
本栏目为GIS设计与开发。以GIS平台开发为主线,采用多门编程语言(如C、C++、C#、VB、Java、JavaScript、SQL、Python、HTML5+CSS等),借助于多种开发环境(如Visual Studio、PyCharm、SQL Server等)开发GIS平台、服务于智慧城市建设。
刘一哥GIS
刘一哥,多年研究地图学、地理信息系统、遥感、摄影测量和GPS等应用,精通ArcGIS、MapGIS、ENVI、Erdas、CASS、Pix4d、CC、PhotoScan、Inpho、EPS、Globalmapper等专业软件的应用,精通多门编程语言,擅长GIS二次开发和数据库系统开发,具有丰富的行业经验,致力于测绘、地信、国土、资源、环境、生态、空间规划、无人机等领域深度应用。
-
原创 VS2019如何创建C++项目?没有找到空项目(C++)完全解决方案
在使用Visual Studio 2019创建C++空项目时,没有空白项目可选,如下图所示,原因是在安装VS2019时没有选择C++对应的模块。本文讲解如何使用VS2019创建C++空项目,并使用C语言输出Hello World。运行Visual Studio Installer,点击【修改】。勾选【使用C++的桌面开发】,点击【修改】。下载并安装中。点击【重启】,完成安装。...2020-12-22 11:04:412131
1
-
原创 ArcGIS Engine 10.2开发环境搭建
1、安装LicenseManager2、安装Desktop 3、安装VS20124、安装Engine5、安装ArcObject SDK for .NET2016-04-13 19:20:135824
0
-
原创 ArcGIS Engine开发模板及C#代码
目 录1. 模板2. 代码1. 模板以下为AE开发软件自带的模板及代码,开发工具为VS 2012+ArcGIS Engine 10.2。2. 代码using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.IO;using System.2015-03-12 21:23:482797
0
-
原创 【VB测绘程序设计】第三章 VB结构化程序设计(顺序、选择、循环)
第一节 顺序结构设计一、赋值语句赋值语句是程序设计中的基本语句,它可以把指定的值赋给某个变量或者某个对象的属性。(一)给变量赋值Dim a As Integera=2(二)给对象的属性赋值1. 界面设计2. 代码Private Sub Command1_Click() EndEnd SubPrivate Sub Command2_Click() ChangeFormSize.Width = 5505End SubPrivate2020-09-12 22:52:19206
1
-
原创 【VB测绘程序设计】第二章 VB测绘程序基础
第一节 数据类型VB中提供了以下11中基本的数据类型:一、数值型二、字符串三、日期型1.界面设计2. 代码 1 Private Sub Command1_Click() 2 Timer1.Enabled = True 3 End Sub 4 5 Private Su...2020-09-12 22:37:54259
0
-
原创 【VB测绘程序设计】第一章 VB测绘程序设计概述
第一节 测绘程序设计的意义第二节 程序设计语言的发展第三节 测绘程序设计语言的选择第四节 Visual Basic集成开发环境介绍第五节 可视化编程的基本概念第六节 可视化编程的一般步骤程序示例1:MDI窗体设计程序示例2:VB版的Hello World程序示例3:计算圆面积第一节 测绘程序设计的意义随着计算机技术和测绘科技的不断发展,计算机技术在现代测绘科学中的应用也越来越广泛,已经深人到从理论研究到生产应用的各个方面。计算机以其计算迅速、准确方便、功能强大的特点,为2020-09-12 22:25:01266
0
-
原创 基于天地图的应用服务系统设计开发—以甘肃高校招生服务为例
“天地图”是国家测绘地理信息局建设的地理信息综合服务网站。它是“数字中国”的重要组成部分,是国家地理信息公共服务平台的公众版。“天地图”的目的在于促进地理信息资源共享和高效利用,提高测绘地理信息公共服务能力和水平,改进测绘地理信息成果的服务方式,更好地满足国家信息化建设的需要,为社会公众的工作和生活提供方便。本文基于天地图提供的位置服务,采用B/S(浏览器/服务器)的系统设计开发模式,以用户...2020-03-28 11:24:381349
1
-
原创 【ArcObject开发】实验:ArcObject地图开发基本操作
ArcObjects,是基于Microsoft COM技术所构建的一系列COM组件集,是在ArcGIS Desktop平台基础上的二次开发,开发语言为VBA(Vistal Basic for Application)。下面将AO开发的中的一系统基本操作做一简单的说明。下图是功能主面板,有三个主要功能:地图漫游、地图制图和创建元素,而每个功能的实现是通过相应按钮的单击事件调用函数或过程实现的...2020-04-09 23:56:42468
0
-
原创 【ArcObject开发】实验:ArcGIS Desktop开发方式入门基础教程
一、实验目的:熟练掌握ArcGIS Desktop开发方式。二、实验准备:学习ArcGIS Desktop定制步骤;熟悉VBA编程环境、Active DLL和Active EXE开发一般过程。三、实验内容:(1)描述在ArcGIS Desktop环境下定制窗体界面的一般步骤;(2)在VBA环境下编写宏,实现图层视图放大1倍功能;(3)描述创建按钮、工具、编辑框、组合框的一般步骤...2020-03-18 23:15:10599
0
-
原创 【小程序】刘一哥课堂随机点名提问神器V1.0(附源程序)
为了能让我们的孩子们尽量来教室上课,增强课堂的参与度,激发课堂激情,提高学习效率,一哥也是煞费苦心,于是开发出了这么一款课堂点名提问神器,跟大家分享一下。打开神器,看到的界面是这样子的,我很感激有勇气按时起床并能到教室的每一位有志之士。点击【开始】按钮,开始随机提问或者随机选人,看到的界面是这样子的。点击【停止】 按钮,看到了令人惊喜的画面,我,竟然中奖了!!!! 接下来,中奖的孩子们就要开始他的表演了,是不是很好呢? 孩子们,好好学习吧,一哥有操不完的心。同时也请你们注意,一哥有很多反套路的绝招!2020-03-28 12:04:102093
6
-
原创 【小程序】坐标正算神器V1.0(附源程序)
坐标正算,就是根据直线的边长、坐标方位角和一个端点的坐标,计算直线另一个端点的坐标的工作。本文用C#语言和VB语言实现坐标正算,编写坐标正算神器。计算实例:实例1,设直线AB的边长DAB和一个端点A的坐标XA、YA为已知,则直线另一个端点B的坐标为:XB=XA+ΔXAB (5.1)YB=YA+ΔYAB (5.2)式中,ΔXAB、ΔYAB称为坐标增量,也就是直线两端点A、B的...2020-03-27 23:00:381634
4
-
原创 【小程序】视距测量神器V1.0(附源程序)
本文使用Visual Studio开发工具,肯定首选C#语言(有些童鞋们说我学过VB测绘程序设计,咋办呢?我劝你还是想想你们老师的性别吧。。。如果能想像起来的,就请继续往下看,否则,GUNDAN!),搭建如下的界面(由于本人的审美不是特别好,所以呢界面比较丑,但是功能我们完全可以实现)。根据以上视距测量原理,我们可以用C#语言实现是视距测量神器,使用很简单,双击,输入三丝读书、仪器高、输盘读数即可快速完成计算。2020-03-26 21:50:081290
0
-
原创 【小程序】高斯克吕格投影:带号及中央经度计算神器V1.0(附源程序)
【问题描述】:很多情况下,我们知道某一地点的坐标(经纬度),需要计算其在高斯克吕格投影中的带号及中央经度。关于该问题,有具体的公式可言,只是计算过程稍微繁琐一些,当然啦,我们可以写程序来解决,谁叫我们是名副其实的GISer呢?另外,这些复杂的计算过程还是交给计算机去做吧,不要影响我们的集思(GIS)人生!!!言归正传吧。本文使用Visual Studio开发工具,肯定首选C#语言(有些童鞋...2020-03-26 20:15:481959
1
-
原创 多种语言《九九乘法表》荟萃:C、C++、C#、JavaScript、SQL、VB、VBA、Python
九九乘法表对于我们学习循环结构,尤其是双重循环特别有帮助,本文演示用C、C++、C#、HTML、SQL、VB、VBA、Python等多种语九九乘法表。一、C语言#include<stdio.h>main(){ int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%...2020-03-26 17:53:532235
3
-
原创 【经典回放】JavaScript学习详细干货笔记之(三)
【经典回放】JavaScript学习详细干货笔记之(一)【经典回放】JavaScript学习详细干货笔记之(二)一、再次从var开始说起var到底是什么?在前面的所有介绍中,JavaScript的var变量说明、是非常令人迷惑的事情。var中可以存储字符串、可以存储整数、可以存储浮点数、甚至数组,等等,什么都可以,这就是说为什么让C的程序员如此迷惑。我们前面已经用var说...2020-03-21 14:35:181698
0
-
原创 【经典回放】JavaScript学习详细干货笔记之(二)
主要内容:数组、杨辉三角、海盗分财、选择排序、sin(x)的曲线、螺旋线访问二维数组2020-03-21 12:21:421209
0
-
原创 【经典回放】JavaScript学习详细干货笔记之(一)
首先、JavaScript是浏览器下运行的程序,也就是说:只要是能上网的浏览器、就应该能支持JavaScript的运行,这点,是C语言、VB等根本不能比拟的事情。所以网络上许多优秀的程序,都是用JavaScript编写的,能让你的网页功能异常强大。几个经典案例:例1 一个最简单的网页构成:例2 浏览器上加入控件例3 事件与响应程序例4 输入半径、求圆面积例5 欧拉素数公式验证,公式是a=n*n-n+41,n[-39,41]例6 爱因斯坦的台阶例7 边长为a,b,c的三角形的面积。2020-03-04 14:01:52472
0
-
原创 【计算机图形学】实验:VB.net环境下的综合绘图与交互技术案例教程
一、实验目的掌握在.net环境下的绘图软件界面设计与交互技术。二、实验准备学习在.net环境下的界面设计的一般原理与交互技术等基本知识。三、实验内容将前7个实验内容集成到一个界面下,如直线段、圆、矩形与曲线的绘制填充,以及对图像的处理,并能利用交互技术实现对图元的选取、修改和交互。四、实验过程及步骤1、程序界面设计2 、控件属性说明添加mainmnue控...2020-03-18 21:18:29447
0
-
原创 【计算机图形学】实验:C#.net环境下采用GDI+图形特技处理案例教程
一、实验目的掌握在.net环境下对图形特技的处理方法。二、实验准备学习在.net环境下读取图像文件、改变颜色等基本知识。三、实验内容在.net环境中实现对图像的灰度化处理、柔化和锐化、底片滤镜、淡入淡出以及浮雕、油画和木刻等艺术效果。四、实验过程及步骤(包括程序界面设计、控件属性说明、程序代码和程序运行四部分)1、程序界面2、控件属性3、代码u...2020-03-18 21:09:27361
0
-
原创 【计算机图形学】实验:VB.net环境下的绘制贝赛尔(Bezier)自由曲线完整实验操作步骤
一、实验目的熟练掌握在.net环境下绘制贝赛尔自由曲线。二、实验准备学习生成贝赛尔自由曲线的基本算法,以及在.net环境下绘制贝赛尔自由曲线的基本方法(DrawBezier和DrawBeziers)。三、实验内容在.net环境中绘制二次、三次贝赛尔曲线。四、实验过程及步骤(包括程序界面设计、控件属性说明、程序代码和程序运行四部分)1、程序界面设计2、控件属性...2020-03-18 20:55:44504
0
-
原创 【计算机图形学】实验:C#.net环境下的图形变换完整实验操作流程
一、实验目的:熟练掌握在.net环境下对图形的变换方法。二、实验准备:学习图形变换的基本算法,如平移、旋转、缩放等,以及在.net环境下变换图形的基本方法。三、实验内容:在.net环境中利用变换图形的基本方法对图形进行变换,包括平移、旋转、缩放、对称、复合变换等。四、实验过程及步骤:(包括程序界面设计、控件属性说明、程序代码和四部分)1、界面设计2、控件属性...2020-03-18 12:57:38484
0
-
原创 【计算机图形学】实验:VB.net环境下的图形裁剪完整实验操作流程
一、实验目的:熟练掌握在.net环境下对图形的裁剪。二、实验准备:学习图形裁剪的基本算法,以及在.net环境下裁剪图形的基本方法。三、实验内容:在.net环境中利用裁剪图形的基本方法对任意图形进行裁剪。四、实验过程及步骤:1 程序界面设计2控件属性说明添加一个窗体Form2;在Form1中添加八个Button控件,改其Text属性Button1.Text...2020-03-18 12:50:45382
0
-
原创 【计算机图形学】实验:C#语言采用GDI+定义笔刷并填充图形完整实验操作流程
C#语言采用GDI+定义笔刷并填充图形完整实验操作流程一、实验目的:熟练掌握在.net环境下对笔刷的定义,并可用定义好的笔刷填充多边形。二、实验准备:学习在.net环境下GDI+所提供的5种笔刷类型,掌握定义笔刷的方法和填充图形的函数,如FillRectange ( )、FillEllipse ( )等。三、实验内容:在.net环境中设计一个窗体,显示不同的图形填充结果。四、实验过程及步骤:(包括程序界面设计、控件属性说明、程序代码和程序运行四部分)2020-03-18 12:42:43444
0
-
原创 用Excel VBA连接SQL Server数据库并将表中的数据显示到Excel中
本实例使用VB语言和OLEDB类连接SQL Server 2005数据库。在sheet1上右键→查看代码,加入如下代码:Sub admin() Dim conn, xRs Set conn = CreateObject("ADODB.Connection") conn.Open "Provider=SQLOLEDB.1;Persist Security Info=2016-04-06 17:10:1711368
0
-
原创 Android Studio开发基础之动态注册与注销BroadcastReceiver
1、New→Other→BroadcastReceiverpackage com.example.lhb.startservice;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toa2015-05-26 21:24:244925
1
-
原创 Android Studio开发基础之启动Service,并通过从Activity向Service传递数据
本实例演示启动Service,并通过从Activity向Service传递数据,新建一个Service,并敲如下代码:package com.example.lhb.startservice;import android.app.Service;import android.content.Intent;import android.os.IBinder;import android2015-05-23 17:16:519158
0
-
原创 Android Studio开发基础之Service
1、Service的使用 Activity可以呈现一个用户界面,但是Service确实运行在后台,新建一个Myservice.java,会在AndroidManifest中自动配置标签。<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.lh2015-05-23 10:24:0212425
2
-
原创 Android Studio开发基础之Context用法说明
1、Context说明 Context是一个用于访问全局信息的接口,如应用程序的资源(如图片,字符串等),一些常用的组件继承自Context,如Activity和Service等等。 如利用Java代码创建一个textView,textView的第一种setText()方法直接传入一个字符串,第二种方法传入一个整形的id(位于values\\strin2015-05-22 19:27:4010309
0
-
原创 Android Studio开发基础之细节问题笔记
1、ActionBarActivity上有横线:新建一个项目后,在public class MainActivity extends ActionBarActivity {}的ActionBarActivity上有横线,解决办法是在AndroidManifest.xml中加入<uses-sdk android:minSdkVersion="11" android:targetSdkVersio2015-05-20 11:01:001709
0
-
原创 Android Studio开发基础之AutoCompleteTextView控件的使用
在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextView实现的。AutoCompleteTextView控件继承自TextView控件,也有其特有的属性:AutoCompleteTextView常用属性android:completionHint设置出现在下拉菜单中的提示标2015-05-19 18:03:454537
0
-
原创 Android Studio开发基础之自定义View组件
一般情况下,不直接使用View和ViewGroup类,而是使用使用其子类。例如要显示一张图片可以用View类的子类ImageView,开发自定义View组件可分为两个主要步骤:一、创建一个继承自android.view.View类的View类,并且重写构造方法。如下,新建一个名为MyView.Java的Java类文件,重写一个带Context的构造方法和onDraw()方法(用来重新绘制A2015-05-19 16:39:429642
0
-
原创 Android Studio开发基础之使用XML和Java代码混合控制UI界面
<LinearLayout 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"2015-05-19 15:46:566655
0
-
原创 Android Studio开发基础之对点击事件和初始化控件进行封装
public class MainActivity extends Activity implements View.OnClickListener { private TextView Txt; private Button btn; @Override protected void onCreate(Bundle savedInstanceState) {2015-05-16 22:59:444857
0
-
原创 Android Studio开发基础之Activity之间参数传递
一、简单数值传递1、MainActivityprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.but2015-05-16 00:50:329884
0
-
原创 JavaScript读取本地图片到浏览器
代码: function getFileUrl(sourceId) { var url; if (navigator.userAgent.indexOf("MSIE")>=1) { // IE url = document.getElementById(sourceId).value; } else if(navigator.userAgent.inde2016-07-13 11:21:5810814
2
-
原创 C#服务器编程:WebService、Ajax与回调函数(一)
目 录1、结果展示2、WebService3、回调函数本实例演示借助WebService、Ajax技术和回调函数,从MSSQL数据库中获取所需数据,并用JavaScript语言将数据结果显示到网页地图上。1、结果展示2、WebService(1)在工具箱的Ajax Extentions下面找到ScriptManager控件,拖到网页上,右键属性,打开Services集合,将Path设为WebService.asmx,如下图所示:(2)打开App_Code中的WebSe2016-04-22 14:31:351709
1
-
原创 什么是物理路径,相对路径,绝对路径以及根目录
目 录一、物理路径二、相对路径三、绝对路径四、根目录本文中,我们将为您讲述什么是物理路径,什么是相对路径,什么是绝对路径,什么是根目录,以及他们的使用方法。一般来说表示文件在电脑中位置的方式就有以上四种,在网页设计中通过以上几种路径可以表示链接,插入图像、Flash、CSS文件的位置。为了便于理解,我们先来说说什么是物理路径。一、物理路径物理路径的英文全称是:Physical path,它就是指硬盘上文件的路径,比如下面的文件位置表示方法:d:\wwwroot\htm.2016-04-16 10:54:021934
0
-
原创 JavaScript三种弹出框(alert,confirm和prompt)用法举例
目 录1. 警告(alert)2. 确认(confirm)3. 提问(prompt)1. 警告(alert)在访问网站的时候,你遇到过这样的情况吗?“咚”的一声,一个小窗口出现在你面前,上面写着一段警示性的文字,或是其它的提示信息。如果你不点击确定,你就不能对网页做任何的操作。没错,这个“咚”的小窗口就是alert干的。下面的代码是一段使用alert的实例。<script type="text/JavaScript"> alert("我是菜鸟我怕谁");.2015-05-09 21:11:3216197
0
-
原创 JavaScript面向对象编程笔记
面向对象编程 var person = {};//或者这样:var person = new Object(); person.name = "张三"; person.age = 20; //函数充当属性,属性变方法了! person.info = function() { alert2015-05-09 20:37:45923
0
-
原创 连接局域网的SQL Server数据库配置
首先要保证两台机器位于同一局域网内,然后打开配置工具→SQL Server配置管理器进行配置,将MSSQLSERVER的协议的TCP/IP的(IP1,IP2)TCP端口改为1433,已启用改为是。 服务器名称:输入IP 登录名:输入数据库帐号 密码:输入数据库帐号的密码2014-08-30 16:14:131541
0