PostGIS bir ürün grubu uygulaması için MySQL'e göre bir avantaj sağlar mı?


23

West Michigan'daki çiftliklerin yerlerini depolayan bir web uygulamasına sahibim. Bir ürün arayabilirsiniz (ör. "Brokoli") ve bu ürünü yetiştiren tüm çiftlikleri size gösterecektir.

Şu anda MySQL kullanıyorum ve kullanıcının konumu ile her bir çiftliğin yeri arasındaki farkı hesaplamak için trigonometri kullanıyorum. Gitmek için kötü bir yol değil ama biraz zaman aldı.

Yakında yapmak istediğim bir diğer şey, farklı bölgeler için farklı ürünler için büyüyen mevsimlerin haritasını çıkarmak. (Örneğin, Kaliforniya'da avokadoların yılın belirli bir zamanında, ancak hiçbir zaman Ohio'da büyüdüğünü göstermek istiyorum.)

Bunun açık uçlu ve muhtemelen naif bir soru olduğunun farkındayım, ancak mekansal yeteneklerinden yararlanmak için PostgreSQL / PostGIS'e geçiş yapmak benim için faydalı olabilir mi?


1
Dinamik "sezon" haritaları mı yoksa statik olanlar mı planlıyorsunuz?
underdark

Ne sorduğunu anlarsam, dinamik. Örnek: Grand Rapids yakınlarındaki Elma için büyüme mevsimi, MI Ağustos - Ekim arasıdır.
Jason Swett

Yanıtlar:


21

Ben mükemmel bir PostGIS hayranıyım ve MySQL konusunda hiçbir tecrübem yok bu yüzden önyargılı olacağım.

Ama yazdıklarından, değişmesi için iki neden olduğunu düşünüyorum.

ilk olarak, belirttiğiniz sezon haritası gibi yeni özelliklerin uygulanması kesinlikle çok daha kolay olacaktır.

İkincisi, bugün trigonometri hesaplamalarınızı yaptığınızda, bunu db dışında yaptığınızı tahmin ediyorum. bunların hepsini db'de yaparsanız, yer paylaşımı uygulamalarının geliştirilmesinde çok daha özgürsünüz.

Eğer postgis kullanıyorsanız, muhtemelen db dışında herhangi bir hesaplama yapmanız gerekmeyecektir.

Bahsettiğiniz sezon olayı MySQL'de mümkün olabilir, çünkü çok basit geliyor, ancak PostGIS'te tüm mekansal işlevlere erişimle daha fazla esneklik elde edeceksiniz.

/ Nicklas


18

Sadece üçüncü şahıs uygulamalarda bilginizin haritalarını (mapserver, geoserver, vb.) Yükleme verilerini (ogr2ogr, fme, vb.) Oluşturmak için daha fazla seçeneğiniz olacaksa, PostGIS daha iyi bir seçim yapacaktır. MySQL sadece ihtiyaçlarınız sınırlı kalmaya devam ederse uygun olacaktır.


FME, MySQL'in yanı sıra PostGIS'i de destekler.
Raven,

8

MySQL'in mekansal bir uzantısı var ama bildiğim kadarıyla (hiç kullanmadım), PostGIS kadar zengin ve kararlı bir özellik değil .

Mekansal bir veritabanı kullanmayı düşünüyorsanız, PostGIS iyi bir seçimdir ve anahtarlama çabasına değecektir.

MySQL zaten coğrafi verileri depolamak ve kullanmak için bazı işlevler sunarken, işlevler arzulanan çok şey bırakıyor ve tam OpenGIS uyumluluğu sağlamaktan uzak.

En önemlisi, uzamsal verileri sorgulayan tüm işlevlerin, işlemleri basitleştirmek için yalnızca MBR'lerde (minimum sınırlayıcı dikdörtgenler) çalışmasıdır.

http://forge.mysql.com/wiki/GIS_Functions


6

MySQL ile Postgis savaşı bir kez daha yükseldi:

http://ambergis.wordpress.com/2008/02/19/mysql-vs-postgis/

Not yorumunu-ERS en buradan vardır (CBS yığın değişimi).

bağlantılar

http://www.spatiallyadjusted.com/2008/02/05/bringing-open-source-gis-into-an-esri-shop/#comment-32680

Postgis ile mysql'den daha başarılı konuşlandırmalar yaptım. (müşteri kurulumuna ve ne elde etmeye çalıştıklarına bağlı olarak değişir)

Paul Ramsey'ye (ve PostGIS ekibine) olan tek önerim PgAdmin (v4 ..?) Üzerinden görüntüleyiciyle (güvenli yazılımın FME'si gibi) görselleştirici (güvenli yazılımın FME'si gibi) üzerinden postgis için güzel bir GUI . Şu anda postgis verilerini görselleştirmek için QGIS kullanın.

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.