简体中文
  1. Products
  2.   Aspose.GIS
  3.   .NET
  4.   Measure Distance

使用等面积投影计算面积

测量地图上的区域

使用等面积投影从对象的地图计算国家/地区、岛屿或属性的面积

  下载免费试用版
PNG JPG BMP TIFF GPX
Aspose.GIS for .NET
GIS
我们的星球既不是平坦的,也不是完美的圆形或球形。 行星地球没有规则的几何形状,被称为大地水准面1. 由于绕其短轴旋转,地球的形状近似于椭球体。
地球表面在许多地方可以与大地水准面有很大的不同. 所以需要一些技巧来使计算更准确。 使用仅在表面的某些部分上与大地水准面匹配的参考椭球体。

今天,最流行的地球椭球体及其相关的地球坐标系是WGS84。

放置在地球上的物体的测量总是会受到某种程度的不准确性。 关于如何计算地图上的区域和对象以及使用哪种SR来获得更准确的土地测量,已经并将继续进行大量讨论。

目前,计算面积的最准确和最不失真的方法是使用地图投影。 请注意,地图投影尚未完全准确地表示地球。

每个投影都有其角拟合、距离和面积的扭曲。 它将始终是在组合多个属性之间的折衷,或者是一个区域,距离和角度拟合的所有属性在某些可接受的限制内的失真。 此外,所有实际测量都是近似值。 地球的一个区域不存在这样的东西。

制图师已经开发了地图投影,以可接受的精度将地球投影到平坦的表面上。 GIS中最流行的投影和坐标系统是UTM(通用横向墨卡托)。 UTM用于创建地形图和建立自然资源数据库,因为它在大多数国家和整个科学界使用的公制系统中提供准确的测量。 制图信息不仅仅是度量参数坐标,它还使用属性2 信息作为主题和时间特征的指标。
您可以使用我们的图书馆来计算土地面积,岛屿面积,州面积,或地图上的任何区域。 使用等面积投影3 计算面积以保持物体面积的比例.
那么如何计算俄罗斯,格陵兰岛或美国其中一个州的面积呢? 首先,您需要搜索并下载要测量的对象的地图。 您可以从免费来源下载各种地图。 地图数据主要在WGS84,Web Mercator或UTM投影中提供,这些投影已经有许多扭曲,并且对于土地测量来说不够准确。 要正确计算对象的面积,必须将地图从存储的投影转换为等面积投影。 例如,要找到一个国家的面积,您可以尝试使用Lambert Azimuthal等面积投影。

俄罗斯是世界上面积最大的国家,那么我们需要确保这一点呢? 在所有可用的选项中,EPSG:3576是俄罗斯地图EPSG代码中的最佳选择。 这种预测的优点是克拉斯诺亚尔斯克边疆区和俄罗斯北部的扭曲较少。 不足之处在于,您无法可视化整个世界地图,但仅限于俄罗斯和邻近地区。 下面是转换的示例代码。 此代码显示到选定投影的转换以及对象面积的计算。

使用哪种地图投影和坐标系取决于您正在处理的区域范围、正在执行的分析以及通常的数据可用性。

国家实际上有三种不同的面积度量:土地面积(所有土地的面积),土地总面积(国家的土地面积,湖泊,水库,内河,有时还有海岸和领海)和水域面积(内河)。 所以有三个维度:
  • 总面积:国际边界和海岸线内陆地和水域面积的总和。
  • 陆地面积:国际边界和海岸线内所有陆地面积的总和,不包括水域面积.
  • 水域面积:国际边界和海岸线内所有内陆水域(湖泊,水库和河流)的总和。 可能包括沿海内陆水域。 除非另有说明,领水不包括在内。
    国家对南极洲部分地区的索赔不包括在内。


国家土地面积(公里)2)水域面积(公里2)总面积(公里)2)
加拿大9,093,507891,1639,984,670
乌克兰579,33024,220603,550
德国348,6728,350357,022


兰伯特等面积投影非常适合绘制具有对称比例形状的土地区域,适用于整个国家或岛屿,如乌克兰、格陵兰或澳大利亚,以及较小的物体,如田野、你的房子的后院或几英亩的土地分配。 确保您使用最适合您所在地区的EPSG代码。

SRS(空间参照系)或CRS(坐标系)是一种基于坐标的局部、区域或全局系统,用于确定地理要素的位置。 SRS定义特定的地图投影,以及不同空间参照系之间的转换。 SRS可以由整数SRID引用,包括国际石油和天然气生产商协会定义的EPSG代码。

如果您有任何问题,您可以在我们的 论坛.
计算几何的面积值
                
                    
// create transformation
int epsgFrom = layer.SpatialReferenceSystem; 
int epsgTo = 3576;  // Lambert Conformal Conic
var fromSrs = SpatialReferenceSystem.CreateFromEpsg(epsgFrom);
var toSrs = SpatialReferenceSystem.CreateFromEpsg(epsgTo);
var transformation = fromSrs.CreateTransformationTo(toSrs);

// transform geometry such as a point
var fromGeometry = feature.Geometry;
var toGeometry = transformation.Transform(fromGeometry);

// method calculates the area values of the geometry.
toGeometry.GetArea()
                
            

C#Aspose.Gis Measure Distance库

有一个简单的方法来安装Aspose。GIS为.NET到您的系统:

  • 安装软件包Aspose。GIS从Visual Studio中的包管理器控制台获取 NuGet包;
  • 或者你可以从 我们的网站;
  • 更新包Aspose。GIS. 要升级到最新版本;
  • 加入Aspose。GIS对于.NET到您的系统通过安装NuGet包;
  • 请参阅文档.

系统要求

大多数平台和操作系统都支持.NET的Aspose.Gis Measure DistanceAPI,它可用于开发几种不同类型的.NET应用程序,包括ASP.NET,WinForms和Windows服务。 API for.NET易于使用和部署,并提供理想的解决方案,以.NET框架4.7,.NET标准2.0和Xamarin平台处理地理空间信息。 在运行代码之前,请确保您的系统满足相应的要求。