Как преобразовать широту / долготу в градусах в BBOX, где SRS = EPSG: 27700 - PullRequest
1 голос
/ 16 декабря 2010

Кто-нибудь знает, как преобразовать широту, долготу в градусах, чтобы определить BBOX, где SRS=EPSG:27700?

Я пытаюсь вызвать службу WMS с помощью URL-адреса, подобного следующему (не реальная ссылка): 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&width=400&height=400

Любой язык будет в порядке; C # предпочтительнее.

Spacedman пытался помочь мне, но я не могу заставить Proj4Net работать на меня - я в этом уверен, - но если кто-то знает, что такое Proj4Net или математика, это может быть лучше .

Ответы [ 2 ]

1 голос
/ 16 декабря 2010

Вам необходим интерфейс к библиотеке проекций PROJ.4 на выбранном вами языке. Например, в R он находится в пакете rgdal:

Вот некоторые пункты (от 1,1 до 2,2 градусов) в epsg: 4326:

> 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 
0 голосов
/ 31 октября 2011

Я рекомендую ogr2ogr, который среди прочего может конвертировать между проекциями.Он установлен на моем Mac, и есть привязка, например, к Python и многим другим языкам.Вы также можете использовать его в командной строке.Домашняя страница http://www.gdal.org/ogr2ogr.html

...