Isı haritaları oluşturmak için küresel, ızgara benzeri bir projeksiyon


11

Bir ısı haritasını depolamak ve görüntülemek için kullanılacak bir vektör ızgarası oluşturmam gereken bir uygulamayı bir araya getiriyorum. Aşağıdaki gereksinimlere sahiptir:

  • Tüm gezegeni kapsayabilir.
  • Izgara karelerinin büyük çoğunluğunun değerleri olmaz.
  • Şebekenin kendisini saklamak istemiyorum; Anında hesaplamak istiyorum.
  • Izgara ile kullanılan verilerin ölçeği büyük ölçüde değişebilir.
  • Izgara karelerinin 1km'den 100km'ye kadar herhangi bir şey olmasını bekliyorum. (Bunun kaç tane olacağını biliyorum (1km için ~ 510 milyon, 100km için ~ 51.000)).
  • Değerler her ızgara karesi için biriktirilecek / toplanacaktır.
  • İdeal olarak, daha büyük ızgara hücre değerlerini saklamak yerine daha büyük olanlar için değerleri hesaplamak için daha küçük ızgara hücrelerini kolayca kullanabilecektim.
  • Bunu OpenStreetMap üzerine asmak için OpenLayers kullanacağım.
  • SpatiaLite veya SQLite içinde saklayacağım, bu yüzden tercihen yerel olarak desteklenir (yani SpatiaLite = desteklenen bir CRS; veya SQLite = saf sayı tabanlı bir sistem için).

Benim sorum şu: Bu ızgara için hangi projeksiyonu kullanmalıyım?

Ayrıca - bunu tasarlamanın iyi bir yolu var mı? Herkes bu soruna iyi bir potansiyel çözüm biliyor veya daha önce benzer bir çözüm var mı? Ya da beni faydalı bir yöne yönlendirebilir.

Düzenleme Kullanımı durum - temelde ben çeşitli şekil ve büyüklükte sınırlama kutuları yukarı toplayarak ediyorum. Birkaç hektardan binlerce km kareye kadar herhangi bir şey olabilirler. Farklı projeksiyonlarda da olabilirler.

Aşağıda, daha büyük ölçekte otomatik olarak gerçekleştirmeyi hedeflediğim türden bir şeyin ısmarlama bir versiyonudur. resim açıklamasını buraya girin

Çok teşekkürler.


Kesinlikle tam veya mükemmel bir cevap olmak zorunda değildir, ancak bu kuruluşların en az benzer zorlukları nasıl ele aldıkları hakkında bazı fikirler için Askeri Şebeke Referans Sistemi'ni veya en azından ABD Ulusal Şebekesi fgdc.gov/usng'ı kullanmak isteyebilirsiniz . Yine, mutlaka mükemmel değil, ama işiniz için iyi bir referans olabilir. Umarım yardımcı olur.
John

@John - Teşekkürler; Askeri şebekeye kendi aramda rastladım, ancak harflerin yanı sıra rakamları da kullandığından uygun olduğundan emin değilim. USNG işleri ilginç görünüyor ama kendimi oluşturmak istemiyorum.
GIS-Jonathan

1
Verilerin niteliği ve ısı haritasının amacı hakkında bazı bilgiler, haritalarda korumak istediğiniz coğrafi özelliklere göre değişebilen (ve olması gereken) cevapların odaklanmasına yardımcı olacaktır: yönlendirme, yön, alan, şekil vb. Bununla birlikte, uzamsal verilerin yeniden projelendirilmesi nispeten hızlı ve kolay olduğundan, bu sorunların azaltılmasına ve bunun yerine daha temel önyargı ve doğruluk konularına odaklanmasına neden olabilir: MAUP hakkında ne yapmayı planlıyoruz? Bu ızgara hücrelerine yerleştirilmiş verilerden herhangi bir çıkarım çizmeyi planlıyor musunuz? Neden bir vektör veri yapısı olmalı ?
whuber

Sıkıcı verilerin mekansal boyutsallığının ne olduğunu açıklar mısınız? yani veriler temel olarak işaret ediyor ve sadece hücreye toplu mı, yoksa gerçekte mi?
AnserGIS

@whuber - Veriler, uzamsal kullanıcıların genel temsili için kullanılacaktır, herhangi bir uzamsal analiz biçimi değil. Bu nedenle, verilerin coğrafi olarak genelleştirilmesini istediğim için coğrafi özelliklerin tutulması / kaybolması ve MAUP ile ilgili hiçbir özel tercih yoktur. Sadece OSM fayansları gibi bir şeyleri düzgün bir şekilde kaplamak için ızgara karelerine ihtiyacım var. Vektör isteğim, onu bir veritabanında sakladığım ve manipüle edilmesi çok daha kolay.
GIS-Jonathan

Yanıtlar:


3

Standart OSM karoları Küresel Mercator'dadır (SRID = 3857), bu yüzden aynı projeksiyonu kullanarak ızgarayı oluşturmak muhtemelen en kolay olacaktır.

SM kullanıyorsanız, verileri OSM'nin desteklediği en yüksek yakınlaştırma düzeyinde veya kullanıcıların yakınlaştırmasına izin verdiğiniz en yüksek yakınlaştırma düzeyinde saklayabilirsiniz. Kapsam seyrekse, satırları boyunca bir veri yapısı kullanın

XIndex, YIndex, Sayım

dizinler, istediğiniz yakınlaştırma düzeyindeki döşeme ızgarasının dizinleridir; sayım, döşemeyle kesişen özelliklerin sayısıdır ve sayının sıfır olduğu noktalar için giriş içermez. Daha sonra basitçe indekse göre sayımı seçebilir veya daha düşük yakınlaştırma seviyelerinde, sorgu döndürmezse verilen bölge için sayımın sıfır olduğunu bilerek endeks aralığına göre sayım toplamını seçebilirsiniz.

Bu elbette bir soyutlama, bununla ısı haritası oluşturucunuz arasında bir yazılım katmanı olduğunu varsayıyorum. Isı haritasını nasıl oluşturacağınıza dair daha fazla açıklama, daha iyi tavsiye vermeme yardımcı olacaktır.


3

Bir ısı haritasından alınan bir hücrede depolanan değer genellikle alanı tarafından normalleştirilir. Bu durumda, daha büyük ölçekte kolayca toplanabilmeniz için eşit alanlı bir projeksiyon önermeyi tercih ederim


Yansıtılan düzlemdeki veya küresel bir yüzeydeki yoğunluğu hesaplamayı ve sadece bu şekilde görüntülemeyi mi planlıyorsunuz? Ayrıca, dikdörtgen verilerin birden fazla ızgara hücresine dağıtılması gerekir mi?
AnserGIS

@AnserGIS - Hesaplama öngörülen bir düzlemde gerçekleşecek. Dikdörtgen veriler birden fazla ızgara hücresini kapsayabilir. Daha fazla bilgi için düzenlemeye de bakın.
GIS-Jonathan

2

Bu, bir ısı haritası nasıl tasarlayabileceğinize bir cevaptır. Benim önerim, Çeyrek Derece Izgara Hücresi sistemine bakmanızdır . QDGC, kapsanan alanın belirli niteliklerini temsil etmek için belirli bir alanı kapsayan (neredeyse) eşit alan kareleri yapma yolunu temsil eder. Kareler, dünyayı kaplayan derece karelerine dayanır. Ekvatorun etrafında 360 boyuna çizgi çizgimiz var ve kuzeyden güney kutbuna 180 enlem çizgisi var. Bu bize birlikte dünyayı kapsayan 64800 segment veya fayans verir. Kareler, daha uzun kuzeye geldiğimizde daha dikdörtgen hale gelir. Kutuplarda hiç kare veya hatta dikdörtgen değildirler, ancak uzun üçgenlerle sonuçlanırlar.

Izgara hücreleri dörde bölünebilir ve ortaya çıkan ızgara hücreleri yine dörde bölünür. Sistem kullanıcıya öngörülebilir bir adlandırma kuralı sağlar. Farklı ızgara hücreleri için alanları hesaplayarak alana bağlı sunumlar için uygun olmalıdır. Çeyrek Derece Izgara Hücreleri isimlendirmesi özyinelemelidir.

Daha ayrıntılı bilgi ve diğer bazı sistemlere referanslar, birkaç yıl önce yayınladığım bir makalede de mevcuttur . Standart, çevre bilgisi için çeşitli Afrika atlaslarında kullanılmaktadır.

Farklı kıtalar ve ülkeler için şekil dosyaları blog sitemden indirilebilir.

Standardı genişletme düşüncesi ile oynadım, böylece belirli bir enlemin üzerindeki veya altındaki ızgara hücreleri ikiye bölünebilir, böylece kullanıldığında daha görsel olarak hoş bir harita ürünü sağlar.


1
Paylaşım için teşekkürler; ilginç fikir. Kesinlikle bunun için yararlı olabilir gibi görünüyor. Tamamen sayısal olması için onu değiştirmek için çok fazla çaba olmayacağını varsayıyorum? yani "E" veya "N" yok mu? Bu muhtemelen, özellikle meridyen veya ekvatorda hücrelerin daha kolay ve daha verimli bir şekilde toplanmasına izin verecektir.
GIS-Jonathan

Karakterleri (metin) tutmanın iyi bir nedeni, onu okunabilir tutmaktır.Atlaslarda ve insan referansında kullanım için amaca iyi hizmet eder. Elbette bunu şu örnekle kullanmak mümkün olabilir: E = 0, W = 1, S = 0, N = 1, A = 1, B = 2, C = 3 ve D = 4. Python veya diğer ilgili kodlama dillerinde iyi yazılmış bazı kod parçacıkları, meridyen / ekvator zorluklarını düşük maliyetle "köprüleyebilmelidir". Tabii ki QDGC çalışma seviyenize ve veri seti boyutuna bağlı olarak.
ragnvald
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.