关于如何生成地球上的随机坐标(纬度/经度)的任何聪明的想法?纬度/经度.精确到5点,避免水体.
double minLat = -90.00;
double maxLat = 90.00;
double latitude = minLat + (double)(Math.random() * ((maxLat - minLat) + 1));
double minLon = 0.00;
double maxLon = 180.00;
double longitude = minLon + (double)(Math.random() * ((maxLon - minLon) + 1));
DecimalFormat df = new DecimalFormat("#.#####");
log.info("latitude:longitude --> " + df.format(latitude) + "," + df.format(longitude));
Run Code Online (Sandbox Code Playgroud)
也许我生活在一个梦想的世界里,水话题是不可避免的......但希望有一个更好,更清洁,更有效的方法来做到这一点?
编辑
一些奇妙的答案/想法 - 然而,在规模上,让我们说我需要生成25,000个坐标.由于延迟,成本和一些其他因素,去外部服务提供商可能不是最佳选择.
几年前我忘记了这项工作,但需要每晚对成千上万的地址进行地理编码.我必须使用非常准确的数据库坐在机器上,当Nuvi地图更新安装Mapsource时安装.
几年前,当我联系Garmin时,他们表示有兴趣为此提供API,但之后我什么都没听到,也没有跟进.他们的数据库是由navtec提供的?我相信.有人有这种格式的经验吗?
我刚刚在Garmin开发者论坛上发帖,但那里有点昏昏欲睡:)
有没有人这样做过?有没有人知道如果没有API可以做到这一点; 意思是数据库结构和调用?
我会用任何语言解决问题.
添加:
Garmin表示有兴趣让我可以使用.他们还没有做到.
我不知道数据库格式.
我不是在寻找在线解决方案或任何其他"替代方案".这个问题非常具体.
联系信息:MikeTrader2 AT gmail DOT com
如果我有一个尺寸为sizeX,sizeY的jpeg地图
和地图上的一些校准点(X,Y,Lon,Lat)
使用给定的经度/纬度对计算地图中相应XY点的算法是什么?
我正在尝试使用以下代码将地址编码为坐标:
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:@"6138 Bollinger Road, San Jose, United States" completionHandler:^(NSArray* placemarks, NSError* error){
for (CLPlacemark* aPlacemark in placemarks)
{
// Process the placemark.
NSString *latDest1 = [NSString stringWithFormat:@"%.4f",aPlacemark.location.coordinate.latitude];
NSString *lngDest1 = [NSString stringWithFormat:@"%.4f",aPlacemark.location.coordinate.longitude];
lblDestinationLat.text = latDest1;
lblDestinationLng.text = lngDest1;
}
}];
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多次,但调试器从未进入块,我无法获得该位置.有人可以帮我吗?
问候
Pankaj
我已经尝试运行代码,通过谷歌地图对R中的位置进行地理编码,以及XML来自此博客文章的软件包:http:
//www.r-chart.com/2010/07/maps-geocoding-and-r-user-conference html的
这是他的功能:
getDocNodeVal=function(doc, path){
sapply(getNodeSet(doc, path), function(el) xmlValue(el))
}
gGeoCode=function(str){
library(XML)
u=paste('http://maps.google.com/maps/api/geocode/xml?sensor=false&address=',str)
doc = xmlTreeParse(u, useInternal=TRUE)
str=gsub(' ','%20',str)
lng=getDocNodeVal(doc, "/GeocodeResponse/result/geometry/location/lat")
lat=getDocNodeVal(doc, "/GeocodeResponse/result/geometry/location/lng")
c(lat,lng)
}
Run Code Online (Sandbox Code Playgroud)
当我运行时gGeoCode(),我收到以下错误:
> gGeoCode("Philadelphia, PA")
failed to load external entity "http%3A//maps.google.com/maps/api/geocode/xml%3Fsensor=false&address=%20Philadelphia,%20PA"
Error: 1: failed to load external entity "http%3A//maps.google.com/maps/api/geocode/xml%3Fsensor=false&address=%20Philadelphia,%20PA"
Run Code Online (Sandbox Code Playgroud)
如果我只是粘贴到浏览器中的API网址Philadelphia, PA附加到最后,就像传递给的字符串xmlParseTree一样,我下载时看到的结果看起来像合法的xml.
这是代码的问题,还是我没有配置某些东西?
我想从经纬度坐标中检索地址。我在谷歌控制台中创建了项目。添加计费信息并启用地理编码 api 服务。但是当我提出这个请求时,我仍然收到以下错误
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.89,12.49&key=xxxx
您必须在https://console.cloud.google.com/project/_/billing/enable上对 Google Cloud 项目启用计费
google-maps geocoding google-cloud-platform google-cloud-billing
存在未知的目标位置(纬度和经度坐标).我有3个纬度和经度坐标对,每对与目标位置的距离以千米为单位.如何计算目标位置的坐标?
例如,假设我有以下数据点
37.418436,-121.963477 0.265710701754km
37.417243,-121.961889 0.234592423446km
37.418692,-121.960194 0.0548954278262km
Run Code Online (Sandbox Code Playgroud)
我想要的是作为输入并37.417959,-121.961954作为输出返回的函数的内容是什么样的?
我理解如何计算两点之间的距离,来自http://www.movable-type.co.uk/scripts/latlong.html我理解一般原则,即三个圆圈恰好得到一个重叠点.我朦胧的是用这个输入计算这一点所需的数学.
我想格式化CLPlacemark为字符串.
众所周知的方法是使用,ABCreateStringWithAddressDictionary但它在iOS 9中已被弃用.警告告诉我使用CNPostalAddressFormatter.
但是,CNPostalAddressFormatter只能格式化CNPostalAddress.没有办法正确转换CLPlacemark为CNPostalAddress; 仅这3个性质通过共享CLPlacemark和CNPostalAddress:country,ISOcountryCode,和postalCode.
那么我应该如何格式化CLPlacemark为现在的字符串?
我需要建模一个可以有多行街道地址,城市,州(省)和邮政编码的邮政地址.这个国家被省略了.
我需要在街道地址中保留换行符,但仍然可以搜索地址.
我认为有两种方法可以做到:
__CODE__Run Code Online (Sandbox Code Playgroud)
或者这个将街道地址存储在一个文本字段中,但使用特殊的分隔符来编码换行符:
__CODE__
在代码可读性和效率(或它们的平衡)方面,最好的方法是什么?
我目前正在开发一个基于人口的大型数据库,我需要计算每个人的两个地址之间的距离.我的第一个思路是获得代表每个地址的纬度和经度,然后计算距离.我使用Google API通过R中的各种包(例如dismo)获取这些地址的纬度和经度.但是,谷歌在24小时内限制了2500个请求.我有大约300,000个地址,每天运行2,500个,我将无法满足截止日期.
有没有人会有关于其他API的建议我可以使用R来获得经度和纬度?
谢谢.
geocoding ×10
google-maps ×2
ios ×2
r ×2
c++ ×1
coordinates ×1
django ×1
garmin ×1
gis ×1
gps ×1
ios5 ×1
iphone ×1
java ×1
objective-c ×1
swift ×1