[RGeos]手簿】的更多相关文章

1.屏幕坐标以像素为单位,地图坐标通常以米为单位,CAD制图默认以毫米为单位. DPI是“dot per inch”的缩写.顾名思义,就是指在每英寸长度内的点数.通常,我们都使用dpi来作为扫描器和打印机的解析度单位,数值越高表示解析度越高. DPI表示分辨率,指每英寸长度上的点数.一般的PC分辨率为96dpi. 1英寸=0.0253999999614米 获取分辨率: float dx, dy;Graphics g =this.CreateGraphics();try{ dx = g.DpiX;…
SharpMap真的很强大,这里通过改造GdalRasterLayer类实现了在RGeos项目中支持栅格图像的读取和显示,同时支持影像的无级缩放. GdalRasterLayer通过读取FWTools环境变量找到下面对应的GDAL类库.这里直接采用GDAL1.9的.net 32封送类库实现.不过好像不是所有的影像都能够读取,现有的是采用的Float类型的数组,因此无法读取整型的影像.这里只是实现了基本的,后期还有进一步改造. 同时坐标显示有问题,不能再外部转单位,需要在IDisplayTrans…
1.向量Vector3d using System; namespace RGeos.Geometry { /// <summary> /// 3D向量类 /// </summary> public class Vector3d { public double[] vector; private const double E = 0.0000001f; /// <summary> /// /// </summary> /// <param name=&…
绘制OGIS定义的Polygon public void DrawPolygon(Polygon pol, Brush brush, Pen pen, bool clip) { gc = Graphics.FromHwnd(Handle); if (pol.ExteriorRing == null) return; ) { //Use a graphics path instead of DrawPolygon. DrawPolygon has a problem with several in…
-1.判断两个线段是否平行 inline bool parallel_seg_seg(Segment_2 S1, Segment_2 S2) { Vector_2 u(S1); Vector_2 v(S2); Vector_2 w = S1.source() - S2.source(); float D = perp(u, v); if (abs(D)<SMALL_NUM) { return true; } return false; } 0.线段的拐向:已知向量P0P1,向量P1P2 (1)判…
前言 很多朋友说在R里没法使用高德地图,这里给出一个基于leaflet包的解决方法. library(leaflet) # 添加高德地图 m <- leaflet() %>% addTiles( 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}', tileOptions(tileSize=256, minZ…
一些高级的操作 几何形状Geometry缓冲(buffer) 线段的融合(linemerge)是将Geometry A中相互连接的线段进行连接 多边形化操作(polygonize)对Geometry A进行计算,返回一个多边形(Polygon).将由许多个点表示的图形,用少量的点来表示,减少图形的信息,即对图形进行降维 凹壳分析,包含几何形体的所有点的最小凸壳多边形(外包多边形) 相关的代码实现 工厂 package com.alibaba.autonavi; import com.vivids…
定义网格顶点和索引缓冲,绘制了2个分离的三角形. using System; using System.Drawing; using RGeos.SlimScene.Core; using SlimDX; using SlimDX.Direct3D9; using CustomVertex; using RGeos.AppScene.Renderable; namespace RGeos.SlimScene.Renderable { /// <summary> /// 定义网格顶点和索引缓冲…
在RGEOS项目中,投影变换是通过Proj.Net来实现的. 支持的投影主要包括AlbersProjection.TransverseMercator.Mercator.Krovak.Lambert Conformal Conic 2SP,自己扩展了一个GaussKruger投影. 以下实现了一个WGS84椭球的UTM投影(TransverseMercator) ICoordinateSystem utm = ProjNet.CoordinateSystems.ProjectedCoordina…
源码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using SlimDX; using RGeos.SlimScene.Core; using SlimDX.Direct3D9; using System.Drawing; namespace RGeos.SlimScene.Renderable { public class Axis : IRenderable {…