主要内容概述 (视频教程已经发布:http://edu.csdn.net/course/detail/3422) (http://edu.csdn.net/course/detail/3420) 1.解析shapefile(.shp)文件.‘ 2.将经纬度数据按照墨卡托投进行投影(调用proj.4库)完成. 3.将数据用OpenGL的方式进行绘制. 上述3方面只是完成初步的绘制,对于要完成一个复杂的地理信息系统还有很大的差距, 下面介绍我设计的简单的地理信息框架(用于交流,进步).先上个图,根据…
pDC->SetMapMode(MM_ANISOTROPIC ); //首先选择MM_ANISOTROPIC映射模式,其它映射模式都不合适 pDC->SetWindowExt( max(abs(rMH.Xmax),abs( rMH.Xmin)), max(abs(rMH.Ymax),abs(rMH.Ymin))); //都以绝对值中较大的为参考 pDC->SetViewportExt( rClient.right/, -rClient.bottom/); //与客户区的一半对应,方向可选…
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51347008 在上一篇文章中已经介绍了OpenGL窗口的创建.本文接着说如何用OpenGL绘制一个三角形. 1 . 添加头文件mesh.h,代码如下: #pragma once #include <glm\glm.hpp> #include <GL\glew.h> class Vertex { public: Vertex(const glm::vec3&a…
OpenGL绘制自由落体小球 一.    程序运行的软硬件环境 本次设计在window10系统下进行,运用C++进行编写,在CodeBlocks环境下使用OpenGL进行设计. 所需环境配置分为2部分,第一部分是CodeBlocks的配置,第二部分为OpenGL的相关配置. Codeblocks配置: 打开搜索引擎,搜索CodeBlocks,点击相关结果进入CodeBlocks官网:codeblocks.org. 选择Download选项卡 点击Download the binary relea…
作者:fungis 描述:一个热带生活.乐于分享.努力搬砖的giser 交流邮箱:fungis@163.com shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Class),主要包括点(point).线(polyline)和多边形(polygon).作为一种十分常见的矢量文件格式,geopandas对shapefile提供了很好的读取和写出支持,其DataFrame结构相当于GIS数据中的一张属性表,使得可以直接操作矢量数据属性表,使得在pyth…
Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http://www.reportlab.com/docs/reportlab-userguide.pdf 我们看看这个网页上的原数据: http://www.swpc.noaa.gov/ftpdir/weekly/Predict.txt 代码: #-*- coding: utf-8 -*- # 1. 用于下载原…
利用opengl绘制正弦曲线 ,见代码: #include <windows.h> //#include <GLUT/glut.h> #include <GL/glut.h> #include <stdlib.h> #include <stdio.h> #include <math.h> const GLfloat factor=0.1f; void MyDisplay() { GLfloat x; glClear(GL_COLOR_…
基本信息编辑 ESRI公司的Shapefile文件是描述空间数据的几何和属性特征的非拓扑实体矢量数据结构的一种格式. 内容编辑 一个Shapefile文件最少包括三个文件: 主文件(*.shp).--存储地理要素的几何图形的文件. 索引文件(*.shx).--存储图形要素与属性信息索引的文件. dBASE表文件(*.dbf),--存储要素信息属性的dBase表文件. 除此之外还有可选的文件包括: 空间参考文件(*.prj). 几何体的空间索引文件(*.sbn 和 *.sbx). 只读的Shape…
本项目实现了用OpenGL绘制一个简单场景,包括正方体.球体和网格,实现了物体的旋转.缩放.平移和灯光效果.附有项目完整代码.有具体凝视.适合刚開始学习的人熟悉opengl使用. 开发情况 开发环境VS2012+OpenGL 开发平台 Intel core i5,Intel HD Graphics Family 本项目实现了绘制一个场景(包含立方体.球体.网格),对各物体实现平移.旋转.缩放功能,加入了光源并简单设置了物体材质. 本项目演示样例代码下载(里面有具体凝视) 感谢nehe的框架! 场…
项目有一需求,需要由坐标字符串(格式:x,y,点名)生成shapefile,由于在前台开发类似功能比较麻烦而且也不适用,最终决定使用WCF来实现,不借助现有GIS软件,基于GDAL实现. 实现过程如下: 编写坐标对生成shapefile的坐标,并使用zipHelper将shapefile压缩成zip文件,返回前端下载,整个代码如下: (1)编写坐标转换服务代码 [Description("坐标服务接口")] [ServiceContract] public interface ICoo…
介绍 shapefile是GIS中非常重要的一种数据类型,在ArcGIS中被称为要素类(Feature Classes),主要包括点(point).线(polyline)和多边形(polygon).Python脚本是ArcGIS官方推荐的脚本语言,通过Python脚本能够很方便的调用ArcGIS中的各种工具和函数批量完成所需操作. 安装 sudo pip install pyshp 使用 import shapefile shop_layer = shapefile.Reader(os.path…
TerraGate SFS 4.5 版本 发布矢量数据使用的Cache数据如何再返回成shapefile文件? 两年前帮一个朋友解决过这个问题: 如果原来用4.5版本的时候,在网络环境下,为了提升调用服务器上发布的矢量数据的效率,对一些矢量shapefile格式的数据做了矢量切片, 而后来又弄丢了切片前的原始shapefile数据,当再需要那些原始的shapefile数据的时候,这该怎么办呢? 前几天整理电脑里的资料,刚好看到了这个,就把代码贴出来,分享给大家吧,也许对一些老朋友有用. usin…
这章我们先讲第一人称漫游的实现.在openTK里,我们用函数Matrix4.LookAt(caram.Eye,caram.Target,Vector3.UnitY)来放置摄像机,其中三个参数分别与摄像机位置,摄像机朝向,摄像机向上的向量.与opengl里的glulookat其实是一样的. 本来为了查找漫游的功能,在网上找了些,发现相关讲解都很少,更多只是写出了代码,花了一些时间查找相关概念与调试,其中把我的理解会说明上,有不对的地方欢迎大家指出. 漫游最基本的功能,我们包括相关步进,前进,后退,…
本文使用QGLWidget来绘制各种三维基本图形,包括立方体.圆柱体.圆锥.球体.圆环等等,涉及包括基本绘制以及上色.纹理.旋转等操作. 使用的软件版本:QT5.12 + QT Creater4.8.0  GLWidget.h 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667   #ifndef …
OpenGl 绘制一个立方体 为了绘制六个正方形,我们为每个正方形指定四个顶点,最终我们需要指定6*4=24个顶点.但是我们知道,一个立方体其实总共只有八个顶点,要指定24次,就意味着每个顶点其实重复使用了三次,这样可不是好的现象.最起码,像上面这样重复烦琐的代码,是很容易出错的.稍有不慎,即使相同的顶点也可能被指定成不同的顶点了. 如果我们定义一个数组,把八个顶点都放到数组里,然后每次指定顶点都使用指针,而不是使用直接的数据,这样就避免了在指定顶点时考虑大量的数据,于是减少了代码出错的可能性.…
OPENGL没有提供直接绘制文字的功能,需要借助于操作系统. 用OPENGL绘制文字比较常见的方法是利用显示列表.创建一系列显示列表,每个字符对应一个列表编号.例如,'A'对应列表编号1000+'A',‘B’对应列表编号1000+'B',以此类推.绘制一个字符串时,依次调用字符串中每个字符所对应的列表编号. 在Windows操作系统上,可以使用wglUseFontBitmaps函数来批量的产生显示字符用的显示列表. 下面给出一个示例代码.该代码时在OPENGL红宝书示例程序的基础上进行修改,只做…
geoserver通过工作空间Workspace-数据源DataStore-图层Layer管理地理数据,默认只支持shapefile格式的文件发布,不支持kml/kmz.csv的文件格式,所以存在将这些数据转换为shapefile的需求. kml/kmz的文件解析基于JavaAPIforKml包完成,该包支持kml和kmz的文件解析: import de.micromata.opengis.kml.v_2_2_0.Kml; /*解析kml文件*/ Kml kml = Kml.unmarshal(…
基于geotools实现csv转换为shapefile文件. 1.读取CSV文件,将其装入FeatureCollection: 2.利用ShapefileDumper类将FeatureCollection转存到硬盘: /* * transform CSV to FeatureCollection */ 1 public void processCSVFile(File csvFile){ ListFeatureCollection collection; try{ typeName = csvF…
第一课.OpenGL绘制直线等等 分类: [开发技术]OpenGL 2012-01-18 14:59 5217人阅读 评论(0) 收藏 举报 buffer图形c // //  main.c //  opengl_ animationRect_0002 // //  Created by  ch_soft on 12-1-16. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved. // #include<stdio.h>…
main.cpp #include <QApplication> #include <iostream> #include "vowelcube.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); if (!QGLFormat::hasOpenGL()) { std::cerr << "This system has no OpenGL support&qu…
linder_lee 原文 AE中Shapefile文件添加到SDE数据集(c#) 主要完成用C#,通过AE将本地Shapefile文件导入到SDE的指定数据集下面. 首先说下思路: (1) 通过OpenFileDialog打开本地的Shp文件: (2)通过获取的Shp文件创建FeatureClass,获取shp的字段 IFields,并判断图层类别; (3)连接SDE中指定数据集,并创建新的FeatureClass: (4)将shp文件对应的 FeatureClass里的Feature复制到S…
读取csv转为shp 构造读取csv函数 def read_csv(fp): ret = [] with open(fp, 'rb') as f: for line in f: ret.append(line.decode('utf-8').strip().split(",")) return ret 原始数据如下 from _datetime import datetime import shapefile data = read_csv("test3.csv")…
正常还原的时候报错: Microsoft SQL-DMO (ODBC SQLState: 42000)---------------------------试图扩大物理文件时,MODIFY FILE 遇到操作系统错误 112(磁盘空间不足.).未能创建一个或多个文件.请考虑使用 WITH MOVE 选项来标识有效位置.RESTORE DATABASE 操作异常终止. 但硬盘空间很足够! -------------------------------------------------------…
Path: 对文件或目录的路径进行操作(很方便)[只是对字符串的操作] 1.目录和文件操作的命名控件System.IO    2.string Path.ChangeExtension(string path, string extension) (*)          修改文件的后缀,“修改”支持字符串层面的,没有真的给文件改名    3.string s = Path.ChangeExtension(@"C:\temp\F3.png", "jpg")    4…
IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从磁盘读取文件到内存,就只有Input操作,反过来,把数据写到磁盘文件里,就只是一个Output操作. 由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题.举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这10…
我们都知道2007以上版本的Office文档,是可以直接将文档转存为PDF格式文档的.那么反过来,PDF文档可以转换成其他格式的文档吗?这是大家都比较好奇的话题.如果可以以其他格式进行保存,就可以极大的提高工资效率.其实PDF文件同样可以转换成Office文档的格式.接下来小编就和大家分享一下:怎么把PDF文件转换成Excel表格的操作技巧. 虽然普通的PDF文件阅读工具,没有向用户提供文件格式转换功能,但我们可以借助PDF文件格式转换工具,将文件由PDF转换成Excel格式.可能大家会担心使用…
IO文件中,一些对目录进行操作的函数:获取.切分.组合 一些对目录进行操作的函数: 获取用户的姓名:(NSString*)NSUserName() ;    ———>NSString *Str = NSUserName() 获取home目录路径:(NSString*)NSHomeDirectory() 获取临时文件夹路径:(NSString*)NSTemporaryDirectory()   一些对目录进行操作的方法: 将路径切成部分:- (NSArray *)pathComponents  —…
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 读文件 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符 >>> f =…
转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding="GBK"?> <phoneinfo> <brand name="小米" id="1"> <type name="MI5"/> <type name="NOTE"/&…
 读取三维网格模型(Wavefront OBJ文件) 无法向立方体:cube.obj 有法向兔子模型:bunny.obj 有法向有纹理八字模型:Eight.obj OBJ文件的格式可参考:http://www.cnblogs.com/youthlion/archive/2013/01/21/2870451.html  利用OpenGL显示该模型的绘制效果(全部) 顶点显示 线条显示 面片显示  核心代码说说 1.下面的点.纹理.法向量.面用于构成一个PIC的类,PIC用于存储从OBJ文件中…