Coğrafi soruları makinede okunabilir biçimde ifade etme yolları


22

CBS'nin ana konsepti veri kümeleriyle ilgili soruları yanıtlıyor. Veri tabanı açısından; Mekansal uzantıları olan SQL, bu tür sorular sormanın bir yoludur. Sorular, makine tarafından okunabilir bir metin tabanlı biçimde ifade edilebilir mi? Farklı yaklaşımların faydaları nelerdir?




@whuber, daha spesifik olmalıydım. ArcGIS sorgularındaki Clementini operatörlerine alternatifler veya ArcGIS'in bağlanabileceği veritabanlarına yönelik sorgular ile ilgileniyorum. İlk bakışta Clementini hem insan hem de makine tarafından okunabilir görünse de, bir insan olarak sık sık zorluk çekiyorum .
Kirk Kuykendall

1
@Kirk Tamam, ama görünen o ki ArcGIS zorluklarla karşılaşıyor, sen değil! :-) Clemintini ve arkadaşlarının orijinal kâğıtlarını "Dilek listemizdeki bir diğer nokta, hesap temelli yöntemin son kullanıcılar için gerçekten uygun olup olmadığını test etmektir" lafı ile ilginçtir .
whuber

1
@Matthew İlgilendiğiniz “soruların” kapsamı hakkında biraz daha net olabilir misiniz? Örneğin, esas olarak özellikler arasındaki mekansal ilişkileri keşfederek ve işleyerek cevaplanan sorularla ilgileniyor musunuz (muhtemelen CBS'nin yerine getirebilmesi için gerekli olacaktır) ya da sadece adlandırılmış varlıkların veya konumların bireysel niteliklerini aramak yeterli olur mu? hangi uzamsal işleme gerek yok)?
whuber

Yanıtlar:


7

Herhangi bir öznitelik veya karma tabanlı sorguları yok sayarak yalnızca 3 uzamsal sorgu türü düşünebilirim.

  1. Mekansal sorgulamalar geometriye dayanır ve vektör özellikleri arasındaki ilişkileri bulmak için kullanılır. SQL'ın mekansal sorgular gibi sadece bir API düşük seviye alogorithms gerçekten Bentley-Ottmann - openlayers kullanılan iki çizgilerin kesiştiği olmadığını kontrol etmek.

    Kirk'ün dediği gibi, özellikler arasındaki ilişki türleri boyutsal olarak genişletilmiş dokuz kesişim modelinde standardize edilmiştir :

    • Eşittir
    • parçalamak
    • kesiştirir
    • Dokunuşlar (karşılar)
    • Haçlar
    • İçinde (içinde)
    • İçeren
    • Çakışmaları
    • Kapaklar
    • örtülmüştür

    Dizinlere dayalı Mekansal sorguların basitleştirilmiş bir geometri sorguları biçimi olduğu söylenebilir . Çoğu geometri sorgusu, daha fazla zaman alan bireysel geometrileri karşılaştırmadan önce alakasız özellikleri filtrelemek için bir ilk geçiş sorgusu olarak mekansal bir dizin kullanır. Bunlar ayrıca MongoDB gibi NoSQL veritabanlarında da uygulanmaktadır .

  2. Grafik teorisine dayalı mekansal sorgular . Bu sorgu türleri, CBS'de Ağ Analisti gibi araçlar aracılığıyla uygulanır ve yine düşük bir düzeyde algoritmalardır .
  3. Raster ızgaraları ve küme teorisine dayanan mekansal sorgular (ve bulanık küme teorisi ).

Gerçekten bir ön işleme aşamasını gizlemesine rağmen, raster ve vektör sorgularını birleştiren StarSpan gibi yukarıyı birleştiren birkaç uygulama vardır .

Hem makine hem de metin tarafından okunabilen bu tür sorguları uygulayan çok sayıda API vardır. Buradaki farklı uygulamalar ve problemleri hakkında güzel bir tartışma var .


Kağıt bir 3d Mekansal Query Language Doğru (belki daha mantıklı) yerine veri türü daha sorguya dayalı 4 türleri, içine mekansal operatörleri keser:

  1. yönlü operatörler (yukarıda, aşağıda, kuzeyde, güneyde)
  2. topolojik operatörler (dokunma, içerme, eşit, iç gibi)
  3. metrik operatörler (mesafe gibi)
  4. Boolean operatörleri (sendika, kesişme gibi)

Ayrıca DE-I9M'de bulunmayan 3d özellikleri (vücut ve yüzey) ele almak için terminolojiyi de beraberinde getiriyor.


Yani boyutsal olarak genişletilmiş dokuz kesişim modelinin ötesinde, soruları yalnızca diğer alanlardan ödünç alınan formlarda ifade edebiliriz.
Matthew Snape

1
Sorunuzu dilediğiniz herhangi bir GIS alanına özgü dilde tanımlayın, fakat sonunda makine yukarıdaki yöntemlerden birini kullanarak sorgulayacaktır.
coğrafya

7

1 - Bu yazılımla ilgili bazı çalışmalar var: http://nlp.uned.es/MLQA06/papers/ferres.pdf
İnternet aramalarıyla daha ilgili olmasına rağmen, insan dilinin bilgisayar diline nasıl çevrileceği konusunda yol gösterici olabilir.
Googling 'GeoTALP-Q' da konuyla ilgili daha fazla makale sağlar.

2- GeoDjango mekansal sorgular için bir API sağlar, karmaşık mekansal sorgular için PL / python fonksiyonlarını yazmak gibi sıkıcı işleri hızlandıran SQL'den Nesne Yönelimli bir dile çevrilir . Kullandığınız veritabanı ile sınırlıdır .


Bu ilginç bir keşif. Bu sitenin tek başına durmasını ve hemen yararlı cevaplar vermesini sevdiğimiz için, böyle bir referansa kendi sonuçlarınızın özeti ile eşlik etmek en iyisidir. Bunu burada yapabilir misin? Makaleyi çok çabuk algılamam, mekansal ilişkiler hakkındaki sorguları işlemek yerine daha çok web tabanlı verilerden coğrafi nitelikler çıkarmaya odaklanabileceğini ileri sürüyor .
whuber

@whuber. Tamam, bahşiş için teşekkürler. Bunu gelecekteki cevaplar için dikkate alacağım.
Pablo

2
+1 SQL ile ilgili talihsiz bir şey, mekansal ses çıkartan ayrılmış kelimelerinin birçoğunun yerle ilgisi yok ya da hiçbir şeyinin olmaması: NEREDE, FROM, IN vb.
Kirk Kuykendall

@Kirk Funny, hiç böyle düşünmedim. Yer ve mekan arasındaki fark, bir erkeğe baş ağrısı vermek için yeterlidir. :)
Nathanus

@nathanus Evet, ve en yakın eşleşen caddeyi bulmak için dbms tarafından kullanılabilecek iki soundex arasında sözcüksel mesafe kavramı bile var .
Kirk Kuykendall
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.