gpt4 book ai didi

google-maps - 特定邮政编码、县或地区内的随机真实美国地址

转载 作者:行者123 更新时间:2023-12-03 03:13:23 29 4
gpt4 key购买 nike

因此,对于学校的一个项目,我试图模拟学生住在我们镇上的地方,因为显然由于隐私问题,官方数据无法获得。我开始寻找一个按邮政编码、半径或县工作的发电机,但我一直找不到任何(商业或免费)我希望它是免费的,但我也许能够获得一些许可证资金。如果我找到随机生成器,它们不能仅限于邮政编码或城市来随机生成真实地址。

我发现的一个好主意在这里:https://stackoverflow.com/a/12289969/1778542

基于此,我会选择市中心的长\纬度坐标,找出郊区坐标来创建一个平面,然后在平面内随机生成长\纬度坐标,将它们反馈给谷歌,让谷歌估算出它的地址。人们提出的一个问题(我试图避免)是谷歌不使用经过验证的地址,而是近似地址。

有谁知道在哪里可以找到这样的生成器或使用 GMap 的更时尚的方式吗?

感谢一百万!

全科医生

最佳答案

我在我的 Laravel Seeder 中使用此代码,只要您为其提供位置区域和城镇,它就会在罗马尼亚获得一个随机街道名称,它的工作原理是获取该区域的纬度和经度,然后随机添加 2 公里的半径,然后向 google api 发出另一个请求,并从中提取随机街道名称。

我不知道这是否对您有帮助,只要您给出第一个好的查看位置,调整此代码就可以生成真实的地址;

这是代码:

 protected function getRandomStreetNameFromCity($judet, $city){
$kmRange = 2;
$initalLocation = [];
$randomLocation= [];
$randomKmval = mt_rand(1, $kmRange) / mt_getrandmax();

// Poor Man Lat and Lng
//Latitude: 1 deg = 110.574 km
//Longitude: 1 deg = 111.320*cos(latitude) km

$guzzelCl = new Client();
$guzelReq = $guzzelCl->request('GET', 'http://maps.googleapis.com/maps/api/geocode/json?address=Romania,'.$judet.','.$city.'&sensor=false', [
'verify' => false,
]);



if($guzelReq->getStatusCode() == 200){
$arrJson = json_decode($guzelReq->getBody(), true);
while (count($arrJson['results']) <= 0){
$judet= $this->getNewJudet();
$city = $this->getNewOras();
$guzelReq = $guzzelCl->request('GET', 'http://maps.googleapis.com/maps/api/geocode/json?address=Romania,'.$judet.','.$city.'&sensor=false', [
'verify' => false,
]);
$arrJson = json_decode($guzelReq->getBody(), true);
}


$initalLocation = $arrJson['results'][0]['geometry']['location'];
}



$plusMinus = $this->generateRandomString(1);


$randomExp = [ 1 => $tempLat = eval("return (1 / (110.574 ".$plusMinus." ".$randomKmval." )+ ".$initalLocation['lat']." );"),
2 => eval('return ('.$initalLocation['lng'].' '.$plusMinus.' 1/111.320*cos($tempLat));'),
];

$guzelReq = $guzzelCl->request('GET', 'http://maps.googleapis.com/maps/api/geocode/json?latlng='.$randomExp[1].','.$randomExp[2], [
'verify' => false,
]);
return explode(',', json_decode($guzelReq->getBody(), true)['results'][0]['formatted_address'])[0];



}


protected function getNewJudet(){
//This is a administrative type of location named 'judet' Romania is divided in a number bellow 50 of this
return array_rand($this->judetOras, 1);
}

protected function getNewOras(){
//This is a Town String
return $this->judetOras[$iterateJud = array_rand($this->judetOras, 1)][array_rand($this->judetOras[$iterateJud], 1)];
}


protected function generateRandomString($length = 10) {
$characters = '-+';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}

关于google-maps - 特定邮政编码、县或地区内的随机真实美国地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13482607/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com