Bu depo, Google Cloud hizmetlerini kullanarak görsel dosyalarını analiz eden ve konum tabanlı bilgiler çıkaran iki farklı Flask uygulaması içerir. İki sürüm arasındaki temel fark, Places API'nin uygulanma şeklidir:
app.py
: Places API kullanılır.appv2.py
: Places API (New) kullanılır.
-
Görsel Analizi:
- Yüklenen görsellerden EXIF meta verilerini çıkarır.
- Görsellerdeki metinleri analiz etmek için OCR (Optik Karakter Tanıma) uygular.
- Google Cloud Vision API'yi kullanarak yer işaretlerini ve web içeriğini algılar.
-
Google Places API Entegrasyonu:
- Metin sorguları ve koordinatlarla konum detaylarını alır.
appv2.py
, gelişmiş doğruluk için yeni Places API uç noktalarını ve yöntemlerini benimser.
-
Çok Dilli Destek:
- Türkçe, İngilizce, Almanca, İspanyolca, Hintçe, Japonca, Felemenkçe, Rusça ve Çince dilleri desteklenmektedir.
- Dil seçimi Flask-Babel aracılığıyla gerçekleştirilir.
-
Dinamik Uydu Haritaları:
- Google Maps Static API'yi kullanarak algılanan konumların uydu görüntülerini gösterir.
- Google Cloud Vision API: Görsel analizi için.
- Google Places API:
app.py
standart sürüm.appv2.py
yeni sürüm.
- Google Geocoding API: Koordinatları adreslere dönüştürmek için.
- Google Maps Static API: Uydu haritaları oluşturmak için.
- Google Custom Engine ID: Anahtar kelime tabanlı web aramaları için.
- Arama motoru kimliği için lazım (yani CX değeri). "Resim arama" ve "Tüm web'de ara" açık olmalı. "Bölge" için kendi ülkeniz tavsiye edilir.
Bu projede aşağıdaki kütüphaneler gereklidir:
Flask
Flask-Babel
requests
spacy
google-cloud-vision
Pillow
python-dotenv
Werkzeug
-
Depoyu klonlayın:
git clone https://github.com/Turkalypse/konumify cd konumify
-
Gerekli kütüphaneleri yükleyin:
pip install -r requirements.txt
-
en_core_web_sm dil modelini yükleyin:
python -m spacy download en_core_web_sm
-
Google Cloud kimlik bilgilerinizi ayarlayın:
- Proje dizininde
.env
dosyasındaki aşağıdaki gerekli yerleri düzenleyin:FLASK_SECRET_KEY=GİZLİ-ANAHTAR # flask_secret_key_maker.py dosyasıyla bir tane oluşturun GOOGLE_APPLICATION_CREDENTIALS=json-dosya-adi.json GEOCODING_API_KEY=API-ANAHTARINIZ PLACES_API_KEY=${GEOCODING_API_KEY} # GEOCODING_API_KEY ile aynıdır CUSTOM_SEARCH_JSON_API=${GEOCODING_API_KEY} # GEOCODING_API_KEY ile aynıdır CUSTOM_SEARCH_ENGINE_ID=arama_motoru_kimliğiniz
- Proje dizininde
-
Uygulamayı başlatın:
python app.py # Places API için python appv2.py # Places API (New) için
-
Bir tarayıcı açın ve
http://127.0.0.1:5000
adresine gidin. -
Bir görsel yükleyin ve uygulamanın analiz etmesini bekleyin.
places-api-project/
├── app.py # Standart Places API uygulaması
├── appv2.py # Yeni Places API uygulaması
├── templates/ # HTML şablonları klasörü
├── translations/ # Dil dosyaları klasörü
├── static/ # Statik dosyalar klasörü (CSS, görseller)
├── uploads/ # Yüklenen geçici dosyalar klasörü (otomatik olarak oluşturulur, sizin oluşturmanıza gerek yoktur)
├── .env # Ortam değişkenleri
├── requirements.txt # Python kütüphaneleri
Bu proje MIT Lisansı ile lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına bakın.