Giter Club home page Giter Club logo

il-ilce-mahalle-geolocation-rest-api's Introduction

İl, İlçe, Bölge ve Mahalle Bilgisi İçin Rest - API - [DEPRECATED]

⛔️ DEPRECATED

Bu API Türkiye'de yer alan il, ilçe ve mahalle bilgilerini içerir. İl ve ilçe bazında geolocation (enlem-boylam, poligon ve boundingbox) bilgileri de yer almaktadır. Mongodb yedek dosyalarını buradan indirebilirsiniz.

İçindekiler

Polygon Nedir

Polygon bir ilin ya da ilçenin sınırlarının enlem ve boylam bilgisini içeren bir grup veridir. Bu bilgi ile bir noktanın o bölge içinde olup olmadığını bilebilir ya da Google Map API ile harita üzerinde gösterebilirsiniz.

poligon bilgisi

Servisin Kullanımı

Tüm cevaplar { status : boolean, data : array, err : 'varsa hata' } şablonunda sunulur. Talep etmiş olduğunuz bilgi "data" bölümünde yer almaktadır. Beklenmeyen bir hata bulunduğunda status = false olacaktır.

Kısıtlamalar: Alınan genel sonuçlarda maksimum 100 data servis edilir. Bu sayıyı ?limit=10 diyerek 10'a indirebilirsiniz. Ayrıca bir sonraki sayfada yer alan bilgileri almak için ise ?skip=(sayı) şeklinde kullanım yapabilirsiniz.

Tüm endpointler için query string olarak "fields, skip, limit" kullanılabilir. Fields istenen alanlara karşılık gelmektedir.

Sıralama City > Towns > Districts > Neighborhoods şeklindedir.
Sıralama İl > İlçe > Semt > Mahalle şeklindedir.

Servis adresi : https://il-ilce-rest-api.herokuapp.com/v1

Örnek : https://il-ilce-rest-api.herokuapp.com/v1/cities

Koordinat Arama (/search/coordinates)

Arama özelliğini kullanarak, servise gönderdiğiniz enlem ve boylam bilgisi karşılığında bu koordinatın hangi ilçe ve ilde olduğunun bilgisini alabilirsiniz.

/search/coordinates?lat=40.340134&lon=27.971170

[
    {
        "_id":"ce941560c5a7ba9ff5cd24f5f9d75065",
        "name":"Bandırma",
        "city" : "Balıkesir"
    },
    ...
]

İller (/cities)

Toplam 81 il bilgisini json array olarak listeler. Default alanlar sadece _id ve isim bilgisidir.

[
    {
        "_id":"ce941560c5a7ba9ff5cd24f5f9d75065",
        "name":"İstanbul"
    },
    ...
]

/cities?fields=name,geolocation.lat,geolocation.lon

Sonuçlar içerisinde gelocationda yer alan enlem boylam bilgisini gösterir. Dilerseniz sadece "gelocation" alanını kullanarak gelocation içinde yer alan tüm bilgilere ulaşabilirsiniz.

[
    {
        "_id":"ce941560c5a7ba9ff5cd24f5f9d75065"
        "name":"İstanbul",
        "geolocation":{
            "lat":"41.0766019",
            "lon":"29.052495"
        }
    },
    ...
]

/cities?fields=name,towns

İl isimleri ile birlikte o ile ait ilçelerin isim ve id bilgisini listeler.

[
    {
        "_id":"ce941560c5a7ba9ff5cd24f5f9d75065",
        "name":"İstanbul",
        "towns":[
            {"_id":"fc74d991616e5931e47ef849ae54e8c2","name":"Adalar"},
            {"_id":"66cd91880b422fa267b41e1777d5d271","name":"Arnavutköy"},
            ...
        ]
    },
    ...
]

/cities?limit=10

Sadece ilk sırada yer alan 10 şehri listeler.

/cities?limit=10&skip=1

İkinci sayfada yer alan 10 şehri listeler.

/cities/:id

ID'si verilmiş şehir bilgisini döner.

{
    "_id":"ce941560c5a7ba9ff5cd24f5f9d75065",
    "name":"İstanbul",
    "geolocation":{
        "lat":"41.0766019",
        "lon":"29.052495",
        "polygons": [[27.9713956,41.1004234],[27.9736908,41.0990141],...],
        "boundingbox: [40.7289169,41.671,27.9713956,29.958148]
    }
}

/cities/:id?fields=name,towns

ID'si verilmiş şehrin isim ve ilçe bilgilerini listeler.

{
    "_id":"ce941560c5a7ba9ff5cd24f5f9d75065",
    "name":"İstanbul",
    "towns":[
        {"_id":"fc74d991616e5931e47ef849ae54e8c2","name":"Adalar"},
        {"_id":"66cd91880b422fa267b41e1777d5d271","name":"Arnavutköy"},
        {"_id":"b17dd334e97c22173275812f47d4a8c2","name":"Ataşehir"},
        {"_id":"4b0fa2e031d02d08a559fbff728b456d","name":"Avcılar"},
        ...
    ]
}

/cities/:id/towns

ID'si verilmiş şehrin sadece ilçelerini array olarak listeler.

[
    {"_id":"fc74d991616...","name":"Adalar", "city" : "İstanbul"},
    {"_id":"66cd91880b4...","name":"Arnavutköy", "city" : "İstanbul"},
    {"_id":"b17dd334e97...","name":"Ataşehir", "city" : "İstanbul"},
    {"_id":"4b0fa2e031d...","name":"Avcılar", "city" : "İstanbul"},
    ...
]

İlçeler (/towns)

Tüm ilçeleri json array olarak listeler(max=100). Default alanlar sadece _id, isim ve il bilgisidir.

[
    {
        "_id":"bccdf16204b5a81620ed39c8c69930ea",
        "name":"Kadıköy",
        "city" : "İstanbul"
    },
    ...
]

/towns?fields=name,geolocation.lat,geolocation.lon

Sonuçlar içerisinde gelocationda yer alan enlem boylam bilgisini gösterir. Dilerseniz sadece "gelocation" alanını kullanarak gelocation içinde yer alan tüm bilgilere ulaşabilirsiniz.

[
    {
        "_id":"bccdf16204b5a81620ed39c8c69930ea"
        "name":"Kadıköy",
        "geolocation":{
            "lat":"41.0766019",
            "lon":"29.052495"
        }
    },
    ...
]

/towns?fields=name,districts

İlçe isimleri ile birlikte o ilçeye ait semtlerin isim ve id bilgisini listeler.

[
    {
        "_id":"bccdf16204b5a81620ed39c8c69930ea",
        "name":"Kadıköy",
        "districts":[
            {"_id":"19136811a8b89351660117988aaab257","name":"Bostancı"},
            {"_id":"d7d8dfc31ec4fe72d6383a0393df7235","name":"Caddebostan"},
            {"_id":"1ce31e4e97cb908b3655f893661e4f1b","name":"Caferağa"}
            ...
        ]
    },
    ...
]

/towns?limit=10

Sadece ilk sırada yer alan 10 ilçeyi listeler.

/towns?limit=10&skip=1

İkinci sayfada yer alan 10 ilçeyi listeler.

/towns/:id

ID'si verilmiş ilçe bilgisini döner.

{
    "_id":"bccdf16204b5a81620ed39c8c69930ea",
    "name":"Kadıköy",
    "city": "İstanbul",
    "geolocation":{
        "lat":"41.0766019",
        "lon":"29.052495",
        "polygons": [[27.9713956,41.1004234],[27.9736908,41.0990141],...],
        "boundingbox: [40.7289169,41.671,27.9713956,29.958148]
    }
}

/towns/:id?fields=name,districts

ID'si verilmiş ilçenin isim ve semt bilgilerini listeler.

{
    "_id":"bccdf16204b5a81620ed39c8c69930ea",
    "name":"Kadıköy",
    "districts":[
        {"_id":"19136811a8b89351660117988aaab257","name":"Bostancı"},
        {"_id":"d7d8dfc31ec4fe72d6383a0393df7235","name":"Caddebostan"},
        {"_id":"1ce31e4e97cb908b3655f893661e4f1b","name":"Caferağa"}
        ...
    ]
}

/towns/:id/districts

ID'si verilmiş ilçenin sadece semtlerini array olarak listeler.

[
    {"_id":"fc74d991616...","name":"Adalar", "city" : "İstanbul"},
    {"_id":"66cd91880b4...","name":"Arnavutköy", "city" : "İstanbul"},
    {"_id":"b17dd334e97...","name":"Ataşehir", "city" : "İstanbul"},
    {"_id":"4b0fa2e031d...","name":"Avcılar", "city" : "İstanbul"},
    ...
]

/towns/:id/neighborhoods

Bazı durumlar için semt bilgisi gereksiz olabilir. Örneğin Kocaeli > Çayırova için sadece 1 adet semt vardır. Bu durumda Kocaeli > Çayırova > Mahalle şeklinde listelemek isteyebiliriz. Bir ilçeye ait tüm mahalleleri listelemek için bu adres kullanılabilir.

[
    {
        "_id":"15b998870108649f796f49cc82a7a9d0",
        "name":"Merdivenköy mah",
        "district":"Merdivenköy",
        "town":"Kadıköy",
        "city":"İstanbul",
        "zip_code":"34732"
    },
    {
        "_id":"240bba936488b60705e7650e5d0548ae",
        "name":"Göztepe mah",
        "district":"Göztepe",
        "town":"Kadıköy",
        "city":"İstanbul",
        "zip_code":"34730"
    },
    ...
]

Semtler (/districts)

Tüm semtleri json array olarak listeler(max=100). Default alanlar sadece _id, isim, ilçe ve il bilgisidir.

[
    {
        "_id":"dbd0266fcc4d225809c6c6669aa2046a",
        "name":"Feneryolu",
        "town" : "Kadıköy",
        "city" : "İstanbul"
    },
    ...
]

/districts?fields=name

Sonuçlar içerisinde sadece _id ve name bilgisi yer alır

/districts?fields=name,neighborhoods

Semt isimleri ile birlikte o semte ait mahalle isim ve id bilgisini listeler.

[
    {
        "_id":"dbd0266fcc4d225809c6c6669aa2046a",
        "name":"Feneryolu",
        "neighborhoods":[
            {"_id":"799df51fbdb9624b9274b01bd072d749","name":"Feneryolu mah"},
            {"_id":"b588445717478e1a47892e70b44325ac","name":"Zühtüpaşa mah"},
            ...
        ]
    },
    ...
]

/districts?limit=10

Sadece ilk sırada yer alan 10 semti listeler.

/districts?limit=10&skip=1

İkinci sayfada yer alan 10 semti listeler.

/districts/:id

ID'si verilmiş semt bilgisini döner.

{
    "_id":"dbd0266fcc4d225809c6c6669aa2046a",
    "name":"Feneryolu",
    "town":"Kadıköy",
    "city":"İstanbul"
}

/districts/:id?fields=name,neighborhoods

ID'si verilmiş semtin isim ve mahalle bilgilerini listeler.

{
    "_id":"dbd0266fcc4d225809c6c6669aa2046a",
    "name":"Feneryolu",
    "neighborhoods":[
        {"_id":"799df51fbdb9624b9274b01bd072d749","name":"Feneryolu mah"},
        {"_id":"b588445717478e1a47892e70b44325ac","name":"Zühtüpaşa mah"},
        ...
    ]
}

/districts/:id/neighborhoods

ID'si verilmiş semtin sadece mahallelerini array olarak listeler.

[
    {"_id":"799df51fbdb9624b9274b01bd072d749","name":"Feneryolu mah"},
    {"_id":"b588445717478e1a47892e70b44325ac","name":"Zühtüpaşa mah"},
    ...
]

Mahalleler (/neighborhoods)

Tüm mahalleleri json array olarak listeler(max=100). Default alanlar _id, isim, semt, ilçe, il ve posta kodu bilgisidir.

[
    {
        "_id":"799df51fbdb9624b9274b01bd072d749",
        "name":"Feneryolu mah",
        "district":"Feneryolu",
        "town":"Kadıköy",
        "city":"İstanbul",
        "zip_code":"34724"
    },
    ...
]

/neighborhoods?fields=name

Sonuçlar içerisinde sadece _id ve name bilgisi yer alır

/neighborhoods?limit=10

Sadece ilk sırada yer alan 10 mahalleyi listeler.

/neighborhoods?limit=10&skip=1

İkinci sayfada yer alan 10 mahalleyi listeler.

/neighborhoods/:id

ID'si verilmiş mahalle bilgisini döner.

{
    "_id":"799df51fbdb9624b9274b01bd072d749",
    "name":"Feneryolu mah",
    "district":"Feneryolu",
    "town":"Kadıköy",
    "city":"İstanbul",
    "zip_code":"34724"
}

Data Model

İl (City)

Alan Tip Açıklama
_id string Şehir id
name string Şehir ismi
towns array İlçe id listesi
geolocation object Enlem-boylam, polygon ve box bilgileri

İlçe (Town)

Alan Tip Açıklama
_id string İlçe id
name string İlçe ismi
city string Şehir ismi
districts array Semt id listesi
geolocation object Enlem-boylam, polygon ve box bilgileri

Semt (District)

Alan Tip Açıklama
_id string Semt id
name string Semt ismi
town string İlçe ismi
city string Şehir ismi
neighborhoods array Mahalle id listesi

Mahalle (Neighborhood)

Alan Tip Açıklama
_id string Mahalle id
name string Mahalle ismi
district string Semt ismi
town string İlçe ismi
city string Şehir ismi
zip_code string Posta Kodu

Konum Bilgisi (Geolocation)

Alan Tip Açıklama
lat string Enlem
lon string Boylam
polygons array Bölge sınırları
bounding_box array Bölge sınır köşeleri

Lisans

MIT License

Copyright (c) 2018 Melih Korkmaz

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

il-ilce-mahalle-geolocation-rest-api's People

Contributors

kartagis avatar melihkorkmaz avatar mertsimsek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

il-ilce-mahalle-geolocation-rest-api's Issues

Eyüpsultan polygon data yok

null dönüyor.
Diğer "town"lar var.

District ve Neighborhood için de polygon data yok anladığım kadarıyla.
Sizin için de uygunsa ben kendi projem için goole'dan alacağım, size de gönderebilirim.

geri kalan api için teşekkürler

iyi çalışmalar

Bulanik boundingbox verisi

Merhaba, servisinizi bugun kisisel hobi projemde kullanmak istedim ancak geolocation.boundinbox verisi bulanik oldugu icin koordinatlardan emin olamadim. Su an asagidaki gibi bir veri donuyor:

"geolocation": {
    "lat": "41.0734206",
    "lon": "28.9015561330191",
    "boundingbox": [
        "41.0518916",
        "41.0946066",
        "28.874044",
        "28.9390572"
      ]
}

bu verinin asagidaki gibi daha explicit anahtarlarla donmesi diger gelistiricilerin tahmin veya varsayimla ilerleme problemini ortadan kaldiracaktir:

"geolocation": {
    "lat": "41.0734206",
    "lon": "28.9015561330191",
    "boundingbox": [
        "south": "41.0518916",
        "north": "41.0946066",
        "east": "28.874044",
        "west": "28.9390572"
      ]
}

Tesekkurler.

mongo db kurulum önerisi

Merhaba Melih hocam
Çok teşekkür ederiz böyle bir kaynak oluşturduğunuz için.
Bilgilerin MongoDB ye yüklenmesi ile ilgili yardım önerinizi bekliyorum.
Yardımcı olursanız çok sevinirim
Saygılarımla

İl (City)
İlçe (Town)
Semt (District)
Mahalle (Neighborhood)
Konum Bilgisi (Geolocation)
Poligonlar

Servis çalışmıyor

Üstadım servis çalışmıyor bir kontrol edebilirmisin. Böyle bir veri tabanına ihtiyacım var yardımcı olursan sevinirim. il ilçe mahalle bilgilerinizin konum bilgileri lazım.

farklı bir konu

merhaba elimde final notlarım var bunların erş şemasına dönüştürülmesi gerekiyor yardımcı olur musunuz.

Polygon datasında Kayseri çevresinde problem var

Selam,

Öncelikle, eline sağlık, çok emek harcamışsın.

Ekte göreceğin gibi verdiğin poligon datasına göre google.maps üzerinde poligon çizdirdim, Kayseri nedense eksik çıkıyor. Tahminimce o boşluğun da komple Kayseriye ait olması lazım.
kayseri

Bu verileri nereden nasıl aldığını paylaşman mümkün mü ? Belki iyileştirmesine yardımcı olabilirim.

Cors problemi

hocam merhaba uygulama üzerinden servise erişilemiyor cors yüzünden hata mesajı tam olarak bu:
Çapraz köken isteği engellendi: Aynı Köken İlkesi, https://il-ilce-rest-api.herokuapp.com/v1/cities üzerindeki uzak kaynağın okunmasına izin vermiyor. (Sebep: CORS üstbilgisi 'Access-Control-Allow-Origin' eksik.)

cors hatası

axios veya fetch api ile "https://il-ilce-rest-api.herokuapp.com/v1/cities" adresinden veri almaya çalıştığımda aşağıdaki hatayı alıyorum.

Access to fetch at 'https://il-ilce-rest-api.herokuapp.com/v1/cities' from origin 'http://127.0.0.1:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.