Web Haritalamaya Nasıl Başlanır?


83

İstatistiklerimizden bazılarını şehre göre haritalamak için işte bir web haritası üzerinde çalışmaya başlamak istiyorum.

Bir fikrim var, ama nereden başlayacağımdan tam olarak emin değilim.

Bunun nasıl yapılacağı konusunda adım adım rehberlik sağlayan kesin kaynaklar var mı?

Yanıtlar:


94

Bu soru Topluluk Wiki'sine dönüştürüldü ve wiki kilitlendi, çünkü cevapların bir listesini arayan ve kapatılmasını engellemek için yeterince popüler görünen bir soru örneği. Özel bir durum olarak ele alınmalı ve bu konuda ya da herhangi bir Stack Exchange sitesinde teşvik edilen bir soru türü olarak görülmemelidir, ancak daha fazla içeriğe katkıda bulunmak istiyorsanız, bu cevabı düzenleyerek bunu yapmaktan çekinmeyin .


Harita sunucusu bileşenli veya içermeyen çözümler arasında seçim yapabilirsiniz. Sunucu çözümleri elbette daha fazla veri ve daha karmaşık uygulamaları destekliyor.

QGIS'in verilerin bir defalık görselleştirmelerini oluşturmak istediğini biliyorsanız , her ikisini de QGIS için bir web haritasına dışa aktarabilmenizi sağlayan QGIS eklentisi olan OpenLayers 3'e Dışa Aktar veya QGIS2Leaf Dışa Aktar'ı öneririm . Güncelleme (Tom Chadwin en Yorum dayalı): qgis2leaf ve QGIS-OL3 şimdi haline getirildi qgis2web .

Bir orta yol seçenektir QGIS Bulut , barındırılan QGIS Sunucu seçeneği: Sadece lokal olarak projeyi hazırlayıp o zaman hazır bir izleyicide bulacaksınız web'de yayınlayabilirsiniz. Belli bir veri boyutuna kadar ücretsiz hesapları var. Yani bu sizin için bir sorunsa, kendi sunucunuza ihtiyacınız yok.

Kendi açık kaynaklı sunucunuzu çalıştırmak istiyorsanız , bu yıl Geoserver'a giriş ile geçen yılın FOSS4G'sinden başlayabilirsiniz: http://workshops.opengeo.org/geoserver-intro/ . İlgili araçlar genellikle Geoserver, PostGIS ve OpenLayers'dır. Başlangıç ​​maliyetleri iş zamanınız artı barındırmadır.

Kullanım durumlarını bilmeden konuşmanın zamanını tahmin etmek zor.


7
qgis2leaf ve OpenLayers 3'e Aktar, şimdi qgis2web ile birleştirildi.
Tom Chadwin

Qgis2web hakkında iyi bir nokta. CBS'yi sıfırdan öğreten ve qgis2web ile web haritalarının nasıl oluşturulduğunu öğreten bir video kursu yazarıyım: udemy.com/gis-for-everyone/?couponCode=stackgis1
multigoodverse 4:15

Neden bir GIS üzerinden geçilsin? Doğrudan veritabanından Leaflet'e gidebilirdi.
Fjellrev

@ Fjellrev Nasıl? GeoJSON olarak ayıklamak için Sorgu? Bunun bir GIS kullanmaktan daha zor olduğunu iddia ediyorum.
Tom Chadwin

GeoGATE Bağlantıyı keşfedebilirsiniz , GeoGATE, PostGIS & Geoserver ile mükemmeldir ve verilerinizle kullanıcı dostu bir kontrol paneli aracılığıyla yapılandırabileceğiniz yüzlerce hazır araç içerir
Hani Draidi

41

Penn State Açık Web Haritalama sınıfına sahip. Size web haritalamanın nasıl çalıştığını ve ayrıca ilgili teknolojileri öğretmeniz yeterli olacaktır. Sınıfta kullanılan araçların tümü olmasa da çoğu ücretsizdir, bu nedenle maliyetiniz sorun olmamalıdır. İşte TOK:

Ders 0: Oryantasyon

Ders 1: Açık Web Haritalamaya Giriş

Ders 2: Web Haritası Sunucuları (WMS)

Ders 3: Web Özelliği Sunucuları (WFS)

Ders 4: Genişletilebilir İşaretleme Dili (XML)

Ders 5: Gelişmiş Web Haritası Sunucuları

Ders 6: Coğrafi İşaretleme Dili (GML)

Ders 7: WFS'nin Yeniden Ziyareti

Ders 8: Bir Web Haritalama Uygulaması Oluşturma

Ders 9: İnce Bir Özel Web Haritalama İstemcisi Oluşturma

İyi eğlenceler :)


40

Google Fusion Tables , haritalama ve mekansal sorgularla umut verici görünüyor

Artıları: kurulumu kolay

eksileri: tüm verileriniz google sunucularında (iyi veya kötü?)

http://sites.google.com/site/fusiontablestalks/stories

görüntü tanımını buraya girin

Not: Birçok Medya / Haber Şirketi kullanıyor - Örnek Guardian UK Gazetesi http://www.guardian.co.uk/environment/datablog/interactive/2011/mar/07/carbon-emissions-public-buildings-map

Artık sizi daha hızlı kurmanız için düzgün bir Fusion Wizard var: http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/fusiontableslayer_builder.html

Örnekler: http://www.latimes.com/news/local/la-me-us-congress-census-map,0,4500533.htmlstory

En iyilerinden biri: http://tinyurl.com/England-Deprivation-Mapped


1
Google Mymaps , Google Füzyon Tablolarının bir uygulaması mıdır ? MyMaps tarayıcı tabanlı, Fusion Tables ise sunucu tabanlı olmakla aynı görünüyor .
sabre23t

40

Orada çok fazla seçenek var ve çok sayıda harika cevaplar var. Burada listelenmemiş favori tercihlerimden ikisi CartoDB ve MapBox . Bunların her ikisi de web tabanlı barındırma ve verilerin görselleştirilmesini ve BEDAVA başlayan fiyatlarla fiyatlandırılmış bazı araçlar sunar.

Veri kurulumunuzu almak için masaüstü yazılımına sahip olmanızdan faydalanacaksınız. ArcMap ve Quantum GIS, masaüstü kısmı için mükemmel seçeneklerdir.

MapBox’ın gücünün harika web haritalarını gerçekten harika, kullanımı kolay şablonlarla ve kullanıma hazır kullanıcı arayüzü öğeleriyle oluşturduğunu söyleyebilirim . MapBox, TileMill (ayrıca ücretsiz) adındaki bir masaüstü programını gerektirir; bu da CSS'ye çok benzeyen bir stil arabirimi kullanır.

CartoDB'nin gücü, PostGIS köklerini bir SQL API aracılığıyla göstermesidir .

Bunların her ikisi de kendi başlarına veya diğer javascript haritalama kütüphaneleriyle birlikte kullanılabilir (örn. Leaflet , Google Maps , OpenLayers ).

Web haritalarına girmek için hangi platformları kullanmaya karar verdiğiniz önemli değil, kesinlikle bir javascript öğrenmekten faydalanacaksınız. Codecademy (ayrıca BEDAVA !!) başlamak için harika bir yer.



2
MapBox ve CartoDB'yi anlamanın anahtarı fiyatlandırma (harita görünümleri, veri miktarı) ve ne kadar veri görüntülemeniz gerektiğidir. CartoDB, daha küçük projeler için MapBox'u önerirken daha büyük veri setlerini yönetmeyi kolaylaştırıyor. Broşür, JavaScript haritalama kütüphanelerini öğrenmek için en hafif ve en kolay olanıdır.
Zach

37

Ayrıca OpenLayers, GeoServer, GeoExt ve PostGIS destesi olan OpenGeo Suite'i sundukları bir konferansa katıldım. Hem "İşletme Sürümü" (desteğe sahip sürüm için ücretli) hem de " Topluluk Sürümü " (ücretsiz) sürümlerini sunarlar . (Güncelleme) OpenGeo Suite artık Sınırsız Suite.

Konferansta sergilenen bir diğer paket ise MapServer ve OpenLayers yığını olan GeoMoose oldu .

Test ederken makinenize bir sürü şey yüklemek istemiyorsanız sanal makine ortamında çalıştırabileceğiniz OSGEO Live DVD'yi indirmeyi düşünebilirsiniz . Web haritalama araçları da dahil olmak üzere bir sürü farklı açık kaynaklı GIS yazılım paketi ile önceden paketlenmiş olarak geliyor.


29

Düzenle

Bu sorunun ve yanıtın popülaritesi nedeniyle, son birkaç ay içinde sağlayıcılar ve API'lerde yapılan değişiklikler nedeniyle bu yayına bir miktar içerik ekliyorum.


API seçimi, projenizin kapsamı ve amacı ile ilgilidir, aslında belirli bir işlevsellik kullanmak istiyorsanız, bütçenizi belirtmekten çekinmeyin. Diğer önemli uyarı, web geliştirme deneyiminizdir ve hangi dili tercih ettiğiniz veya ilgi duyduğunuz bir dildir.

Bence sorunuzu yanıtlamanın en iyi yolu, size sunulan API'lerin güzel bir listesini sağlamaktır. İşte akla gelen üç. Bunlar kesinlikle hepsi değil!

ArcGIS

API'ler:

Artıları:

  • Web AppBuilder web geliştirme konusunda çok bilgili olanlar için çok basit bir web harita uygulamaları oluşturmak yapmıştır
  • Kullanımı kolay uygulama üreticileri ( Flex , Silverlight ve JavaScript , kullanımdan kaldırma planlarına dikkat edin)
  • Geniş çevrimiçi forumlar ( Bol Yığın Değişim Mesajları )
  • İle birçok çözüm hiçbir geliştirme çalışmaları için çok az gerektiren ArcGIS yığını içinde mevcuttur, ArcGIS da zamanında çözümler dağıtmak için iyi bir seçim olabilir.
  • GitHub birçok çözüm için depolar

Eksileri:

  • Fiyat (API'lerin kullanımı için değil, fakat kendi verilerinizi yayınlamak istiyorsanız ArcGIS Online’a bakın )
  • Uygulama kodunu özelleştirme hantal olabilir

Özet:

ArcGIS'in web GIS ürünleri için sunacağı çok şey var ve size yardımcı olacak birçok kaynağa sahip. Kendi verilerinizi yayınlamak istediğinizde ortaya çıkacak olası maliyetlerin farkında olun.

Google

API'ler:

  • JavaScript
  • Mobil (Android, iOS)

Artıları:

Eksileri:

Özet:

Google'ın pazarda güçlü bir adı ve oldukça güvenilir çevrimiçi hizmetleri vardır. Sadece kullanımlarının içini ve dışını anladığınızdan emin olun, böylece herhangi bir yasal ayak parmağına basmazsınız. Yeni Fiyatlandırma ve Planlar sayfası bu konuda oldukça yardımcıdır.

Açık kaynak

API'ler (tüm JavaScript tabanlı):

Artıları:

Eksileri:

  • Resmi destek iyi bilinmemekle birlikte, dahil olan topluluk yardımcı olmaktan daha iyidir (belki de ticari GIS desteğinden bile daha iyidir)

Özet:

Açık Kaynak, Web GIS'in sularını test etmek isteyen herkes için gerçekten harika bir seçenek. Toplulukta her gün yapılan değişiklikler ve geliştirmelerle açık kaynak, coğrafi ihtiyaçlarınızı karşılamanın ucuz bir yolu olabilir.


Dediğim gibi, sahip olduğunuz seçeneklerin hepsi bu değil, ama en azından şu anda Web GIS dünyasındaki bazı önemli oyunculara aşina olmak için kendinize ve başkalarına bağlantılar içeren bir gönderi var.


İyi yorum! Güncellemek ister misiniz?
Fjellrev

@Fjellrev - Bir öneriniz varsa veya gönderinin eksik olduğuna dair bazı önerilerde bulunabilirseniz, gönderiyi kesinlikle güncelleyebilirim. Dürüst olmak gerekirse, son birkaç yıldır Esri teknolojisine odaklandım, bu alanda gerçekleşen güncellemelerin çoğunu bile bilmiyordum. Nihayetinde, yukarıdaki içeriğin hala alandaki vuruculardan bahsettiğini ve her biri için güncel bilgilere bağlantı sağladığını hissediyorum. Yine de, herhangi bir öneriniz varsa, bunları temaya uygun oldukları sürece memnuniyetle ekleyeceğim.
evv_gis

25

Yukarıdaki soruda Açık Kaynak cevapları almış gibi görünüyorsunuz. Şirketinizin bütçesi varsa, ESRI çok iyi bir seçenek olabilir. Netleştirmek için, kendi başlarına web haritalama API'lerini kullanmakta serbestler, ancak arka uç ArcGIS Sunucusu ve SDE size paraya mal olacak. Ek olarak, web haritalama uygulamasında kullanılacak harita hizmetlerini oluşturmak için masaüstü yazılımına ihtiyaç duyulacaktır. Bu kaynaklara zaten erişiminiz varsa veya bunları satın alabiliyorsanız, kesinlikle ESRI çözümlerine bakmanızı tavsiye ederim.

Buradaki bir yarar, çeşitli dillerde kod yazabilmenizdir. Flex ve Silverlight için ESRI'ye özel API'ler vardır:

Flex: http://help.arcgis.com/en/webapi/flex/index.html Silverlight: http://help.arcgis.com/en/webapi/silverlight/index.html

Şu anda web programcılığındaki eğilim, eklenti gerektiren ve satıcıya özgü (yukarıda) ve daha açık kaynak ve standartlara dayalı çerçevelere doğru giden çözümlerden uzaklaşıyor gibi görünüyor. ESRI bu Javascript API ile kaplı:

Javascript: http://help.arcgis.com/en/webapi/javascript/arcgis/

Bu API web sitelerine bakarsanız, belgeler çok iyidir. Ek olarak, belirli sorunlar hakkında topluluk yardımı için forumlar mevcuttur. ESRI yoluyla teknik destek de çok iyidir. Dolayısıyla, eğer zaten bu uygulamalara sahipseniz ya da bütçeniz varsa, bu mükemmel bir yoldur, eğer yukarıda açık kaynak kodlu çözümler araştırılmaya değer değilse, fiyat ve kaynaklara gelir.


4
Bu cevap gönderildiğinden bu yana Esri, şirket içi ArcGIS Server ve SDE'ye olan ihtiyacı ortadan kaldıran ArcGIS Online'ı piyasaya sürdü . Başlamak için ücretsiz geliştirici planlar var
Stephen Lead

20

Patronunuza gösterecek bir canlılık çalışması için basitçe bir şeyler prototip etmek istiyorsanız, ki bu bir yıl kadar önce ne yapmam gerektiğiydi, o zaman arka uç için Geoserver'ı kullanıcı dostu web arayüzü sayesinde, bazılarının desteğiyle basit şekil dosyaları. Ön uç için, OpenLayers web sitesinde pek çok örnek ile harika bir seçimdir. Herhangi bir şekilde bir web programcısı değilim, ancak javascript örneklerini kopyalarken / yapıştırarak / ayarlarken bir esinti buldum. Tüm bunları bir VirtualBox VM uygulamasına koydum ve hepsini UbuntuGIS deposundaki paketleri kullanarak düzenli ortamımı bozmuyorum.

Üretim için, kullanım çantanıza bağlı olarak bir sürü şey var. Benim için nihayet Mapserver'a gittim çünkü Geoserver kadar şişman değildi, lighttpd bir web sunucusunda hızlı bir cgi işlemi yapıyor. Geoserver'ın kutudan çıkardığı WFS-T'ye ihtiyacımız vardı, ancak Mapserver kullanmıyor, bu yüzden küçükleri kullandık. Ayrıca Mapserver'ın desteklediği ortak kullanım alanlarına (WCS) hizmet veriyoruz ve Rasdaman'ı WCS-T desteği için entegre etmeye bakıyoruz. Bunların hepsi bir PostGIS veritabanı tarafından desteklenmektedir.

Başvurunuzu arka, orta ve ön uçlara bölmenizi ve her bir yazılım parçasının artılarını ve eksilerini okumanızı öneririm. Her katman için yalnızca birkaç çözüm olabilir, ancak bu birleşimsel olarak artar.

ESRI'nin tüm bunları yapabilen ürünler ürettiğine inanıyorum, ancak bunun maliyeti olacak. Eğer vaktiniz premiumsa, ticari rota gidilecek yol olabilir, ancak açık kaynaklı rota çok heyecan verici bir yöne gidiyor ve ESRI'nin gelebileceği herhangi bir şeyi geçeceğinden şüpheliyim. Ama sonra önyargılı bir FOSS fanboi :)


2
P.Mapper ( pmapper.net ) ve GeoMoose ( geomoose.org ) ' a bir göz atın , kendi verilerinizle ayarlamak oldukça "kolaydır", MS4W içeren bir Windows kutusunda yapabilirsiniz ve ilerlerken, Linux ayarlarına dönebilirsiniz. P.mapper için ilk adımların ana hatları var, ilgileniyorsanız ispanyolca olsa da.
jdeltoro1973

18

MangoMap www.mangomap.com adresine bakabilirsiniz .

Mevcut araçları kullanarak istediğiniz haritayı oluşturabilmelisin.

Barındırılıyor ve ücretsiz, konuşlandırmak için çok az zaman ve çaba gerekiyor.


14

Önerdiğiniz özellikler için ihtiyaçlarınızı karşılayan en kolay ve en kolay olan yığının ne olduğuna bakacağım. "Hızlı, güçlü veya ucuz olabilir. İkisini de seçebilirsiniz." kesinlikle burada geçerlidir.

Yalnızca özellikleri belirleme gibi basit sorgular yapmayı planlıyorsanız, PostGIS'in gücü büyük olasılıkla fazla bilinir. Shapefiles'i doğrudan bir veri deposu olarak doğrudan GeoServer'a yüklemek çok daha kolaydır.

OpenLayers bir kez daha harika ve WGS84 ve Web Mercator dışındaki koordinat sistemlerini destekleme gibi bir çok işlevselliğe sahip ancak bu işlevi kullanmayacaksanız, Leaflet'e bakacağım, deneyimlerime göre çok daha az şey var. yeni kullanıcılar için dik öğrenme eğrisi.

Ayrıca, uygulamayı kendi sunucunuzda barındırmanız gerektiğini söyleyen bir gereksiniminiz yoksa, yatırım yaptığınızdan çok daha fazlasını alacağınız için barındırılan seçeneklerden bazılarına göz atabilirsiniz. MangoMap veya GeoCommons kullanarak , muhtemelen tek bir kod satırı yazmak zorunda kalmadan kullanıcılarınız için üstün bir harita elde edersiniz.

Bu, bazı kodlar yazmak istediğiniz bir proje ise, CartoDB ve MapBox'a da bakabilirsiniz . Bu barındırılan platformların tümü hakkında daha fazla bilgi edinmek istiyorsanız, seçmeniz gereken tüm ayrıntıları veren konuda ücretsiz bir e-kitap yazdım .

Açıklama : Ben MangoMap'in Kurucusuyum


domaine nae satılık olduğu için ücretsiz e-kitap bağlantınız koptu. Düzenleyebilir ve dropbox veya başka bir web sitesi ile bağlantıyı değiştirebilir misiniz?
GeoStoneMarten

13

Bir web haritası geliştirirken başlayacak çok yer var.

Bir web geliştiricisi olarak deneyime sahipseniz, web üzerinde bir harita yayınlamanıza izin veren çeşitli servisleri araştırarak başlamalısınız. Orada diğer sorular size uygun platformlar arasındaki farklılıklar bakımından değerli bilgiler verecektir bu sitede burada cevap verdi.

Yeni başlıyorsanız ve belirli bir platforma katılmak istemiyorsanız, işletme gereksinimlerinize cevap verin. Verilerinizi haritada nasıl çizeceksiniz? Veriler nasıl güncellenecek? Bu siteyi kimler kullanacak? Bununla ne yapacaklar? Bu kararları erken almak, parçaları birleştirmenize veya bir hedefe doğru genişlemeyi destekleyecek seçimler yapmanıza yardımcı olacaktır.

Maliyete gelince ... Modern bir atasözünü ödünç almayı tercih ederim: "İyi, hızlı, ucuz. İki tane seç." Resmen , maliyet, zamanlama ve kaliteyi arttırma kapsamı arasındaki dengeyi tanımlayan Proje Yönetimi Üçgeni olarak tanımlanmaktadır .


12

Ben de uzun zamandan beri birçok şeyden sonra veritabanı eşlemesiyle web haritalama yolculuğuna başladım.

Bana gerçekten yardımcı olan, temel programlama ilkelerini öğrenmekti, MapInfo için MapBasic kullanarak (ya da esri kalabalık için Python'u varsayıyorum) bilgisayarların "nasıl düşündüğünü" anlamamda gerçekten yardımcı oldu.

Oradan CodeAcademy bir nimettirdi. Programlamayı öğrenmenin gerçekten eğlenceli ve sezgisel bir yolu. Tamamen işlevsel ve etkileşimli programlara kadar sizi "Merhaba Dünya" örneklerinden alabilir. Öğrenme eğrisi kademelidir ve bazı insanların bu şeylerle yetenekli olduğunu ve bazılarının da (benim gibi) olmadığını anlar.

İkinci tavsiye, GeoServer'ı kurmak ve web servislerinin nasıl yapılandırıldığını ve nasıl çalıştıklarını görmek için demo isteklerine bakmak olacaktır. Javascript ve HTML'in birlikte nasıl çalıştığını görmek için katman önizlemelerine bakın. Kelimenin tam anlamıyla bu Katman Önizleme kodunu kopyalayabilir (sayfa kaynağını görüntüleyin), bir yere kaydedebilir ve düzeltmeye başlayabilirsiniz.

W3 okulları - yeni doğabilecek kodunuzla oynayabileceğiniz ve adapte olabileceğiniz etkileşimli örnekler vardır. JavaScript'e karar verirseniz, JS Fiddle da çok iyidir.


11

Java programcısıysanız, Geomajas'a bir bakın .

Birkaç dakika içinde başlamanıza izin veren bir maven arketipi var ( buraya bakın ). Ekstra katmanlar vb. Ekleyebilirsiniz.


GIS geliştiricileri, java tabanlı bir web uygulaması bulmak neredeyse eşsiz bir JavaScript hayranı gibi görünüyor.
Akheloes

9

Müşteri tarafı için OpenLayers'ı kullanabilirsiniz . Kararlı, kolay ve WFS (örneğin PostgreSQL'e bağlanma durumunda) kullanma konusunda tonlarca örnek vardı. Geoserver, OSM bunu renderleme amacıyla kullanıyor.

Ayrıca haritalar oluşturmak için extJS widget'ı sağlayan GeoExt’e de bakabilirsiniz . Yine geoext, harita oluşturma için OpenLayers kullanır.

GeoMoose , CartoWeb gibi MapServer'ı (OpenLayers zaten desteklemektedir) kullanan PHP tabanlı bir çerçeve de vardır .

Varsayılan bir şablona sahip MapScript bağlantılarına uygulanan php çerçevesinin aksine tüm web sayfası tasarımına karar verebileceğinizden OpenLayers için oy kullanıyorum ve böylesine büyük bir kod tabanını yönetmenin kolay olmadığını gördüm.


8

Herhangi bir web geliştirme için gerekli olan üç beceri, web haritalama dahil, html, css ve javascript. Bu dilleri öğrenmek için kaynaklar bol. Oldukça iyi CBS Yığın değişimi soru üzerine kaplıdır web haritalama uygulamaları geliştirmek için nasıl öğrenmeye başlamak için nereye konu Web Mapping nasıl başlamalı?

Sınırlı programlama deneyiminiz varsa, web haritalama uygulamaları geliştirmeye yönelik bir kaynak mapbox'tır . Herhangi bir kodlama olmadan web haritaları oluşturabilirsiniz, ancak javascript veya python gibi bir betik dili kullanmadan, örneğinizde kullandığınız kadar karmaşık ve etkileşimli bir web haritası üretmenin zor olacağını düşünüyorum.


7

Kullandığım leafletjs ve bunu çok basit olduğunu düşünüyorum. Javascript tabanlıdır ve çeşitli veri kaynaklarını kullanarak özellikler çizebilir. Temel olarak, harita kodunu bir .html dosyasına ekleyin ve ardından dosyayı görüntüleyin. Diğer API’ler hakkında yorum yapamam, ancak Google’ın Openlayers’in yanı sıra oldukça basit olduğunu düşünüyorum.

Ayrıca, html dosyasını barındırmanızı gerektirmeyen, ancak verilerinizi bunlara yüklemeniz için MapBox gibi hizmetler de vardır.


6

Bence QGIS + QGIS2leaflet eklentisi ile gitmek için en kolay yol. Broşüre dışa aktarmak ve web sunucunuza yüklemek yerine qgis'te istediğinizi düzenleyebilirsiniz. Veya daha ilginç bir yol seçerseniz:

  1. masaüstü gis: qgis
  2. veritabanı yöneticisi: navicat
  3. web sunucusu: temel VPS
  4. webgis paketi: sınırsız geoeosuit (içerir: postgresql / postgis, geoserver ve geoexplorer)

Geoexplorer yerine broşür javascript kullanırdım, çünkü daha hoş görünüyor ve daha düzgün çalışıyor ... ama bir kodu birlikte kopyalamak / yapıştırmak için biraz zaman ayırın. İşte bir örnek: http://gis.xyz


5

Unutulmaması gereken nokta, Web-Gis'in çok geniş bir alan olduğu ve bu çabalarda yardımcı olmak için birçok proje ve kütüphanede çok fazla çalışma yapıldığı. Bu yüzden, sıfırdan başlamak yerine tekrar kullanabileceğiniz bir şey olup olmadığını görmemiz gerekiyor.

Kötü haber şu ki, php'de web haritalaması için popüler bir kütüphane / uygulama yok. İyi haber şu ki, birine ihtiyacınız olmayabilir.

İlk önce WebMapping'i anlamaya çalışmanızı ve halihazırda mevcut olan projeleri ve Kütüphaneleri anlamanızı öneririm. Bunun için şu sorulara başvurabilirsiniz:

Mevcut seçenekleri anladıktan sonra gereksinimlerinizi netleştirmelisiniz. Sorunuza bakarak çok temel gereksinimleriniz var: Haritada Parselleri Göster Sorgulara İzin Ver, Parseller için Öznitelikler Al ve bunları bir Sorgu sonucu veya Kullanıcı tıkladığında kullanıcıya göster.

Bu tür bir çalışma Google Haritalar’ı kullanarak mümkündür, ancak Google Haritalar API’sı büyük miktarda veriye sahip olduğunuzda çalışmak için bir acı olduğundan, bunu tavsiye etmem.

Bunun yerine, JavaScript ile çalışabilmeniz şartıyla bir Geoserver / OpenLayers çözümü ile gitmenizi öneririm. Verilerinizin tümü özelliklerin niteliğinde ise, herhangi bir php koduna bile ihtiyacınız olmayabilir.


JQuery ve diğer Jscript kütüphaneleri konusunda iyiyim, daha önce ExtJS'e de dokundum. Bir soru, alanlarımı haritada nasıl çizerim ve bunu bir db'ye nasıl aktarabilirim? Tamamen haritanın sahip olduğu şeye bağlı mıyım veya üzerinde çizmeme izin veriyor mu? Bu nasıl başarılır?
Churchill

Parsel verileriniz belki şekil dosyalarında veya başka biçimlerde ise, onu Google Haritalar / diğer temel haritaların üstünde bir wms katmanı olarak gösterebilirsiniz. Bu WMS katmanı Geoserver / mapserver tarafından sunulabilir. Ayrıca, Vector katmanlarını kullanarak her zaman yeni özellikler çizebilirsiniz.
Devdatta Tengshe

5

Web haritalama büyük popüler javascript kütüphanesi openlayers için güzel bir ışık alternatif vardır broşür .

Bazı etkileşimler dahil, güzel haritalar oluşturmak için GeoServer ile Leaflet kullanıyorum. Özel kodlama gerektirir, ancak çok fazla değildir ve kullanımı OpenLayers’tan daha kolaydır.


5

Leaflet ve OpenLayers arasında karar vermeden önce, temizlenmiş bir API ve daha iyi belgeler vaat eden gelecek versiyona bir göz atmak faydalı olabilir:

OpenLayers 3, en son HTML5 ve CSS3 özelliklerini hedef alan, kitaplığın kapsamlı bir yeniden yazımıdır. Kütüphane, OpenLayers 2.x'ten projeksiyonlar, standart protokoller ve düzenleme işlevleri için geniş destek almaya devam edecektir. Kütüphanenin yeni versiyonu performans iyileştirmelerine, daha hafif yapılara, daha güzel görsel bileşenlere, gelişmiş bir API'ye ve daha fazlasına odaklanacak. Başlıca özelliklerden bazıları:

- - - - - - 8 <- - - - - - 

Yeni bir kod temeli: Bu, OpenLayers'ta bazı şeylerin “clunky” yöntemlerini temizleme fırsatı sunar. Ekip ayrıca, herkes için daha kolay ulaşılabilecek olan yeni API tasarımları da oluşturacak.

Yüksek kaliteli belgeler: Yeni sürümde ayrıca OpenLayers 3.0'da yeni örnekler ve varsayılan tasarımlar içeren belgeler de bulunacak. Bir araç seti gözetleme yapmak, gerçek koddan daha fazlasıdır.

http://openlayers.org/


5

Google Haritalar API’sı ile başlardım . Ücretsiz ve çalışmak kolaydır. Birçok iyi kaynaktan öğrenilebilen Javascript kullanmaktadır. JS için yeni iseniz Codecademy tavsiye ederim .

Google Haritalar’a birkaç yolla (KML, veritabanı, GeoRSS vb.) Dahil edilebilecek birçok ücretsiz veri kaynağı var. Çoğu eyalette ve birçok üniversitede haritanıza dahil edilebilecek ücretsiz veri depoları vardır.

Google Haritalar örnekleri için favori sitelerimden biri Google Haritalar Mania . Bu API'de neyin mümkün olduğunu gösteren harika harita örnekleri var.


5

GeoPHP bakmaya değer olabilir.

GeoPHP, geometri işlemlerini yapmak için açık kaynaklı bir PHP kütüphanesidir. Tamamen PHP ile yazılmıştır ve bu nedenle paylaşılan ana bilgisayarlarda çalışabilir. Çok çeşitli biçimleri okuyabilir ve yazabilir: WKT (EWKT dahil), WKB (EWKB dahil), GeoJSON, KML, GPX, GeoRSS. Tüm Basit Özellik geometrileriyle (Point, LineString, Polygon, GeometryCollection vb.) Çalışır ve centroidler, sınırlayıcı kutular, alan ve çok çeşitli başka faydalı bilgiler almak için kullanılabilir.

Üstelik GEOS uzantısına sahip bir adım atabilirsiniz (GEOS'u kurmak için yönetici ayrıcalıklarına sahip olduğunuz varsayılarak).

GEOS ile PHP, Union, IsWithin, Touches, vb. Gibi openGIS işlevlerinin tamamını elde edersiniz. Bu, uygulamaların tüm ortamlarda çalışan geometri işlemlerinin kullanışlı bir "çekirdek kümesi" ve "genişletilmiş bir dizi" anlamına gelir. GEOS kurulu ortamlar için işlemler.


4

Özel PHP betiği daha sağlam (ve basit) bir çözüm olabilir. Sonuçta, uzamsal veriler yalnızca bir veritabanındaki satırlardır ve her zamanki gibi sorgulanabilirler. Ağır sunucu GIS yazılımı ve / veya korkunç OGC filtre sözdizimi için gerek yok. Ayakkabının içinde olsaydım, verileri PostgreSQL veritabanında PostGIS uzantılı veritabanında saklardım, veritabanını sorgulamak ve GeoJSON formatında veri almak için PHP'nin arka ucunu yazardım ( bu özete bakardım ) ve bir ön uç web uygulamasını temel alırdım . OpenLayers - Google Haritalar API’sından daha esnektir, ancak isterseniz yine de Google’ın temel haritalarını oluşturabilirsiniz.


Bu yöntem çalışacak olsa da, bir ilçe / ilçe için parseller gibi büyük miktarlarda verilerle halsiz ve ağır olacaktır.
Devdatta Tengshe

3

Hangisini seçeceğiniz konusunda yardım için, ArcGIS Online sorusuna alternatifler ve Hangi kitaplar, dergiler, elektronik kaynaklar Coğrafi Bilgi bilgisini genişletmek için en değerlidir? öğrenme kaynakları için soru .

Web haritalama maliyetleri, barındırma (web sitesi için ödeme yapma) ve sunucu depolama alanını içerir (haritalama servisleri kullanıyorsanız, MapBox fiyatlarına ve aylık CartoDB fiyatlarına bakın ). Sonuçta, web geliştirmeyi bilmek haritanızı oluşturmak için çok önemli olacaktır.


2

Peki, kullanabileceğin birkaç haritalandırma kütüphanesi var.

İlki (ve muhtemelen en iyi bilinenleri) Google Haritalar API’sı olacaktır , ancak web haritalama için nispeten yeniyseniz, bunun oldukça karmaşık olabileceğini düşünüyorum.

Leaflet.js veya Mapbox.js sayfalarına göz atmanızı öneririm . Mapbox.js, Leaflet düşünülerek oluşturulmuştur ve Mapbox, Mapbox.js ile yapabileceğiniz çeşitli görevler hakkında harika dersler içermektedir. Broşürde ayrıca bazı örnekler ve kaynaklar var .

İşte size doğru yöne yönlendirmenize yardım etmesi gereken örneklere özel bağlantılar.




-3

UMN Harita Sunucusu'nu kullanabilirsiniz. Burada, PHP betiklerini kullanabilirsiniz (buna harita betikleri denir). Bu Apache sunucusuna dayanmaktadır. Bir veritabanı istiyorsanız, ya uzaysal uzantıları olan MySQL'i ya da postGIS ile PostgreSQL'i kullanabilirsiniz ...

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.