Daha çox

Bir şəhərin ərazisini almaq üçün bir veb xidmət varmı?

Bir şəhərin ərazisini almaq üçün bir veb xidmət varmı?


Dünyanın hər bir şəhərinin səthini əhatə edən bir api / service / db axtarıram.

Məsələn, http://en.wikipedia.org/wiki/London, sağdakı qutuda bu məlumatlar var.

Axtardım, ancaq faydalı bir şey tapa bilmədim. Google-un bunun üçün heç bir API-si yoxdur və Wikipedia-nı təhlil etmək istəmirəm. Pullu xidmətlər belə yaxşıdır!


Vikipediyanı təhlil etməyinizə ehtiyac yoxdur. Artıq DBPedia tərəfindən Bağlı Açıq Verilər kimi ayrılmış və qurulmuşdur.

Məsələn, bu HTTP sorğusu ilə London ərazisini əldə edə bilərsiniz:

http://dbpedia.org/sparql?query=PREFIX+%3A+%3Chttp%3A%2F%2Fdbpedia.org%2Fresource%2F%3E+%0D%0APREFIX+dbpedia2%3A+%3Chttp%3A%2F%2Fdbped.org 2Fproperty% 2F% 3E% 0D% 0ASELECT +% 3FareaTotalKm2% 0D% 0AWHERE + {% 0D% 0A +++++% 3ALondon + dbpedia2% 3AareaTotalKm +% 3FareaTotalKm2% 0D% 0A} & format = json

(SPARQL sintaksisinə) uyğun gəlir:

PREFIX:  PREFIX dbpedia2:  SEÇİN? AreaTotalKm2 HARADA {: London dbpedia2: areaTotalKm? AreaTotalKm2}

Sizə bu JSON nəticəsini veririk:

{"head": {"link": [], "vars": ["areaTotalKm2"]}, "results": {"different": false, "order": true, "bindings": [{"areaTotalKm2" : {"type": "typed-literal", "datatype": "http://www.w3.org/2001/XMLSchema#integer", "value": "1572"}}]}}

Və bunu təhlil etmək lazımdır.


Bununla birlikdə, Parislə cəhd etsəniz, ərazini mülkdən almayacaqsınızsahə Cəmi Km(qəribə!). Sorğunuzun effektivliyini artırmaq üçün həqiqətən bir neçə (istəyə görə) sahə xassələri sorğu etməlisiniz.

Bu, yuxarıda göstərilən sorğunun daha ümumi bir versiyasıdır:

PREFIX:  PREFIX dbpedia2:  PREFIX dbp2:  PREFIX səh:  SEÇİN? AreaTotalKm2? AreaTotalm2? Area HARADA {İSTƏYƏLİ {: Paris pp: area? Area} İSTƏYƏLİ {: Paris dbp2: areaTotal? AreaTotalm2} İSTƏYƏLİ {: Paris dbpedia2: areaTotalKm? AreaTotalKm2}}

Http://dbpedia.org/snorql/ ünvanından öz suallarınızı sınayın.