1

任何人都知道如何将纬度、经度转换为度数来定义BBOX哪里SRS=EPSG:27700

我正在尝试使用如下 URL 调用 WMS 服务(不是真正的链接): http://mysecretmappingserver.com/wms?user=myuser&pwd=mypassword&VERSION=1.1.1&REQUEST=GetMap&LAYERS=ap25cm&STYLES=&SRS=EPSG:27700&BBOX= 229096,231675,229296,231875&宽度=400&高度=400

任何语言都可以;C# 更可取。

Spacedman 一直在努力帮助我,但我似乎无法让 Proj4Net 为我工作——我敢肯定,我只是——但如果有人知道 Proj4Net 或所涉及的数学,那可能会更好......

4

2 回答 2

1

您需要以您选择的语言访问 PROJ.4 投影库的接口。例如,在 R 中,它在 rgdal 包中:

这是 epsg:4326 中的一些点(1,1 到 2,2 度):

> pts
SpatialPoints:
     coords.x1 coords.x2
[1,]         1         1
[2,]         2         2
Coordinate Reference System (CRS) arguments: +init=epsg:4326 

瞧:

> spTransform(pts,CRS("+init=epsg:27700"))
SpatialPoints:
     coords.x1 coords.x2
[1,]  734005.9  -5416918
[2,]  845270.7  -5305999
Coordinate Reference System (CRS) arguments: +init=epsg:27700

Proj.4 文档在这里:

http://trac.osgeo.org/proj/

由于这是 OSGB,因此英国可能是一个更好的例子:这是伦敦市中心的一个点:

> pts = SpatialPoints(cbind(-0.109863,51.460852),proj4string=CRS("+init=epsg:4326"))
> spTransform(pts,CRS("+init=epsg:27700"))SpatialPoints:
     coords.x1 coords.x2
[1,]  531407.1  175235.8
Coordinate Reference System (CRS) arguments: +init=epsg:27700
+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000
+y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs
+towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894 
于 2010-12-16T18:04:40.883 回答
0

我推荐ogr2ogr,其中可以在投影之间转换。我已经将它安装在我的 Mac 上,并且绑定了例如 Python 和许多其他语言。您也可以在命令行上使用它。主页是http://www.gdal.org/ogr2ogr.html

于 2011-10-31T08:44:44.380 回答