netico 2 years ago
parent
commit
4855987cd4
3 changed files with 68 additions and 0 deletions
  1. 5 0
      OSM/Locator/input.csv
  2. 5 0
      OSM/Locator/input.txt
  3. 58 0
      OSM/Locator/locator.sh

+ 5 - 0
OSM/Locator/input.csv

@@ -0,0 +1,5 @@
+"Viale Monza 255, Milano", 45.51117645, 9.223721560610135
+"Via Federico Confalonieri 3, Milano", 45.4865452, 9.1899719
+"Piazzale Cimitero Maggiore 18, Milano", 45.5047226, 9.12222811832201
+"Via Cremona 10, Cinisello Balsamo", 45.5589741, 9.2275036
+"Via Dei Transiti 28, Milano", 45.4912683, 9.2186462

+ 5 - 0
OSM/Locator/input.txt

@@ -0,0 +1,5 @@
+viale Monza 255, milano
+via Federico Confalonieri 3, milano
+piazzale cimitero maggiore 18, milano
+via cremona 10, cinisello balsamo
+Via Dei Transiti 28, Milano

+ 58 - 0
OSM/Locator/locator.sh

@@ -0,0 +1,58 @@
+#!/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