Genel açık kaynaklı paket yol haritası hakkında tavsiye mi arıyorsunuz? [kapalı]


17

Sadece, paketlerin çoğunda mümkün olanın sınırlarını tam olarak anlamadığım için, öngörülen projemde kullanmak için önerilen bir yığın üzerinde açık kaynaklı GIS gurularından tavsiye istemek istedim. ESRI'nin çeşitli paketlerini kullanarak istediğimi yapabileceğimi biliyorum, ama dünyanın görmesi için daha ucuz ve açık olmak istiyorum. Herhangi bir zorluğu üstlenebileceğimden ve bir projeyi gerçekleştirmek için yeterince iyi öğrenebileceğimden eminim, sadece ilk etapta yanlış yola girmekten kaçınmak istiyorum.

Site vizyonum: UI açısından, GIS olmayan bir site! Bir temel haritanın üzerinde asılı kutularda her şeyin (veya hemen hemen her şeyin) yapıldığı whereis.com hatları boyunca daha fazla bir şey . Özellikler artık önemli değil, sadece ayrı bir bölmede onay kutuları olan hiçbir GIS katmanı vurguluyor. Kullanıcı etkileşimi açısından, kayıtlı kullanıcılar tabanın üstünde özellikler oluşturabilir (çeşme yerleri, yürüyüş yolları vb.) seçin ve kendi özelliklerini düzenleyin. Mümkünse, SADECE oluşturdukları kendi özelliklerini düzenleyin. Gerçekten işbirlikçi bir harita.

Hala çoğunlukla araştırma modundayım, çeşitli paketlerle oynuyorum ama sadece genel tanıma ve gerçek testler için değil (ilk önce bunları ayrıntılı olarak öğrenmeyi gerektirir!). PostGIS kesinlikle Geoserver / Mapserver'ın en büyük ara katman yazılımı olarak temel DB (ler) olarak gitmenin doğru yolu gibi görünüyor. Openlayers neredeyse kesinlikle kaygan bir harita olacak, çünkü onunla zaten rahatım ve gücünü biliyorum.

Bu da beni tavsiye gerektiren iki ana konuya getiriyor:

1) Böyle bir site için en iyi üst katman kullanıcı arayüzü nedir?

Django'nun (veya Django-CMS'nin) özelleştirilmiş bir örneği mi, yoksa sadece GeoExt veya başka bir kütüphanenin birleştirilmiş bir örneği mi (farklı bir CMS / çerçevesi (giriş / kayıt / tam kullanıcı arayüzü yapıp yapamayacağınızdan emin değil misiniz)? hayır, drupal veya sınırlayıcı herhangi bir şey değil!) veya tamamen farklı bir şey mi?

2) Kayıtlı site kullanıcılarının sadece kendi özelliklerini düzenlemeleri mümkün müdür?

OSM ve diğer işbirlikçi projeler deneyimi gibi kitlesel “grafiti” yerlerden kaçınmak istiyorum. Daha önce okuma ve tavsiyemden Geoserver'ın özellik düzeyinde kullanıcı kimlik doğrulamasına sahip olamayacağı anlaşılıyor.

Mapserver olabilir mi?

Bir sitenin kullanıcı popülasyonunun (bir CMS veya çerçeveden) doğrudan geoserver / mapserver'e bağlanıp bağlanamayacağını bile bilmiyorum.

Açık kaynaklı çözümlerle böyle bir kavram mümkün değilse, bu hedefe ulaşmanın başka bir yolu var mı?

Kimliği doğrulanmış kullanıcılar ana özellik katmanının yayınlanmamış bir sürümünü (orijinali bozmamak için) düzenlemiş ve orijinalin günlük yedeklemesini korurken 24 saatte bir otomatik olarak yayınlanan sürümle birleştirmiş mi?

Bu amaca nasıl ulaşılacağı konusunda bir çeşit kayıp.

Ve evet, ben de GeoNode baktım, ama sadece bir genel harita istiyorum (basit tutmak) ve UI (GeoExplorer girmeden önce) ya da yeterince interaktif değil ya da GeoExplorer de GIS gibi. Bu proje için çok hazır bir çözüm gibi görünüyor.

Çok açık olduğum için üzgünüm, burada ve belirsiz olarak sona erdi, ancak yukarıdakilerin mümkün olduğu bir yoldan başlayabileceğimizi ve birkaç ay sonra duvara giremeyeceğimizi umuyorum, çünkü yol tekrar baştan başlamak zorunda # 1 en başından beri bu işlevselliği hiç bulamadı!

Bulabildiğim en iyi örneklerden biri http://www.gpsies.com Bunun broşürü kullandığını biliyorum, ancak altta yatan çerçeve ve veritabanından emin değilim. Kullanıcılar kendi özelliklerini oluşturabilir / yükleyebilir, ancak başkalarını düzenleyemez.


5
OpenStreetMap grafiti hakkındaki biraz büyük olasılıkla biraz yanlış yönlendirilmiş; OSM zaman zaman vandalizme sahiptir, ancak bu bir istisnadır, norm değildir. Kullanıcı başına izinler, çoğu kullanıcının geçici olduğu açık kusurlarına sahiptir ve bu nedenle tamamlanmamış veya önemsiz verilere sahip olursunuz, başkalarının tamamlaması veya kaldırması mümkün değildir.
tmcw

Bu çok geçerli bir nokta ve aklımda tutacağım bir nokta. Uygun yedekleme süreçleri uygulandığında, geniş bir açık model en faydalı olabilir. Bu noktada bile gelişmekten çok uzaktayım, fikirleri öğrenmek ve büyütmek için çok fazla alanım var. Teşekkürler!
Jeremy

Yanıtlar:


8

Şu anda biraz benzer bir şey inşa ettiğim için, bunu nasıl yaptığımı anlatacağım ve başka bir parça için ne istersen değiştirmeyi seçebilirsin.

Django ( GeoDjango ile ) bunun için python için temel bir çerçeve olarak oldukça iyidir (yine, bu sizin işinizse , bunu başka bir dilde yapabilirsiniz).

Kullanıcı düzeyindeki düzenlemeler için yaklaşımım, CaptDragon'un tarif ettiklerine benziyor. Ben kullanıyorum Django kimlik doğrulama çerçeve. Bu proje için API'larım, Django'nun Lezzetli Pastası kullanılarak oluşturuluyor ve zaten doğrulaması gereken doğru RESTful API'leri kolayca göz önünde bulundurarak oluşturmanıza izin veriyor .

(Eğer kullanıma tercih ne olursa olsun ya da Geoserver ya) Benim Mapserver (sadece yerel sunucu olanlar erişimi olan) dış dünyaya doğrudan maruz asla ... tüm karoları (bir kiremit sunucusu kullanılarak hizmet için geowebcache , tilecache , tilestache ne olursa olsun ).

Bunu zaten seçmiş olduğunuz için Openlayers'dan bahsetmeme gerek yok. İyi seçim.

PostgreSQL / PostGIS başka bir beyinsizdi. :)

Bir javascript kütüphanesi olarak, jQuery ile asla yanlış gidemezsiniz. Birkaç düzenlemeye izin verirseniz, javascript nesnelerinizin bazı yapılarının backbone.js gibi bir şey kullanarak sahip olmanızdan faydalanabilirsiniz . Bunu bir tane tuzla al. Bazı insanlar onu sever - diğerleri bundan nefret eder.

Sitenizin bu kadar çirkin görünmesini istemiyorsanız, kendinize bir iyilik yapın ve Bootstrap veya Compass veya alternatif gibi bir css çerçevesi kullanın , 20 $ karşılığında , themeforest veya wrapstrap'tan bir tane satın alın (eğer açık kaynak olacaksanız, Eğer satın alacaksanız lisansa bakmak istiyorsanız). Bunlardan birini takmak bir gün sürer ve sitenizin nasıl göründüğü konusunda büyük bir fark yaratır!

Şahsen, birkaç kez Django-cms (ve Pinax ) 'a baktım ve kendimi asla belaya değmeyeceğine ikna edemem. Bu karardan henüz hiç pişman olmadım.

Şemanızın çeşitli sürümlerini gerektiren bir proje seçtiğiniz için (ne kadar çok geliştirirseniz, o kadar fazla değişecektir), sadece güneyi kullanın . Bu konuda tereddüt etmeyin! Ciddi anlamda.

Kullanacağım şey budur, ancak Açık Kaynak ile ilgili güzel şey, parçaları kendi ihtiyaçlarınıza göre değiştirebilmenizdir.


Diğer herkesle birlikte harika bilgiler için teşekkürler. Bu, ilerledikçe odaklanmamı daraltmaya yardımcı oluyor.
Jeremy

Bootstrap mükemmel görünüyor. Bizi kullanan örnek harita sitelerine yönlendirebilir misiniz?
Stephen Lead

6

Ragi's benzer bir yığın kullanıyorum Uygulamamın alfa sürümüne yakınım ve bu noktada doğru yerde seçimler gibi görünüyor. İşte benim çözümüm:

Sunucuda:

  • Ubuntu sunucusu + apache web sunucusu + apache tomcat.
  • Veritabanı olarak Postgresql + postgis.
  • Geoserver, (benim durumumda sadece rasterler için kullanıyorum).
  • Django Framework + Tastypie. Tastypie, API üzerinden tüm vektörlere hizmet verir ve kullanıcıların 'nesne başına' izni vardır.
  • geoserver'ı python'dan kontrol etmek için python-gsconfig.
  • pdfs oluşturmak için jasper raporları.
  • jasper raporlarını python'dan kontrol etmek için pyjasper.
  • İnterpolasyon için yüksek performanslı jeoistatistik kütüphanesi.

Müşteri:

  • ExtJs 4 -> Bu fantastik, extjs tastypie ile çok iyi çalışıyor ve pencereler ve tablolar gibi kutudan çıkan birçok şey var. Saf kodda kullanmaya başladım ama nou Sencha Architect 2'yi çok yardımcı oluyor.
  • OpenLayers -> Bir extjs deposuna ve bir openlayers katmanına bir tane eklendiğinde iki yöntem veri değişiminde birbirlerini güncellemenizi sağlar.

Kesinlikle tastypie seçeneğini araştıracağım, umut verici görünüyor. Çok yararlı!
Jeremy

4

Kayıtlı site kullanıcılarının sadece kendi özelliklerini düzenlemelerini sağlamak mümkün müdür?

Bunun Cartaro kullanarak mümkün olduğu anlaşılıyor. Drupal'a dayanıyor (biliyorum, Drupal gibi sınırlayıcı bir şey söylemedin, ama beni dinle!) Ve kullanıcıların diğer seçeneklerin yanı sıra sadece kendi özelliklerini düzenlemelerine izin veriyor. Yönetici olarak oturum açtığınızda Kişiler sayfasından alınan ve kullanıcılar için ayarlanabilecek izin türlerini gösteren bir ekran görüntüsü:

Cartaro izinleri

Ayrıca, Cartaro PostGIS, GeoServer ve OpenLayers üzerinde çalışır, böylece aradığınız her şeye sahip olabilir.

Böyle bir site için en iyi üst katman kullanıcı arayüzü nedir?

"En iyi" üst tabakanın ne olduğunu bilmiyorum, ancak Drupal'ın birçok UI seçeneği olduğundan Cartaro aradığınızı sağlayabilir. Görünüşe göre Cartaro gelişimin erken döneminde (onu kullanan kimseyi şahsen tanımıyorum), ancak potansiyeli var.


1
Bilgiyi takdir ediyorum, Cartaro'nun bu yeteneğe sahip olduğunu bilmiyordum. Şimdilik, diğerlerinin bahsettiği temel modele bağlı kalacağım (en azından bir araştırma / öğrenme perspektifinden), ancak bu CMS'nin biraz daha derinine bakabilirim. Birkaç ay önce yaklaşık bir saat değerinde zaman verdim ve başlangıçta daha az etkilendim, ama adil olmak için o zaman çok fazla şans vermedim.
Jeremy

3

Ben adres sorusuna 2. gidiyorum Bu benim nasıl kullanıcıların kendi kayıtlarını düzenlemek için izin konusunu etrafında olsun.

Web sitenizin UpdateUserRecord(string WKTLocation, string otherArg)kimlik doğrulama mekanizmasına bağlanan RESTFUL veya SOAP (seçiminiz) gibi kendi web hizmetlerimi oluşturuyorum .

OpenLayers ve PostGIS, GML ve diğer standart formatların yanı sıra İyi Bilinen Metin (WKT) de okuyor ve yazıyor, ancak kişisel olarak WKT'yi uygulamamdan web hizmeti aracılığıyla ve PostGIS DB'ye geometri bilgilerini geri ve formdan geçirmek için kullanıyorum.

Ayrıca benim gibi web yöntemleri UpdateUserRecordsadece kimliği doğrulanmış bir oturum kullanıcı tarafından çağrılabilir. 401 UnauthorizedBaşka biri bu web hizmetini aramaya çalışırsa A döndürülür. Benim durumumda, OpenAuth2 (Google, Facebook, Twitter, vb.) Kullanarak kimlik doğrulama seçeneği ile .NET ve FormsAuthentication kullanıyorum. Bu ayrıca PHP, Java, vb. De yapılabilir.

Böylece, PostGIS veritabanını doğrudan çağıran web yöntemlerini oluşturabilir ve istediğiniz şekilde güncelleyebilir veya ekleyebilirsiniz. Ben de öyle yaptım.

Daha sonra WFS, WMS sorgu yetenekleri ve sorgu çağrılırsa bir UserID sağlayacağı haritada bilgileri görüntüleme kolaylığı için GeoServer kullandım.

Bu yardımcı olur umarım.


Bu, aynı temel ilkeleri birden fazla ele almanın yanı sıra çok yardımcı oldu. Bunu doğru öğrenme odağıyla yapabileceğime biraz daha güveniyorum. Ayrıca teşekkürler!
Jeremy
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.