我正在尝试使用开层在两个不同的投影之间进行转换,但我无法使它工作。我确信我的源投影是EPSG:2100,我需要把它转换成我的地图投影,也就是球面墨卡托。
无论我做什么,我创建并放置在地图上的标记总是在同一个位置上:
var addMarker = function(){
var fromProjection = new OpenLayers.Projection("EPSG:2100");
var toProjection = new OpenLayers.Projection("EPSG:4326"
我可以看到这个问题的许多答案,但我似乎不太清楚其中的大多数。
我一直在尝试创建一个基于给定纬度和经度的动态标记的交互式世界地图。
我尝试了网上找到的各种方程,但无法得到更接近的结果。
到目前为止我已经尝试过的东西,
var y = Math.round(((-1 * lat) + 90) * (containerHeight / 180));
var x = Math.round((lon + 180) * (containerWidth / 360));
x = R * Math.cos(lat) * Math.cos(lon)
y = R * Math.cos(lat) * M
我从webservice获得的坐标是以Openlayer格式放置的??
坐标看起来像(在荷兰):
X = 217382.52712700056
Y = 576653.00667405012
我想把它们转换成经度/纬度(十进制格式),比如5.34343,51.34356
我以为它的格式是球形墨卡托米。我用这个公式来转换它。但是结果是没有意义的。
Dim mercX As Double = 217382.52712700056
Dim mercY As Double = 576653.00667405012
Dim rMajor As Integer = 6378137
Dim s
在使用geopandas (Python3)创建的墨卡托地图中,轴旁边的经度和纬度比例不正确。 我制作了一张墨卡托投影的地图,地图上的地貌就像这样。 import geopandas as gpd
import matplotlib.pyplot as plt
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
world = world[(world.name != "Antarctica") & (world.name != "Fr. S. Antarct
我有一个PostGIS表,其中包含SRID3857数据的几何字段。我想要获取几何的质心作为经纬度坐标,但似乎无法正确转换这些值: SELECT
ST_X(ST_CENTROID(geometry)),
ST_Y(ST_CENTROID(geometry)),
ST_X(ST_TRANSFORM(ST_CENTROID(geometry),3857)) AS LONG,
ST_Y(ST_CENTROID(ST_TRANSFORM(geometry,3857))) AS LAT
FROM my_table => -8220067.19453888107、4997528.08142071
我想要追踪不同点之间的轨迹
对于测试,我创建点并尝试在这些点之间建立链接
这是我的代码
OpenStreetMapLayer osm = new OpenStreetMapLayer();
map.addLayer(vectorLayer);
List<Point>points= new ArrayList<Point>();
Point point = new Point(44.272872,4.27826);
Point point2 = new Point(-55.272873,5.3873837);
Point point3 = new Poi
OpenLayers使用如下数组:[15711464.77174924, 1340284.424706252]来处理中心的坐标,但是对于mapbox-gl,我应该在-90到90之间设置一个值,然后得到以下错误:
Error: Invalid LngLat latitude value: must be between -90 and 90
那么,有没有办法将像:15711464.77174924这样的坐标转换成-90到90之间的坐标呢?
我正在尝试显示一个有三个图层(google地图图层,wms图层和点图层)的地图,这是我的代码:
var map = new OpenLayers.Map({
div: "map",
maxExtent: new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508.34)
});
var capaGoogle = new OpenLayers.Layer.Google(
"Google Satellite&
我有一个作为JPEG的墨卡托投影地图,我想知道如何将给定的x,y坐标与其纬度和经度联系起来。我看过Gudermannian函数,但我真的不明白如何获取和应用该函数。也就是说,它期望什么输入?我发现的实现(JavaScript)似乎采用了-PI和PI之间的范围,但是以像素为单位的y值与该范围之间的相关性是什么呢?
此外,我还发现了这个函数,它接受一个纬度,并返回Google Maps的磁贴,它也使用墨卡托。看起来,如果我知道如何求逆这个函数,我就非常接近得到我的答案了。
/*<summary>Get the vertical tile number from a latitude
u
我正在开发一个应用程序,其中我有一张地图。我正在使用ArcGIS SDK来显示地图。在这里,我试图在地图加载时显示我的当前位置。我已经将我的纬度和经度传递给了ArcGIS函数的x和y参数。这是该函数的代码,
let lat = gpsLocation.location?.coordinate.latitude
let lng = gpsLocation.location?.coordinate.longitude
print(lat)
print(lng)
//zoom to custom view point
self.mapView.setViewpointCenter(AGSPoin