Jak rozpocząć mapowanie sieci?


83

Chcę rozpocząć pracę nad mapą internetową w pracy, aby zmapować niektóre nasze statystyki według miast.

Mam pomysł, ale nie jestem do końca pewien, od czego zacząć.

Czy są jakieś ostateczne zasoby, które dostarczają wskazówek krok po kroku, jak to zrobić?

Odpowiedzi:


94

To pytanie zostało przekonwertowane na Wiki Wiki i wiki zablokowane, ponieważ jest to przykład pytania, które szuka listy odpowiedzi i wydaje się być wystarczająco popularne, aby chronić je przed zamknięciem. Powinno to być traktowane jako szczególny przypadek i nie powinno być postrzegane jako rodzaj pytania, które jest zachęcane w tej lub dowolnej witrynie Stack Exchange, ale jeśli chcesz wnieść do niego więcej treści, możesz to zrobić, edytując tę ​​odpowiedź .


Możesz wybierać między rozwiązaniami z komponentem serwera map lub bez. Rozwiązania serwerowe obsługują oczywiście więcej danych i bardziej wyrafinowane aplikacje.

Jeśli wiesz, że QGIS chce tworzyć jednorazowe wizualizacje danych, polecam QGIS2Leaf lub Eksportuj do OpenLayers 3, które są wtyczkami do QGIS, które pozwalają eksportować warstwy do mapy sieci. Aktualizacja (na podstawie komentarza Toma Chadwina): qgis2leaf i qgis-ol3 zostały teraz połączone w qgis2web .

Środkowa droga opcja jest QGIS Chmura , gospodarzem opcja QGIS Server: Wystarczy przygotować projekt lokalnie, a następnie opublikować je w internecie, gdzie można go znaleźć w gotowych widza. Mają darmowe konta do pewnego rozmiaru danych. Więc nie potrzebujesz własnego serwera, jeśli jest to dla ciebie problem.

Jeśli chcesz uruchomić własny serwer typu open source , możesz zacząć od wprowadzenia do Geoserver z zeszłorocznego FOSS4G: http://workshops.opengeo.org/geoserver-intro/ . Do zaangażowanych narzędzi należą zazwyczaj Geoserver, PostGIS i OpenLayers. Koszty uruchomienia to Twój czas pracy plus hosting.

Trudno oszacować czas wdrożenia bez znajomości przypadków użycia.


7
qgis2leaf i Export to OpenLayers 3 zostały teraz połączone w qgis2web.
Tom Chadwin,

Dobra uwaga na temat qgis2web. Jestem autorem kursu wideo, który uczy GIS od podstaw i jak budować mapy internetowe za pomocą qgis2web: udemy.com/gis-for-everyone/?couponCode=stackgis1
multigoodverse

Dlaczego warto korzystać z GIS? Mógł przejść bezpośrednio z bazy danych do Ulotki.
Fjellrev

@Fjellrev Jak? Zapytanie do wyodrębnienia jako GeoJSON? Twierdziłbym, że to trudniejsze niż korzystanie z GIS.
Tom Chadwin,

Możesz przeglądać GeoGATE link , GeoGATE jest niesamowity dzięki PostGIS i Geoserver i zawiera setki gotowych narzędzi, które możesz skonfigurować za pomocą przyjaznego dla użytkownika panelu kontrolnego z danymi
Hani Draidi

41

Penn State ma klasę Open Web Mapping . Powinno wystarczyć, aby nauczyć Cię, jak działa mapowanie sieci, a także związanych z tym technologii. Większość, jeśli nie wszystkie, narzędzia używane w klasie są bezpłatne, więc nie powinno stanowić problemu. Oto spis treści:

Lekcja 0: Orientacja

Lekcja 1: Wprowadzenie do Open Web Mapping

Lekcja 2: Serwery map internetowych (WMS)

Lekcja 3: serwery funkcji sieciowych (WFS)

Lekcja 4: Extensible Markup Language (XML)

Lekcja 5: Zaawansowane serwery map internetowych

Lekcja 6: Geograficzny język znaczników (GML)

Lekcja 7: Ponownie odwiedzono WFS

Lekcja 8: Tworzenie aplikacji do mapowania sieci

Lekcja 9: Budowanie cienkiego niestandardowego klienta mapowania sieci

Baw się dobrze :)


40

Google Fusion Tables wygląda obiecująco, jeśli chodzi o mapowanie i zapytania przestrzenne

zalety: łatwe w konfiguracji

Wady: wszystkie twoje dane są na serwerach Google (dobre czy złe?)

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

wprowadź opis zdjęcia tutaj

Uwaga: korzysta z niego wiele mediów / firm informacyjnych - przykład Guardian UK Newspaper http://www.guardian.co.uk/environment/datablog/interactive/2011/mar/07/carbon-emissions-public-buildings-map

Teraz jest fajny Kreator Fusion, który przyspiesza konfigurację http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/fusiontableslayer_builder.html

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

Jeden z najlepszych: http://tinyurl.com/England-Deprivation-Mapped


1
Czy Google Mymaps jest implementacją Google Fusion Tables? Wygląda na to, że jest podobny, z MyMaps opartymi na przeglądarce, ale Fusion Tables na serwerze.
sabre23t

40

Jest tak wiele opcji i wiele świetnych odpowiedzi. Dwie z moich ulubionych opcji, których jeszcze tu nie wymieniono, to CartoDB i MapBox . Oba zapewniają hosting i wizualizację danych oraz niektóre bardzo wymyślne narzędzia, których ceny zaczynają się za DARMO.

Będziesz korzystać z oprogramowania komputerowego, aby uzyskać konfigurację danych. ArcMap i Quantum GIS to świetny wybór dla części pulpitu.

Powiedziałbym, że siłą MapBox jest tworzenie pięknych map internetowych z naprawdę świetnymi, łatwymi w użyciu szablonami i gotowymi elementami interfejsu użytkownika . MapBox wymaga programu komputerowego o nazwie TileMill (również darmowy), który korzysta z interfejsu stylizacji bardzo podobnego do CSS.

Siłą CartoDB jest to, że ujawnia swoje korzenie PostGIS za pośrednictwem SQL API.

Oba mogą być używane samodzielnie lub w połączeniu z innymi bibliotekami mapowania javascript (np. Leaflet , Google Maps , OpenLayers ).

Bez względu na to, z których platform zaczniesz korzystać, aby uzyskać dostęp do mapowania sieci, z pewnością skorzystasz z nauki języka JavaScript. Codecademy to świetne miejsce na rozpoczęcie (również ZA DARMO !!).



2
Kluczem do zrozumienia MapBox i CartoDB jest wycena (widoki mapy, ilość danych) i ilość wyświetlanych danych. CartoDB ułatwia zarządzanie większymi zestawami danych, a ja sugerowałbym MapBox dla mniejszych projektów. Ulotka jest najlżejszą i najłatwiejszą do nauczenia się bibliotekami mapowania JavaScript.
Zach

37

Właśnie uczestniczyłem w konferencji, na której zaprezentowali pakiet OpenGeo , który jest stosem OpenLayers, GeoServer, GeoExt i PostGIS. Oferują zarówno wersje „Enterprise Edition” (płatna za wersję z obsługą), jak i „ Community Edition ” (bezpłatne). (Aktualizacja) OpenGeo Suite jest teraz pakietem Boundless.

Kolejnym pakietem zademonstrowanym podczas konferencji był GeoMoose , który jest stosem MapServer i OpenLayers.

Możesz rozważyć pobranie płyty DVD OSGEO Live DVD , którą możesz uruchomić w środowisku maszyny wirtualnej, na wypadek gdybyś nie chciał instalować na swoim komputerze wielu rzeczy podczas testowania. Jest dostarczany z pakietem różnych pakietów oprogramowania GIS typu open source, w tym narzędzi do mapowania stron internetowych.


29

Edytować

Ze względu na popularność tego pytania i odpowiedzi dodałem edycję niektórych treści tego postu ze względu na zmiany u dostawców i interfejsów API w ciągu ostatnich kilku miesięcy.


Wybór interfejsu API jest związany z zakresem i celem projektu, nie wspominając o budżecie, jeśli w rzeczywistości chcesz skorzystać z określonych funkcji. Innym ważnym zastrzeżeniem jest doświadczenie w tworzeniu stron internetowych oraz preferowany lub interesujący język.

Myślę, że najlepszym sposobem na udzielenie odpowiedzi na twoje pytanie jest zapewnienie miłej listy dostępnych API. Oto trzy, które przychodzą na myśl. Nie są to w żadnym wypadku wszystkie!

ArcGIS

Pszczoła:

Plusy:

  • AppBuilder Web poczyniła tworzenie web aplikacji bardzo proste dla tych, którzy nie dobrze zorientowani w rozwoju sieci
  • Łatwe w użyciu narzędzia do tworzenia aplikacji ( Flex , Silverlight i JavaScript , pamiętaj tylko o planach wycofania)
  • Rozbudowane fora internetowe ( mnóstwo postów wymiany stosów )
  • Dzięki wielu rozwiązaniom dostępnym w stosie ArcGIS, które wymagają niewielkich prac przygotowawczych lub nie wymagają ich wcale, ArcGIS może być również dobrym wyborem do terminowego wdrażania rozwiązań.
  • Repozytoria GitHub dla wielu rozwiązań

Cons:

  • Cena (nie dotyczy korzystania z interfejsów API, ale więcej, jeśli chcesz opublikować własne dane, zobacz także ArcGIS Online )
  • Dostosowywanie kodu aplikacji może być kłopotliwe

Podsumowanie:

ArcGIS ma wiele do zaoferowania dla internetowych produktów GIS i ma wiele zasobów, które mogą ci pomóc. Pamiętaj tylko o potencjalnych kosztach, jakie możesz ponieść, gdy chcesz opublikować własne dane.

Google

Pszczoła:

  • JavaScript
  • Mobile (Android, iOS)

Plusy:

  • Zdecydowanie najbardziej rozpoznawalna nazwa w mapowaniu sieci
  • Rozbudowany interfejs API JavaScript
  • Wiele próbek online
  • Niedawno Google opublikowało ceny i plany , co stanowi świetny zestaw oferowanych usług

Cons:

Podsumowanie:

Google ma silną nazwę na rynku i dość niezawodne usługi online. Pamiętaj tylko, aby zrozumieć tajniki ich używania, abyś nie stawiał żadnych legalnych stóp. Nowa strona Ceny i plany jest w tym względzie bardzo pomocna.

Otwarte źródło

Interfejsy API (wszystkie oparte na JavaScript):

Plusy:

Cons:

  • Oficjalne wsparcie nie jest tak dobrze znane, ALE zaangażowana społeczność jest bardziej niż pomocna (być może nawet lepsza niż komercyjne wsparcie GIS)

Podsumowanie:

Open Source jest naprawdę świetną opcją dla każdego, kto chce przetestować wody Web GIS. Dzięki zmianom i udoskonaleniom wprowadzanym codziennie w społeczności, open source może być niedrogim sposobem zaspokojenia twoich potrzeb geoprzestrzennych.


Jak powiedziałem, to nie wszystkie opcje, które masz, ale przynajmniej teraz jest post z linkami dla ciebie i innych, aby zapoznać się z niektórymi głównymi graczami w świecie Web GIS.


Dobry komentarz! Czy chcesz to zaktualizować?
Fjellrev

@Fjellrev - Z pewnością mogę zaktualizować post, jeśli masz sugestię lub możesz podać wskazówki dotyczące tego, czego brakuje. Mówiąc szczerze, od kilku lat koncentruję się przede wszystkim na technologii Esri, że nie znam nawet wielu aktualizacji, które miały miejsce w tej przestrzeni. Ostatecznie nadal uważam, że powyższe treści wspominają o tych, którzy uderzają w kosmos, i zawierają linki do aktualnych informacji dla każdego z nich. Ponownie jednak, jeśli masz jakieś sugestie, chętnie je dodam, o ile będą pasować do tematu.
evv_gis

25

Wygląda na to, że otrzymałeś odpowiedzi Open Source w powyższym pytaniu. Jeśli Twoja firma ma budżet, ESRI może być bardzo dobrą opcją. Aby to wyjaśnić, interfejsy API tworzenia map są same w sobie bezpłatne, jednak backend ArcGIS Server i SDE będą cię kosztować. Dodatkowo do stworzenia usług mapowych potrzebnych w aplikacji do tworzenia map internetowych potrzebne będzie oprogramowanie komputerowe. Jeśli masz już dostęp do tych zasobów lub możesz je kupić, zdecydowanie poleciłbym przyjrzenie się rozwiązaniom ESRI.

Jedną z korzyści jest to, że możesz pisać w różnych językach. Istnieją interfejsy API specyficzne dla ESRI dla Flex i Silverlight:

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

Obecnie wydaje się, że trend w programowaniu internetowym odchodzi od rozwiązań, które wymagają wtyczek i są specyficzne dla producenta (powyżej), w kierunku bardziej otwartych ram i standardów opartych na standardach. ESRI ma to pokryte z JavaScript API:

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

Jeśli spojrzysz na te strony API, dokumentacja jest bardzo dobra. Ponadto dostępne są fora pomocy społeczności dotyczące określonych problemów. Wsparcie techniczne za pośrednictwem ESRI jest również bardzo dobre. Sprowadza się to więc do ceny i zasobów, jeśli masz już te aplikacje lub budżet, jest to doskonała ścieżka, jeśli nie, warto przyjrzeć się powyższym rozwiązaniom open source.


4
Od czasu opublikowania tej odpowiedzi Esri wydało ArcGIS Online , co potencjalnie eliminuje potrzebę lokalnego ArcGIS Server i SDE. Na początek dostępne są bezpłatne plany programistów
Stephen Lead

20

Jeśli chcesz po prostu prototypować coś do badania rentowności, aby pokazać swojemu szefowi, co musiałem zrobić rok temu, to dla zaplecza polecam Geoserver ze względu na przyjazny interfejs użytkownika, wspierany przez niektórych proste pliki kształtów. W przypadku nakładki OpenLayers to fantastyczny wybór z dużą ilością próbek na stronie. W żadnym wypadku nie jestem programistą, ale kopiowanie / wklejanie / modyfikowanie próbek javascript było bardzo proste. Umieszczam to wszystko w maszynie wirtualnej VirtualBox, aby zachować wszystko w jednym miejscu i nie przerywać mojego regularnego środowiska programistycznego, używając pakietów z repozytorium UbuntuGIS.

Do produkcji jest mnóstwo rzeczy, które zależą od twojego przypadku użycia. Dla mnie ostatecznie zdecydowałem się na Mapserver, ponieważ nie jest tak rozdęty jak Geoserver, działający jak szybki proces cgi na serwerze internetowym lighttpd. Potrzebowaliśmy WFS-T (który Geoserver obsługuje od razu po wyjęciu z pudełka), ale Mapserver nie, więc użyliśmy malutkich. Obsługujemy również relacje (WCS), które obsługuje Mapserver, i zamierzamy zintegrować Rasdaman z obsługą WCS-T. Wszystko to jest wspierane przez bazę danych PostGIS.

Polecam rozbicie aplikacji na back-, middle- i front-end oraz przeczytanie zalet i wad każdego oprogramowania. Może istnieć tylko kilka rozwiązań dla każdej warstwy, ale zwiększa się to kombinatorycznie.

Wierzę, że ESRI produkuje produkty zdolne do tego wszystkiego, ale będzie to kosztować. Jeśli twój czas jest na wagę złota, może to być droga komercyjna, ale trasa typu open source zmierza w bardzo ekscytujących kierunkach i podejrzewam, że ostatecznie przewyższy wszystko, co może wymyślić ESRI. Ale potem jestem stronniczym fanboi FOSS :)


2
Spójrz na P.Mapper ( pmapper.net ) i GeoMoose ( geomoose.org ), które są dość „łatwe” do skonfigurowania z własnymi danymi, możesz to zrobić na Windowsie z MS4W, a następnie, w miarę postępów, możesz przejść do konfiguracji Linuksa. Mam zarys wstępnych kroków dla p.mapper w języku hiszpańskim, na wypadek, gdybyś był zainteresowany.
jdeltoro1973

18

Można spojrzeć na MangoMap www.mangomap.com .

Powinieneś być w stanie stworzyć pożądaną mapę za pomocą dostępnych narzędzi.

Jest hostowany i bezpłatny, więc wdrożenie go zajmuje niewiele czasu i wysiłku.


14

Dla funkcji, które sugerujesz, przyjrzałbym się najbardziej prostemu i łatwemu w instalacji stosowi, który spełnia twoje potrzeby. Oprogramowanie mówi: „Możesz mieć szybki, wydajny lub tani. Wybierz dwa”. zdecydowanie obowiązuje tutaj.

Jeśli planujesz tylko proste zapytania, takie jak identyfikacja funkcji, potęga PostGIS jest prawdopodobnie nadmierna. O wiele łatwiej jest po prostu przesłać pliki kształtów jako magazyn danych bezpośrednio do GeoServer.

OpenLayers po raz kolejny jest świetny i ma wiele funkcji, takich jak obsługa układów współrzędnych innych niż WGS84 i Web Mercator, ale jeśli nie zamierzasz korzystać z tej funkcji, spojrzałbym na Ulotkę , z mojego doświadczenia wynika, że ​​ma znacznie mniej stroma krzywa uczenia się dla nowych użytkowników.

Ponadto, jeśli nie masz wymogu, który mówi, że musisz hostować aplikację na własnym serwerze, możesz spojrzeć na niektóre z hostowanych opcji, ponieważ otrzymasz znacznie więcej od momentu zainwestowania. Korzystając z MangoMap lub GeoCommons , prawdopodobnie uzyskasz lepszą mapę dla swoich użytkowników bez konieczności pisania ani jednego wiersza kodu.

Jeśli jest to projekt, w którym chcesz napisać kod, możesz także spojrzeć na CartoDB i MapBox . Jeśli chcesz dowiedzieć się więcej na temat wszystkich tych hostowanych platform , napisałem darmowy ebook na ten temat, który zawiera wszystkie szczegóły, które musisz wybrać.

Ujawnienie : Jestem założycielem MangoMap


twój darmowy link do ebooka jest zepsuty, ponieważ domaine nae jest na sprzedaż. Czy możesz go edytować i zmienić link za pomocą Dropbox lub innej strony?
GeoStoneMarten

13

Przy tworzeniu mapy internetowej można zacząć od wielu miejsc.

Jeśli masz doświadczenie jako programista stron internetowych, powinieneś zacząć od zbadania różnych dostępnych usług, które pozwalają Ci opublikować mapę w Internecie. Na tej stronie znajdują się odpowiedzi na inne pytania , które dają cenny wgląd w różnice między dostępnymi platformami.

Jeśli zaczynasz od nowa i nie chcesz przypisywać się do konkretnej platformy, odpowiedz na wymagania biznesowe. Jak narysujesz swoje dane na mapie? Jak dane będą aktualizowane? Kto będzie korzystał z tej strony? Co oni z tym zrobią? Wczesne podejmowanie tych decyzji pomoże ci zebrać elementy lub dokonać wyborów, które będą wspierać rozwój w kierunku celu.

Jeśli chodzi o koszty ... Wolę pożyczyć nowoczesne przysłowie: „Dobry, szybki, tani. Wybierz dwa”. Jest formalnie zdefiniowany jako Trójkąt zarządzania projektami , który opisuje równowagę między kosztami, harmonogramem i zakresem zapewniania jakości.


12

Ja także niedawno rozpocząłem mapę internetową po wielu latach po stronie bazy danych.

To, co naprawdę pomogło mi, to nauka podstawowych zasad programowania za pomocą MapBasic dla MapInfo (lub zakładam, że Python dla tłumu esri) naprawdę pomógł mi zrozumieć, w jaki sposób komputery „myślą”.

Stamtąd CodeAcademy była darem niebios. To naprawdę zabawny i intuicyjny sposób nauki programowania. Może zabrać Cię od przykładów „Hello World” aż do w pełni funkcjonalnych i interaktywnych programów. Krzywa uczenia się jest stopniowa i rozumie, że niektórzy ludzie są obdarowani tymi rzeczami, a inni (jak ja) nie.

Drugą radą byłoby zainstalowanie GeoServera i sprawdzenie żądań demo, aby zobaczyć, jak strukturyzowane są usługi sieciowe i jak działają. Zobacz podgląd warstw, aby zobaczyć, jak JavaScript i HTML działają razem. Możesz dosłownie skopiować ten kod podglądu warstwy (wyświetlić źródło strony), zapisać go gdzieś i zacząć majstrować.

Szkoły W3 - zawiera interaktywne przykłady, z którymi możesz bawić się i dostosowywać do swojego nowo powstałego kodu. Jeśli zdecydujesz się na JavaScript, JS Fiddle jest również bardzo dobry.


11

Jeśli jesteś programistą Java, spójrz na Geomajas .

Istnieje archetyp typu raj, który pozwala rozpocząć grę w kilka minut ( patrz tutaj ). Następnie możesz dodać dodatkowe warstwy itp.


Wydaje się, że programiści GIS są tak wielkimi fanami JavaScript, że znalezienie aplikacji internetowej opartej na Javie jest niemal wyjątkowe.
Akheloes,

9

Możesz użyć OpenLayers po stronie klienta. Jest stabilny, łatwy i miał mnóstwo przykładów użycia WFS (w twoim przypadku, aby połączyć się z PostgreSQL) itp. Geoserver, OSM używa go do celów renderowania.

Możesz także zajrzeć na GeoExt, który zapewnia widget extJS do budowania map. Geoext ponownie wykorzystuje OpenLayers do renderowania map.

Istnieją również frameworki oparte na PHP, które wykorzystują MapServer (już obsługuje OpenLayers), takie jak GeoMoose , CartoWeb itp.

Głosuję na OpenLayers, ponieważ możesz zdecydować o całym projekcie strony internetowej, w przeciwieństwie do struktury php działającej z powiązaniami MapScript, które mają domyślny szablon i nie było łatwo zarządzać tak dużą bazą kodu.


8

Trzy umiejętności niezbędne do większości tworzenia stron internetowych, w tym mapowania stron internetowych, to HTML, CSS i JavaScript. Materiały do ​​nauki tych języków są bogate. Temat, od którego zacząć naukę tworzenia aplikacji do mapowania sieci, jest dość dobrze omówiony w pytaniu dotyczącym wymiany stosu GIS Jak rozpocząć tworzenie map WWW?

Jednym z zasobów do opracowania aplikacji do tworzenia map internetowych, jeśli masz ograniczone doświadczenie w programowaniu, jest mapbox . Możesz tworzyć mapy internetowe bez żadnego kodowania, chociaż myślę, że trudno byłoby stworzyć mapę internetową tak skomplikowaną i interaktywną jak ta, której używasz w swoim przykładzie bez użycia języka skryptowego, takiego jak javascript lub python.


7

Używam ulotek i myślę, że to bardzo proste. Jest oparty na javascript i może rysować funkcje przy użyciu różnych źródeł danych. Zasadniczo wstawiasz kod mapy do pliku .html, a następnie przeglądasz ten plik. Nie mogę komentować innych API, ale myślę, że Google jest dość prosty, podobnie jak Openlayers.

Ponadto istnieją usługi, takie jak MapBox, które nie wymagają hostowania pliku HTML, a jedynie przesłania do nich danych.


6

Myślę, że najłatwiejszym sposobem jest użycie wtyczki qgis + qgis2leaflet. Możesz edytować, co chcesz w qgis, niż eksportować do ulotki i przesyłać na serwer. Lub jeśli wybierzesz bardziej interesujący sposób niż:

  1. pulpit gis: qgis
  2. administrator bazy danych: navicat
  3. serwer WWW: podstawowy VPS
  4. pakiet webgis: geosuit bez granic (zawiera: postgresql / postgis, geoserver i geoexplorer)

Zamiast geoeksploratora użyłbym javascript do ulotki, ponieważ wygląda ładniej i działa płynniej ... ale poświęć trochę czasu na skopiowanie / wklejenie części kodu. oto przykład: http://gis.xyz


5

Należy zauważyć, że Web-Gis jest rozległą dziedziną i wiele pracy zostało już wykonanych w kilku projektach i bibliotekach, aby pomóc w tym przedsięwzięciu. Musimy więc sprawdzić, czy jest coś, co można ponownie wykorzystać, zamiast zaczynać od zera.

Zła wiadomość jest taka, że ​​w php nie ma popularnej biblioteki / aplikacji do mapowania stron internetowych. Dobrą wiadomością jest to, że możesz jej nie potrzebować.

Radziłbym najpierw spróbować zrozumieć WebMapping oraz zrozumieć projekty i biblioteki, które są już obecne. W tym celu możesz odnieść się do następujących pytań:

Po zrozumieniu dostępnych opcji należy wyjaśnić swoje wymagania. Patrząc na twoje pytanie, masz bardzo podstawowe wymagania: Pokaż paczki na mapie Zezwalaj na zapytania, zdobywaj atrybuty paczek i pokazuj je użytkownikowi, albo w wyniku zapytania, albo gdy użytkownik go kliknie.

Tego rodzaju praca jest możliwa przy użyciu Google Maps, ale nie poleciłbym jej, ponieważ interfejs API Google Maps jest trudny w pracy, gdy masz dużą ilość danych.

Zamiast tego sugerowałbym skorzystanie z rozwiązania Geoserver / OpenLayers, pod warunkiem, że możesz pracować z JavaScript. Możesz nawet nie potrzebować żadnego kodu php, jeśli twoje dane są w atrybutach funkcji.


Jestem dobry z JQuery i innymi bibliotekami Jscript, już wcześniej zajmowałem się ExtJS. Jedno pytanie, jak narysować moje obszary na mapie i jak je wyeksportować do bazy danych? Czy muszę całkowicie polegać na tym, co ma mapa, czy pozwala mi to czerpać? Jak to się osiąga?
Churchill,

Jeśli masz dane paczki w formacie shapefile lub innym formacie, możesz pokazać je jako warstwę wms na Mapach Google / innych mapach podstawowych. Ta warstwa WMS może być obsługiwana przez Geoserver / mapserver. Ponadto zawsze możesz rysować nowe funkcje za pomocą warstw Vector.
Devdatta Tengshe,

5

Dobrą lekką alternatywą dla OpenLayers, która jest dużą popularną biblioteką javascript do mapowania stron internetowych, jest Leaflet .

Używam Ulotki z GeoServer, aby tworzyć fajne mapy, w tym interaktywne. Wymaga niestandardowego kodowania, ale nie wiele i jest o wiele łatwiejszy w użyciu niż OpenLayers.


5

Zanim zdecydujesz się na Leaflet i OpenLayers, warto przyjrzeć się nadchodzącej wersji, która obiecuje wyczyszczone API i lepszą dokumentację:

OpenLayers 3 to kompleksowe przepisywanie biblioteki, ukierunkowane na najnowsze funkcje HTML5 i CSS3. Biblioteka będzie nadal zapewniać szerokie wsparcie dla projekcji, standardowych protokołów i funkcji edycji z OpenLayers 2.x. Nowa wersja biblioteki skupi się na poprawie wydajności, lżejszych kompilacjach, ładniejszych komponentach wizualnych, ulepszonym interfejsie API i nie tylko. Oto niektóre z najważniejszych wydarzeń:

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

Nowa podstawa kodu: Daje to możliwość wyczyszczenia niektórych „niezgrabnych” sposobów robienia rzeczy w OpenLayers. Zespół utworzy również nowe projekty API, które będą bardziej dostępne dla wszystkich.

Dokumentacja wysokiej jakości: Nowa wersja będzie zawierać dokumentację ze świeżymi przykładami i domyślnymi projektami w OpenLayers 3.0. Wyróżnienie zestawu narzędzi to coś więcej niż sam kod.

http://openlayers.org/


5

Zacznę od interfejsu API Map Google . Jest darmowy i łatwy w obsłudze. Korzysta z Javascript, którego można się nauczyć poprzez szereg dobrych zasobów. Polecam Codecademy, jeśli jesteś nowy w JS.

Istnieje wiele bezpłatnych źródeł danych, które można włączyć do Google Maps na wiele sposobów (KML, baza danych, GeoRSS itp.). Większość stanów i wiele uniwersytetów ma bezpłatne magazyny danych, które można włączyć do mapy.

Jedną z moich ulubionych stron z przykładami Map Google jest Google Maps Mania . Istnieją świetne przykłady map, które pokazują, co jest możliwe w tym interfejsie API.


5

GeoPHP może być warte obejrzenia.

GeoPHP to natywna biblioteka PHP typu open source do wykonywania operacji geometrii. Jest napisany w całości w PHP i dlatego może działać na współdzielonych hostach. Potrafi czytać i pisać różnorodne formaty: WKT (w tym EWKT), WKB (w tym EWKB), GeoJSON, KML, GPX, GeoRSS. Działa ze wszystkimi geometriami prostych funkcji (Point, LineString, Polygon, GeometryCollection itp.) I może być używany do uzyskiwania centroidów, obwiedni, obszaru i wielu innych przydatnych informacji.

Możesz to zrobić na wyższym poziomie dzięki rozszerzeniu GEOS (zakładając, że masz uprawnienia administratora do instalowania GEOS).

Dzięki GEOS otrzymujesz pełny zestaw funkcji openGIS w PHP, takich jak Union, IsWithin, Touches itp. Oznacza to, że aplikacje otrzymują użyteczny „zestaw podstawowy” operacji geometrii, które działają we wszystkich środowiskach, oraz „rozszerzony zestaw” operacje dla środowisk, w których zainstalowano GEOS.


4

Cóż, niestandardowy skrypt PHP może być bardziej niezawodnym (i prostym) rozwiązaniem. W końcu dane przestrzenne są tylko wierszami w bazie danych i można je przeszukiwać jak zwykle. Nie potrzebujesz ciężkiego oprogramowania GIS dla serwera i / lub okropnej składni filtra OGC. Gdybym był w twoich butach, zapisałbym dane w bazie danych PostgreSQL z rozszerzeniem PostGIS, napisałem back-end PHP, aby wysłać zapytanie do bazy danych i odzyskałem dane w formacie GeoJSON (spójrz na tę treść ) oraz aplikację webową opartą na OpenLayers - jest bardziej elastyczny niż Google Maps API, ale nadal możesz bazowe mapy Google, jeśli chcesz.


Chociaż ta metoda będzie działać, będzie powolna i obciążona dużą ilością danych, takich jak paczki dla powiatu / dystryktu.
Devdatta Tengshe

3

Aby uzyskać pomoc w wyborze, pytanie Alternatywy dla ArcGIS Online oraz Jakie książki, czasopisma i zasoby elektroniczne są najbardziej cenne dla poszerzenia wiedzy z zakresu informacji geograficznej? pytanie o zasoby edukacyjne.

Koszty mapowania w sieci obejmują hosting (płacenie za stronę internetową) i miejsce na serwerze (jeśli korzystasz z usług mapowania, sprawdź ceny MapBox i ceny CartoDB miesięcznie). Ostatecznie wiedza na temat tworzenia stron internetowych będzie bardzo ważna przy tworzeniu mapy.


2

Istnieje kilka bibliotek mapowania, których możesz użyć.

Pierwszym (i prawdopodobnie najbardziej znanym) byłby Google Maps API , jednak myślę, że może to być dość skomplikowane, jeśli jesteś stosunkowo nowy w mapowaniu internetowym.

Proponuję rzucić okiem na Leaflet.js lub Mapbox.js . Mapbox.js został zbudowany z myślą o Ulotce, a Mapbox zawiera kilka świetnych samouczków na temat różnych zadań, które można wykonać za pomocą Mapbox.js. Ulotka zawiera również przykłady i zasoby .

Oto konkretne linki do przykładów, które powinny poprowadzić Cię we właściwym kierunku.




-3

Możesz użyć serwera map UMN. Tam możesz używać skryptów PHP (nazywa się to skryptami map). Jest to oparte na serwerze Apache. Jeśli potrzebujesz bazy danych, możesz użyć MySQL z rozszerzeniami przestrzennymi lub PostgreSQL z postGIS ...

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.