Mercurial > hg > forks > geeqie
annotate plugins/geocode-parameters/geocode-parameters.awk @ 2903:a9225aa1d93c
Add awk shebang to geocode-parameters.awk
author | Andreas Rönnquist <andreas@ronnquist.net> |
---|---|
date | Tue, 31 Jul 2018 18:34:40 +0200 |
parents | ab3ff63854d4 |
children |
rev | line source |
---|---|
2903
a9225aa1d93c
Add awk shebang to geocode-parameters.awk
Andreas Rönnquist <andreas@ronnquist.net>
parents:
2569
diff
changeset
|
1 #!/usr/bin/awk -f |
2560
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
2 # |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
3 # This file is used by the Search option "search on geo-position". |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
4 # It is used to decode the results of internet or other searches |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
5 # to extract a geo-position from a text string. |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
6 # |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
7 # To include other searches, follow the examples below and |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
8 # store the file in: |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
9 # ~/.config/geeqie/applications/geocode-parameters.awk |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
10 # Ensure the returned value is either in the format: |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
11 # 89.123 179.123 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
12 # or |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
13 # Error: $0 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
14 # |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
15 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
16 function check_parameters(latitude, longitude) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
17 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
18 # Ensure the parameters are numbers |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
19 if ((latitude == (latitude+0)) && (longitude == (longitude+0))) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
20 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
21 if (latitude >= -90 && latitude <= 90 && |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
22 longitude >= -180 && longitude <= 180) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
23 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
24 return latitude " " longitude |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
25 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
26 else |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
27 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
28 return "Error: " latitude " " longitude |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
29 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
30 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
31 else |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
32 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
33 return "Error: " latitude " " longitude |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
34 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
35 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
36 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
37 # This awk file is accessed by the decode_geo_parameters() function |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
38 # in search.c. The call is of the format: |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
39 # echo "string_to_be_searched" | awk -f geocode-parameters.awk |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
40 # |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
41 # Search the input string for known formats. |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
42 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
43 if (index($0, "http://www.geonames.org/maps/google_")) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
44 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
45 # This is a drag-and-drop or copy-paste from a geonames.org search |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
46 # in the format e.g. |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
47 # http://www.geonames.org/maps/google_51.513_-0.092.html |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
48 |
2569
ab3ff63854d4
Fix geonames coding error
Colin Clark <colin.clark@cclark.uk>
parents:
2560
diff
changeset
|
49 gsub(/http:\/\/www.geonames.org\/maps\/google_/, "") |
2560
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
50 gsub(/.html/, "") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
51 gsub(/_/, " ") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
52 print check_parameters($1, $2) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
53 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
54 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
55 else if (index($0, "https://www.openstreetmap.org/search?query=")) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
56 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
57 # This is a copy-paste from an openstreetmap.org search |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
58 # in the format e.g. |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
59 # https://www.openstreetmap.org/search?query=51.4878%2C-0.1353#map=11/51.4880/-0.1356 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
60 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
61 gsub(/https:\/\/www.openstreetmap.org\/search\?query=/, "") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
62 gsub(/#map=.*/, "") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
63 gsub(/%2C/, " ") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
64 print check_parameters($1, $2) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
65 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
66 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
67 else if (index($0, "https://www.openstreetmap.org/#map=")) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
68 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
69 # This is a copy-paste from an openstreetmap.org search |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
70 # in the format e.g. |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
71 # https://www.openstreetmap.org/#map=5/18.271/16.084 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
72 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
73 gsub(/https:\/\/www.openstreetmap.org\/#map=[^\/]*/,"") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
74 gsub(/\//," ") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
75 print check_parameters($1, $2) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
76 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
77 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
78 else if (index($0, "https://www.google.com/maps/")) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
79 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
80 # This is a copy-paste from a google.com maps search |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
81 # in the format e.g. |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
82 # https://www.google.com/maps/place/London,+UK/@51.5283064,-0.3824815,10z/data=.... |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
83 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
84 gsub(/https:\/\/www.google.com\/maps.*@/,"") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
85 sub(/,/," ") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
86 gsub(/,.*/,"") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
87 print check_parameters($1, $2) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
88 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
89 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
90 else if (index($0,".html")) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
91 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
92 # This is an unknown html address |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
93 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
94 print "Error: " $0 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
95 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
96 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
97 else if (index($0,"http")) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
98 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
99 # This is an unknown html address |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
100 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
101 print "Error: " $0 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
102 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
103 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
104 else if (index($0, ",")) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
105 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
106 # This is assumed to be a simple lat/long of the format: |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
107 # 89.123,179.123 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
108 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
109 split($0, latlong, ",") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
110 print check_parameters(latlong[1], latlong[2]) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
111 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
112 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
113 else |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
114 { |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
115 # This is assumed to be a simple lat/long of the format: |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
116 # 89.123 179.123 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
117 |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
118 split($0, latlong, " ") |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
119 print check_parameters(latlong[1], latlong[2]) |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
120 } |
94011c997c04
Move install folder for geocode-parameters
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
121 } |