Questions tagged «coordinate-system»

由一组点,线和/或曲面以及一组规则组成的参考框架,用于定义二维或三维空间中的点位置。此标签还指制图投影和坐标系转换。

7
假人的空间参考?
这篇文章是社区维基。编辑现有答案以改善此职位。它当前不接受新的答案。 谁能推荐一本很好的参考书或一个讲解空间参考书,投影和坐标系原理的教程? 我们是一小组使用GIS技术的程序员,由于在不同的SRS / CS中处理数据时,经常会陷入困境,因为我们不了解这些概念。

3
我应该使用什么投影来制作自己的Globe?
在寻找这个问题的答案时,我发现 了缅因州海湾研究所发布的说明,显示了如何创建地球仪。 使用手动方法... 我将采用哪种方法使用GIS创建地球仪? 我应该为每个戈尔使用什么投影? 如果我想在两极附近减少接缝,是否可以使用其他一些投影? 我可以做一系列投影来基于足球创建刺孔并将它们缝合在一起吗? 如何确定每个五边形和六边形的切点以及它们在纬度/经度上的顶点? 其他一些非足球的等面体会更合适吗?

6
手动将旋转的经/纬度转换为常规纬度/经度?
首先,我需要澄清一下,我之前没有该领域的经验,所以我不知道技术术语。我的问题如下: 我有两个天气数据集: 第一个具有正则坐标系(我不知道它是否具有特定名称),范围从-90到90和-180到180,并且两极在-90和90的纬度处。 在第二个中,尽管它应该对应于相同的区域,但我注意到了一些不同:纬度和经度并不相同,因为它们有另一个参考点(在描述中称为旋转网格)。连同纬度/经度对一起,提供以下信息:南极纬度:-35.00,南极纬度:-15.00,角度:0.0。 我需要将第二对lon / lat转换为第一对。可以简单地将纬度添加35,将经度添加15,因为角度为0,这似乎很简单,但是我不确定。 编辑:我有关坐标的信息如下 http://rda.ucar.edu/docs/formats/grib/gribdoc/llgrid.html 显然,第二坐标系由球体的总体旋转定义 “这些参数的一种选择是: 以坐标系南极为单位的地理纬度,例如点击; 坐标系南极的地理经度,例如lambdap; 假设围绕新极轴的旋转角度(以度为单位,当从南极到北极看时为顺时针方向)是通过首先使球体绕地理极轴旋转lambdap度来获得的,然后旋转(90 + thetap)度,以使南极沿格林威治子午线(先前旋转过)移动。” 但我仍然不知道如何将其转换为第一个。

3
ArcGIS SpatialReference对象工厂代码是否与EPSG号相对应?
我有一个项目,正在从文本文件中读取几何对象以将其放入ArcSDE。这些几何对象有一个关联的EPSG代码,我正在寻找一种方法来确保完成后它们处于正确的投影中。 在查看了我感兴趣的工厂代码(GCS GDA94; EPSG:4283和VicGrid 94; EPSG:3111)之后,看来该EPSG代码直接对应于ESRI空间参考的工厂代码(此处和此处)。这很棒,因为这意味着我不必担心导航到投影文件来创建SpatialReference对象,例如在下面的代码中: import arcpy # Create a spatial reference object using a factory code # sr = arcpy.SpatialReference() sr.factoryCode = int(epsg_code.lstrip("EPSG:")) sr.create() 不幸的是,我在ESRI文档中找不到任何参考来说明这是否一直存在-我想是的,但是我宁愿肯定知道。有人知道我可以找到哪里吗?

5
OpenLayers中的地图投影
我想在OpenLayers的Google地图图层上叠加一些投影为WGS-84的数据。但是我只是不能把它们放在正确的位置。我做了如下: map = new OpenLayers.Map('map', { numZoomLevels: 20, projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG: 4326") }); googlelayer = new OpenLayers.Layer.Google("Google street", {sphericalMercator: true}); map.addLayer(googlelayer); veclayer = new OpenLayers.Layer.Vector("vector", { projection: map.displayProjection }; var geojson_format = new OpenLayers.Format.GeoJSON(); veclayer.addFeatures(geojson_format.read(jsonData)); 尽管我已经分配veclayer了4326投影,但是尽管我将displayProjection设置为4326,但它仍被解释为900913,并且显示协调系统也为900913。我会犯什么错误?


11
不连续或间断的地图投影?
当前的任何开源GIS软件都支持不连续的投影系统吗?例如正弦波,动力,蝴蝶等?如果不是,是否有任何负担得起的商业产品(负担得起的价格<$ 150)? Upate:以“正弦曲线” 开头显然不是一个好主意,因为该投影也具有单点不间断形式。请注意,此处的关键字不连续或间断。谢谢。


2
使用C#的Gdal / Ogr的API文档
我想在我的Web C#应用程序中将投影分配给shapefile,为此我正在使用Gdal / OGR / OSR C#绑定并添加osr_csharp.dll和ogr_csharp.dll引用。但是我在编写将投影分配给shapefile的代码时遇到了一些困难。我想知道是否有任何API文档可以帮助我理解这些库的类/方法。或者,如果有人有一些代码可以将投影分配给shapefile,那么对我来说将是很大的帮助。



4
是否可以使用SQL Server重新投影空间数据?
SQL Server在创建空间数据时会采用SRID,但是是否可以使用翻译坐标的其他SRID进行检索? 例如,假设我有一堆使用SRID 4258的空间多边形,但我想与SRID为4326的一些先前存在的数据一起使用-是否内置转换,或者我必须处理这个问题自己转换? PostGIS实现的SQL-MM方法是ST_Transform。如何在SQL Server中做到这一点?

1
文件大小膨胀是否与gdalwarp正常?
在使用gdalwarp(通过-tap)投影并对齐到栅格后,我注意到输出栅格比原始栅格大得多。相当彻底的网络搜索发现了Trac问题: 弗兰克·沃默丹(Frank Warmerdam)解释了原因: “经过仔细检查,所讨论文件的不同之处在于,gdal_translate使用TIFFWriteScanline()接口从GTiffDataset :: CreateCopy?()内部写入输出文件,而这仅写入了最后一个'strip'完整的图像区域所需的文件。但是gdalwarp会通过blockio接口,该接口会写入完整的最终条带,甚至是掉落到文件末尾的部分。” 但是,此Trac问题gdalwarp已有7年之久了,我知道GDAL实用程序已经进行了一些更改。我想知道上述推理是否仍然成立,我看到的文件大小膨胀是否“正常”。此处的“正常”一词可能表示意料之中或意料之中,但更重要的是:是否可以采取任何措施来减轻这种影响,即减小输出栅格文件的大小?下表是我遇到的文件大小膨胀的表。 Input File Size (bytes) Output File Size (bytes) Inflation 1437380431 1698334217 18% 1428001178 1698334433 19% 41683165 137036637 228% 输入的TIFF文件是在ArcGIS中创建的,因此具有外部Worldfile,XML和DBF文件,但是这些文件并不能弥补文件大小的差异。这是一个示例gdalwarp调用,因为我在所有这些情况下都使用过它。实际执行由Python subprocess(subprocess.Popen)处理: $ gdalwarp -tap -tr 30 30 -t_srs "+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs" -co "COMPRESS=LZW" input_file.tif output_file.tif 我知道在极少数情况下,压缩会产生更大的文件,但是在不使用LZW压缩的情况下,效果是相同的。表中的比率为LZW压缩率。


1
GDAL / Python:如何从SpatialReference获取坐标系名称?
在Python中,使用GDAL,我提取了栅格投影作为WKT字符串,如下所示: wkt = dataset.GetProjection() # wkt is 'PROJCS["GDA_1994_Transverse_Mercator",GEOGCS["GDA_1994",DATUM["GDA_1994",SPHEROID["GRS_1980",6378137,298.2572221010002],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]]' 使用WKT字符串,我可以创建一个SpatialReference实例,如下所示: src = osr.SpatialReference() src.ImportFromWkt(wkt) 这很容易。我可以src很容易地从诸如UTM区域等中提取投影的几个参数。但是我不知道如何提取类似投影名称的内容,即"GDA_1994_Transverse_Mercator"。这肯定是有可能的,但是就其所有用途而言,Python API文档也可能不存在。 如何提取投影和地理坐标系的名称?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.