SQL
x
set @ns:=0;
#use commonswiki_p;set @ns:=6;
set @iso1:='GR';
#set @iso2:='' or code
set @iso2:='29';
/*
'XA', 'XI', 'XN', 'XO', 'XP', 'XS',
'AE','AF','AX','AL','AS','AD','AO','AI','AQ','AG','AR','AM','AW','AU','AT','AZ',
'BS','BH','BD','BB','BL','BY','BE','BZ','BJ','BM','BT','BO','BQ','BA','BW','BV','BR','BN','BG','BF','BI',
'CM','CA','CH','CV','CF','CL','CN','CX','CC','CO','CG','CD','CK','CR','CI','CU','CW','CY','CZ',
'DE','DK','DJ','DM','DO','DZ',
'EC','EG','EH','ER','EE','ES','ET',
'FK','FO','FJ','FI','FR','FX',
'GA','GB','GM','GE','GF','GH','GI','GR','GL','GD','GP','GU','GS','GT','GG','GN','GQ','GW','GY',
'HT','HM','HN','HK','HR','HU',
'IS','IN','IO','ID','IR','IQ','IE','IM','IL','IT',
'JM','JP','JE','JO','KZ','KE','KH','KI','KM','KN','KP','KR','KW','KG','KY',
'LA','LB','LC','LV','LK','LS','LR','LY','LI','LT','LU',
'MO','MK','MF','MG','MW','MY','MV','ML','MT','MH','MQ','MR','MU','MX','FM','MD','MC','MN','ME','MS','MA','MZ','MM',
'NA','NR','NP','NL','NC','NZ','NI','NE','NG','NU','NF','MP','NO','OM',
'PK','PW','PS','PA','PF','PG','PY','PE','PH','PM','PN','PL','PT','PR','QA',
'RE','RO','RU','RW','RS',
'SM','ST','SA','SH','SN','SC','SL','SG','SX','SK','SI','SB','SO','SS','SD','SR','SJ','SZ','SE','SV','SY',
'TD','TF','TW','TJ','TZ','TH','TL','TG','TK','TO','TT','TN','TR','TM','TC','TV',
'UG','UA','US','UM','UY','UZ',
'VA','VC','VU','VE','VN','VG','VI',
'WF','WS','YE','YT','ZA','ZM','ZW'
*/
select distinct sqrt((gt_lat - cen_gt_lat)*(gt_lat - cen_gt_lat) + (gt_lon - cen_gt_lon)*(gt_lon - cen_gt_lon)) as distanz_ungefaehr,
gt_lat, gt_lon, gt_type, gt_page_id, gt_name,
p1.page_namespace as ns,
p1.page_title as title,
gt_country,gt_region FROM geo_tags AS g1 JOIN page AS p1 ON g1.gt_page_id = p1.page_id,
(select avg(gt_lat) cen_gt_lat,avg(gt_lon) cen_gt_lon,count(*) from geo_tags
where
case
when @iso2=''
then gt_country=@iso1 and gt_region is null
else gt_country=@iso1 and gt_region=@iso2
end) as zentrumdavon
where
case
when @iso2=''
then gt_country=@iso1 and gt_region is null
else gt_country=@iso1 and gt_region=@iso2
end
#having ns= @ns
order by 1 desc, title asc, gt_name asc limit 500;
select distinct sqrt((gt_lat - cen_gt_lat)*(gt_lat - cen_gt_lat) + (gt_lon - cen_gt_lon)*(gt_lon - cen_gt_lon)) as distanz_ungefaehr,
gt_lat, gt_lon, gt_type, gt_page_id, gt_name,
p1.page_namespace as ns,
p1.page_title as title,
gt_country,gt_region FROM geo_tags AS g1 JOIN page AS p1 ON g1.gt_page_id = p1.page_id,
(select avg(gt_lat) cen_gt_lat,avg(gt_lon) cen_gt_lon,count(*) from geo_tags
where gt_country=@iso1 and gt_region is null
) as zentrumdavon
where gt_country=@iso1 and gt_region is null
#having ns= @ns
order by 1 desc limit 500;
#and gt_region is null
By running queries you agree to the Cloud Services Terms of Use and you irrevocably agree to release your SQL under CC0 License.
All SQL code is licensed under CC0 License.