Tag: gis

加载ArcGIS数字化图像

我是GIS平台的新手。 在我的项目(Windows应用程序)中,我正在尝试在PictureBox中加载图像(区域的无人机图像)是GeoTIFF格式,大约950+ MB。 此图像已数字化(标记每个房屋的边界并标记为房屋号)和在Shapefile中导入的数据。 我使用以下代码提取XY坐标数据。 我将原始图像大小缩小到大约40-45 MB,并以JPG格式转换。 现在我必须在新的缩小图像上绘制我的Windows应用程序中的XY坐标数据。 我该如何实现这种情况? 我该怎么办? 我无法加载大约950+ MB的原始图像? 代码用于从Shapefile获取XY坐标 private void ReadShapeFile(string path) { ShapeFile.MapFilesInMemory = true; // open the shapefile EGIS.ShapeFileLib.ShapeFile sf = new EGIS.ShapeFileLib.ShapeFile(path); try { sf.RenderSettings = new EGIS.ShapeFileLib.RenderSettings(path, “”, this.Font); EGIS.ShapeFileLib.DbfReader dbfr = sf.RenderSettings.DbfReader; using (System.IO.StreamWriter writer = new System.IO.StreamWriter(“output.txt”)) { EGIS.ShapeFileLib.ShapeFileEnumerator sfEnum = sf.GetShapeFileEnumerator(); int recordIndex […]

获取与给定点重叠的所有点(半径为圆)

我需要找到“圆圈重叠给定点”系统的最佳方法。 我有很多要点,例如餐馆,每个项目都有一个地方的点,以及例如“带出食物”的半径。 半径不同,有些有3公里,有些有10公里。 我正在寻找一个观点。 例如“我的位置”纬度/经度。 我需要找到找到所有与我的观点重叠的餐馆的最佳方式。 (会给我带来食物)。 (不是圆圈中的点,但是哪些圆圈与我的观点重叠。) 我正在考虑在SQLServer 2008中将lat / lng存储为地理类型。这是这样做的吗? 我可以直接在sqlserver上查询吗? 或者我需要在代码中执行此操作吗? 这样做的方法是什么?

适用于Windows中的Windows PC的优秀GIS软件或组件?

上周我搜索了很好的免费或开源解决方案和GIS(地理信息系统)组件我创建了一些系统,但没有人满足我的要求 SharpMap是一款非常有缺陷的软件 Gmap.net很慢 MapWindow具有非常复杂的结构并且非常错误。 我创建了uDIG但是在java中,我需要在vb.net或c#中使用解决方案。 任何人都知道一个满足我的要求或有替代品的好解决方案,我接受解决方案?

用于地图的控件

我正在开发地震风险分析软件。 在这个应用程序中,我必须使用一些地图来显示基于某些计算最易受地震活动影响的地方的布局。 对于显示危险区域的地图,MapWinGis是我所知道的,但我想我可以使用更强大的其他库或控件来提供一些出色的function。 我可以使用谷歌地图吗? 还有什么其他可行的选择?

获得适用于x64 c的SpatiaLite + SQLite系统#

我需要在x64窗口下创建和访问一个spaceite扩展的SQLite数据库。 我已经下载了System.Data.SQLite的最新版本1.0.92.0,名为sqlite-netFx45-static-binary-bundle-x64-2012-1.0.92.0.zip 。 它是从我的Visual Studio(2012)项目中引用的,并且它本身似乎工作得很好。 我还有最新的预编译x64 spatiaLite版本4.1.1,名为spatialite-4.1.1-DLL-win-amd64.zip来自spatialite的所有dll都存在于执行目录中。 当我尝试加载扩展时: using (var conn = new SQLiteConnection(“Data Source=\”” + _sqLiteFullName + “\””)) { conn.Open(); conn.EnableExtensions(true); conn.LoadExtension(“libspatialite-4.dll”); … } 我在LoadExtension()行上得到一个AccessViolationException (试图读取受保护的内存。这通常表明其他内存已损坏)。 我注意到使用PE Deconstructor (确定dll / exe的bitnewss的软件),它说我的System.Data.SQLite.dll(来自x64包)的副本实际上是32位。 这是问题吗? 我该如何解决这个问题? 有没有其他人让spatiaLite在x64上工作?

F#(或C#)中的任何R-Tree实现?

可能重复: 是否有任何记录的.NET免费R-Tree实现? F#中是否有任何R-Tree实现? 假设是:不需要插入或删除,固定的Geo-Fences(区域)集合。 需求是:搜索时间非常快。 谢谢

GPS / GIS计算:基于运动/英里/小时预测未来位置的算法?

寻找资源或算法来计算导航应用中的以下内容: 如果我当前的GPS位置是(0,0)并且我以每小时15英里的速度前进32度,我该如何计算我的位置在10秒内的位置? 即: GPSCoordinate predictedCoord = GPSCoordinate.FromLatLong(0, 0).AddByMovement(32, 15, TimeSpan.FromSeconds(10)); 编辑:基于以下答案的当前代码: public GPSCoordinate AddMovementMilesPerHour(double heading, double speedMph, TimeSpan duration) { double x = speedMph * System.Math.Sin(heading * pi / 180) * duration.TotalSeconds / 3600; double y = speedMph * System.Math.Cos(heading * pi / 180) * duration.TotalSeconds / 3600; double newLat = this.Latitude + 180 / […]

Google的“编码折线算法”的C#实现

有没有人在C#中使用Google的编码折线算法实现简洁而强大的实现? 我基本上想要这个签名的实现: public string Encode(IEnumerable points);

在当前鼠标位置缩放/拉伸图片框?

问:如何在图片框上实现缩放当前鼠标位置,例如放大Google地图? 我正在设计一个简单的GIS /地图引擎作为我的论文工作。 应用程序的设计方式是将地图加载到一个经过简单修改的​​tabcontrol的选项卡中。 地图是标准的JPEG或PNG格式数字图像,大多数都具有非常高的分辨率(2000x2000px及以上)。 它们被加载到图片框中,这些图片框被添加为tabpages的子控件。 我已经实现了一个简单的缩放方法作为按钮点击事件,只放大到图像/图片框的中心。 我想要做的是实现鼠标滚轮事件的缩放,使图片在图片框内的当前鼠标位置放大。 放大的代码目前如下所示: timesZoomed += 1; zoomRatio += 0.1f; pbxMapa.Width = pbxMapa.Width * zoomRatio; pbxMapa.Height = pbxMapa.Height * zoomRatio; pbxMapa.Location = new Point((this.Width / 2) – (pbxMapa.Width / 2), this.Height / 2) – (pbxMapa.Height / 2)); 默认的“zoomRatio”值为1,并且增加到0.6f。 参数“timesZoomed”默认值为0,最多为6。 “pbxMapa”是带有地图加载图像的图片框。 图片框的“ImageSizeMode”道具设置为“缩放”,但图片框的大小设置为加载的地图图像的完整大小。 此外,我正在尝试这个简单的缩放代码。 计算有些效果,但在使用更大的比例进行缩放/乘法时仍然有相当大的偏差: pbxMapa.Location = new Point(pbxMapa.Location.X + (int)((pbxMapa.Location.X * […]

使用BinaryReader读取“little-endian UTF-16编码中的字符串”

我遵循以下文件格式的规范: https : //github.com/rouault/dump_gdbtable/wiki/FGDB-Spec utf16: string in little-endian UTF-16 encoding 我怎么读这个? 我尝试了BinaryReader.ReadString()但它返回的内容如下: “\0e\0y\0w\0o\0r\0d\0\0 \0\0\0\0\rP\0a\0r\0a\0m\0e\0t\0e\0r\0N\0a\0m\0e\0\0 \0\0\0\0\fC\0o\0n\0f\0i\0g\0S\0t\0r\0” 这绝对不对。 从规格: ubyte: number of UTF-16 characters (not bytes) of the name of the field utf16: name of the field ubyte: number of UTF-16 characters (not bytes) of the alias of the field. Might be 0 utf16: alias of the […]