php Lat Long转换为导入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Lat Long转换为导入相关的知识,希望对你有一定的参考价值。

<?php
	
	// quick and dirty csv long lat conversion script
	// converts lat / long in this format:
	// N34 58.840 W85 55.147
	// to decimal format for import into WP Google Map Pro plugin

	$csv = array_map('str_getcsv', file('caves.csv'));

	$new_csv = array();

	foreach($csv as $data){
		
		$long_lat_pair = $data[1];

		// break into long and lat
		$long_lat_pair_array = explode('W', $long_lat_pair);

		$long_lat_pair_array[0] = ltrim($long_lat_pair_array[0], 'N');

		$long_lat_pair_array[0] = trim($long_lat_pair_array[0]);
		$long_lat_pair_array[1] = trim($long_lat_pair_array[1]);

		$lat_array = explode(' ', $long_lat_pair_array[0]);
		$long_array = explode(' ', $long_lat_pair_array[1]);

		$lat = $lat_array[0];
		$lat_dec = $lat_array[1] / 60;
		$lat .= '.'.intval($lat_dec * 100000);

		$long = '-'.$long_array[0];
		$long_dec = $long_array[1] / 60;
		$long .= '.'.intval($long_dec * 100000);

		$new_data = array();
		$new_data['name'] = $data[0];
		$new_data['address'] = ' '; // needed, even if blank, for plugin import
		$new_data['lat'] = $lat;
		$new_data['long'] = $long;

		$description = '';

		if(!empty($data[3])){
			$description .= 'Cave Altitude: '.$data[3].'ft<br>';
		}

		$description .= '<a href="'.$data[2].'" target="blank">View in Google Maps</a>';

		$new_data['description'] = $description;

		$new_csv[] = $new_data;


	}// foreach

	$new_csv_file = fopen("new_caves.csv",'w') or die("Can't open php://output");

	fputcsv($new_csv_file, array('name','lat','long', 'desc'));
	
	foreach($new_csv as $value) {
		fputcsv($new_csv_file, $value);
	}

	fclose($new_csv_file) or die("Can't close php://output");

	echo 'done';

以上是关于php Lat Long转换为导入的主要内容,如果未能解决你的问题,请参考以下文章

将 Lat/Long 转换为状态

是否有 API 将 long/lat 转换为城市、国家而不是 Google API [关闭]

将 x,y 像素值转换为 lat 和 long

TileProvider 方法 getTile - 需要将 x 和 y 转换为 lat/long

如何在 R 中毫无问题地将 Lat-Long 转换为 FIPS 县代码?

php mysql比较long和lat,返回10英里以下的