12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #!/bin/sh
- PHPBIN="php -d error_reporting=0 ";
- if [ -f "$1" ]; then
- CSV=$(echo $1 | sed s/".txt"/".csv"/g);
- echo -n > $CSV;
- while read f; do
- ADDRESS=$(echo $f)
- export ADDRESS;
- $PHPBIN << 'EOF' >> $CSV;
- <?php
- $address = ucwords(trim(getenv("ADDRESS")));
-
- # Nominatim Usage Policy
- # https://operations.osmfoundation.org/policies/nominatim/
- sleep(1);
- # OpenStreetMap Nominatim API
- $url = 'https://nominatim.openstreetmap.org/search?q=' . urlencode($address) . '&limit=1&format=json';
- $ch = curl_init();
- # Set cURL User Agent
- curl_setopt($ch, CURLOPT_USERAGENT, "PostmanRuntime/7.28.4");
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_URL, $url);
- $response = curl_exec($ch);
- curl_close($ch);
-
- # Response
- $a = json_decode($response, true);
- echo "\"$address\", ";
- foreach ($a as $array) {
- foreach ($array as $k => $v) {
- switch ("$k") {
- case "lat":
- echo "$v, ";
- break;
- case "lon":
- echo "$v";
- break;
- }
- }
- }
- ?>
- EOF
- echo >> $CSV;
- done < $1
- # Remove newline character at the end of a file
- truncate -s -1 $CSV
- else
- echo "Usage: $0 <file>";
- fi
|