我正在尝试构建一个API,以便了解是否CLLocation代表土地.我需要这个离线工作,因为我希望我的大多数用户都没有连接.我使用MapBox作为tile服务器,但这仍然是一个MapKit问题,因为我没有使用MapBox SDK.
我已经尝试了几种方法来确定给定坐标是代表陆地还是海洋位置:
另外(在上面的处理之后)是否有一种有效的方法来决定给定一个瓦片坐标(x,y,z)是否是陆地/海洋/海岸瓦片?
如果有人一直在努力解决这个问题,我会在此提出一些建议.
是否有一个包允许计算两点之间的空间距离考虑到高程.因此,对于每个点,我们将拥有纬度,经度和海拔.到目前为止,我必须编写以下函数:
library(geosphere)
distance3D <- function (point1, point2) {
planiDist <- distm(point1[1:2], point2[1:2])
altiDist <- point2[3] - point1[3]
dist3D <- sqrt(planiDist^2+altiDist^2)
return(dist3D)
}
Run Code Online (Sandbox Code Playgroud)
我只是想知道其中一个R包中是否存在一个功能.
我正在寻找以编程方式获取某个美国城市所在美国郡名称的最佳/最简单的方法.似乎没有一个简单的API可用于这样一个(看似简单的)任务?
我有MongoDB的以下问题.我从我的祖国获得了一些地理数据,我必须将它们存储到mongodb中以建立一个简单的Web要素服务.此服务主要使用$within运算符进行边界框查询.数据采用GeoJSON格式.因此我首先导入了[1,2]以这种格式表示为points()的村庄和城市.没问题.下一步是LineStrings的河流和街道,根据GeoJSON代表这种方式[[1,2],[3,4]].但是当导入区域(实际上是多边形并且根据GeoJSON规范3 dim arrrays)时,我geo values have to be numbers在创建索引时遇到了错误 .
db.collection.ensureIndex({"geometry.coordinates" : "2d"});
Run Code Online (Sandbox Code Playgroud)
所有数据都是有效的GeoJSON,并且在EPSG中的普通2d坐标:4326投影.
有人有想法吗?
我需要在C#中将米转换为十进制度数.我在维基百科上读到1小数等于111.32 km.但它在赤道上,所以如果我位于上方/下方,我的转换将是错误的?我认为这是错误的:
long sRad = (long.Parse(sRadTBx.Text)) / (111.32*1000);
Run Code Online (Sandbox Code Playgroud)
编辑:我需要此搜索半径来查找附近的用户
long myLatitude = 100;
long myLongitude = 100;
long sRad = /* right formula to convert meters to decimal degrees*/
long begLat = myLatitude - searchRad;
long endLat = myLatitude + searchRad;
long begLong = myLongitude - searchRad;
long endLong = myLongitude + searchRad;
List<User> FoundUsers = new List<User>();
foreach (User user in db.Users)
{
// Check if the user in the database is within range
if (user.usrLat …Run Code Online (Sandbox Code Playgroud) 我正在开发的项目使用google places autocomplete来帮助用户输入POI和地址.这工作正常但我们想要按照我们在多边形中定义的特定区域来过滤自动完成结果.
由于谷歌没有在响应中发送纬度和经度,因此无法使用他们的api.当然,我们可以发送第二个请求来检索这些数据,但它似乎不是一个很好的解决方案,无论是性能还是数据使用方面.
我查看了foursquare搜索API.这工作正常,但对地址的支持很差,api主要基于POI.
有没有替代谷歌的地方返回地址和POI?
我正在尝试确定一种方法来计算在给定缩放级别1个像素表示的米数和Leaflet中的地理中心点.任何人都可以指导我参与数学计算,或者是否有办法在传单中开箱即用?我在那里找不到太多东西.
我创建了下面的地图,它有一个均匀的灰色网格,间隔为1°,对于经线和纬线:
我还希望每隔5°间隔(同时保持1°网格)使经线和平行线变粗和变黑,以便网格线与纬度和经度标签匹配,如下所示:
我知道MATLAB有标准2D图的主要和次要网格,我过去曾使用它们.但是,据我所知,地图没有此功能.
我认为我想要做的就是通过访问地图对象属性(使用gcm或getm)并为特定子午线和平行子(使用)指定黑色属性来实现setm.也许功能gridm或axesm可以处理这个,但我不确定.
在实践中,我不知道如何做到这一点,因为我没有任何地图经验.我真的很感激你的帮助.
注意:此代码需要Mapping Toolbox.
% Read vector features and attributes from shapefile.
landareas = shaperead('landareas.shp', 'UseGeoCoords', true);
% Define map axes and set map properties.
axesm ('lambert',...
'MapLonLimit', [-70 10],...
'MapLatLimit', [30 70],...
'MapParallels', [38.00555556 71.01111111],...
'Frame', 'on',...
'FLineWidth', 1,...
'Grid', 'on',...
'GLineStyle', '-',...
'GLineWidth', 0.1,...
'GColor', [.7 .7 .7]);
% Display map latitude and longitude data.
geoshow(landareas, 'FaceColor', [1 1 .5], …Run Code Online (Sandbox Code Playgroud) 我没有在互联网上的任何地方看到这个问题,也似乎不赞成库,但我只是无法添加导入:
import com.google.android.gms.location.places.GeoDataClient;
Run Code Online (Sandbox Code Playgroud)
我的Android SDK是最新的.
有谁知道如何使用它?或者更确切地说,另一种获取GPS当前位置的方法?
非常感谢.
如何为某个点附近最近的 LINESTRING 提供资金?
首先,我有一个 LINESTRING 和点值列表。我如何获得距离点(5.41 3.9)最近的线串以及距离?
from shapely.geometry import Point, LineString
line_string = [LINESTRING (-1.15.12 9.9, -1.15.13 9.93), LINESTRING (-2.15.12 8.9, -2.15.13 8.93)]
point = POINT (5.41 3.9)
#distance
line_string [0].distance(point)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我认为我通过对第一个 LINESTRING 执行 line_string [0].distance(point) 来获得距离值,但我只是想确保我以正确的方式进行操作。