summaryrefslogtreecommitdiff
path: root/scripts/geojson/fetch_all_points.sh
blob: d1ec50422cce8b06376c73aaa2d2cbc6c323adaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash

json=`curl -s 'https://wiki.linux-forks.de/mediawiki/api.php?action=query&format=json&list=search&redirects=1&converttitles=1&srsearch=%7B%7BCo%7C&srlimit=max&srwhat=text&srprop=snippet'`
data=`echo "$json" | json_reformat`;

echo "[";

IFS=$'\n';
for line in $data; do
	temp=`echo "$line" | sed -n 's/^\s*{\s*$/END/p'`
	if [[ "$temp" == "END" ]]; then
		title="";
		coords="";
	fi
	temp=`echo "$line" | sed -n 's/\s*"title": "*\([^"]\+\).*/\1/p'`
	if [[ "$temp" != "" ]]; then
		title="$temp";
	fi
	temp=`echo "$line" | sed -n 's#.*<span class=.searchmatch.>Co<\/span>|\([0-9\-]\+\)|\([0-9\-]\+\)|\([0-9\-]\+\).*#\1,\3#p'`
	if [[ "$temp" != "" ]]; then
		coords="$temp";
	fi
	if [[ "$title" != "" && "$coords" != "" ]]; then
		echo "{\"type\": \"Feature\", \"properties\": {\"name\": \"$title\","
		urltitle=`echo "$title" | sed 's/ /_/g'`
		./get_rendered_meta.sh "https://wiki.linux-forks.de/mediawiki/index.php/$urltitle"
		echo "},";
		echo "\"geometry\": {\"type\": \"Point\", \"coordinates\": [$coords]}},";
		title="";
		coords="";
	fi
done
IFS=" ";

echo "{}]";