Як почати веб-картографування?


83

Я хочу розпочати роботу над веб-картою, щоб скласти частину нашої статистики за містами.

У мене є ідея, але я не зовсім впевнений, з чого почати.

Чи є якісь остаточні ресурси, які дають покрокові вказівки, як це зробити?

Відповіді:


94

Це запитання було перетворено на Wiki Wiki спільноти та вікі заблоковано, оскільки це приклад запитання, що шукає список відповідей і, здається, є досить популярним, щоб захистити його від закриття. Це слід розглядати як окремий випадок і не слід розглядати як тип запитання, який рекомендується в цьому або будь-якому веб-сайті Stack Exchange, але якщо ви хочете внести до нього більше контенту, тоді не соромтеся, редагуючи цю відповідь. .


Ви можете вибрати між рішеннями з компонентом сервера карт або без. Серверні рішення, звичайно, підтримують більше даних та більш досконалі програми.

Якщо ви знаєте, що QGIS хоче створити одноразові візуалізації даних, я рекомендую QGIS2Leaf або експортувати до OpenLayers 3, які є обома плагінами для QGIS, які дозволяють експортувати шари на веб-карту. Оновлення (на основі коментаря Тома Чадвіна): qgis2leaf та qgis-ol3 тепер об'єднані в qgis2web .

Середній шлях варіант QGIS Хмара , опція пройшла QGIS сервера: Ви просто підготувати проект на місцевому рівні , а потім опублікувати його в Інтернеті , де ви знайдете його в готовому глядача. У них є безкоштовні акаунти до певного розміру даних. Тож вам не потрібен власний сервер, якщо це проблема для вас.

Якщо ви хочете запустити власний сервер з відкритим кодом , ви можете почати з цього вступу до геосервера з минулорічного FOSS4G: http://workshops.opengeo.org/geoserver-intro/ . Задіяні інструменти, як правило, Geoserver, PostGIS і OpenLayers. Стартові витрати - це ваш робочий час плюс хостинг.

Важко оцінити час на розгортання, не знаючи ваших випадків використання.


7
qgis2leaf та експорт у OpenLayers 3 тепер об’єдналися в qgis2web.
Том Чадвін

Хороший момент про qgis2web. Я автор відео-курсу, який навчає ГІС з нуля та як будувати веб-карти за допомогою qgis2web: udemy.com/gis-for-everyone/?couponCode=stackgis1
multigoodverse

Навіщо переходити через ГІС? Він міг перейти безпосередньо з бази даних до Leaflet.
Fjellrev

@Fjellrev Як? Запит на вилучення як GeoJSON? Я б заперечив, що складніше, ніж використовувати ГІС.
Том Чадвін

Ви можете вивчити GeoGATE посилання , GeoGATE чудовий із PostGIS та Geoserver і включає сотні готових інструментів, які ви можете налаштувати через зручну панель управління зі своїми даними
Hani Draidi

41

У штаті Пенн є клас відкритого веб-картографування . Це повинно бути достатньо, щоб навчити вас працювати з веб-картою, а також із залученими технологіями. Більшість, якщо не всі, інструменти, які використовуються в класі, безкоштовні, тому вартість їх не повинна бути проблемою. Ось TOC:

Урок 0: Орієнтація

Урок 1: Вступ до відкритого веб-мапінгу

Урок 2: Сервери веб-карт (WMS)

Урок 3: Сервери веб-функцій (WFS)

Урок 4: Розширювана мова розмітки (XML)

Урок 5: Розширені сервери веб-карт

Урок 6: Мова географічної розмітки (GML)

Урок 7: Переглянуто WFS

Урок 8: Створення веб-додатка для картографування

Урок 9: Створення тонкого клієнтського веб-картографічного клієнта

Приємно :)


40

Google Fusion Tables виглядає перспективно з картографуванням та просторовими запитами

плюси: простий в налаштуванні

мінуси: всі ваші дані знаходяться на серверах google (добре? чи погано?)

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

введіть тут опис зображення

Примітка. Багато медіа / новинних компаній використовують це - Приклад газети Guardian UK http://www.guardian.co.uk/environment/datablog/interactive/2011/mar/07/carbon-emissions-public-buildings-map

Зараз створено акуратний майстер Fusion, щоб швидше налаштувати http://gmaps-samples.googlecode.com/svn/trunk/fusiontables/fusiontableslayer_builder.html

Приклади: http://www.latimes.com/news/local/la-me-us-congress-census-map,0,4500533.htmlсторінка

Один з найкращих: http://tinyurl.com/England-Deprivation-Mapped


1
Чи Google Mymaps є реалізацією таблиць Google Fusion Tables? Схоже, це аналогічно, оскільки MyMaps базується на веб-переглядачах, але Fusion Tables - на сервері.
sabre23t

40

Є так багато варіантів там і вже багато чудових відповідей. Два мої улюблені варіанти, які ще не були перераховані тут, - це CartoDB і MapBox . Обидва вони надають веб-хостинг та візуалізацію даних та деякі дуже вигадливі інструменти, ціни починаються БЕЗКОШТОВНО.

Ви зможете отримати програмне забезпечення для настільних ПК для налаштування даних. ArcMap та Quantum GIS - це чудовий вибір для настільної частини.

Я б сказав, що сила MapBox створює красиві веб-карти з дійсно чудовими, простими у використанні шаблонами та готовими до роботи елементами інтерфейсу користувача . MapBox вимагає настільної програми під назвою TileMill (також безкоштовно), яка використовує інтерфейс для стилів дуже схожий на CSS.

Сила CartoDB полягає в тому, що він відкриває свої корені PostGIS через API SQL.

І те і інше можна використовувати самостійно або в поєднанні з іншими бібліотеками відображення javascript (наприклад, Leaflet , Google Maps , OpenLayers ).

Незалежно від того, які платформи ви вирішили почати використовувати, щоб потрапити на веб-карти, ви, безумовно, отримаєте користь від вивчення деяких javascript. Codecademy - чудове місце для початку (також БЕЗКОШТОВНО !!).



2
Ключовим моментом для розуміння MapBox та CartoDB є ціноутворення (перегляди карти, кількість даних) та кількість даних, які ви відображаєте. CartoDB робить більші набори даних простішими в управлінні, тоді як я б запропонував MapBox для менших проектів. Листовка - це найлегша і найпростіша в навчанні бібліотека JavaScript-карти.
Зак

37

Я також щойно відвідував конференцію, де вони презентували OpenGeo Suite , який є стеком OpenLayers, GeoServer, GeoExt і PostGIS. Вони пропонують як "Enterprise Edition" (платну версію з підтримкою), так і " Community Edition " (безкоштовну) версію. (Оновлення) Suite OpenGeo тепер безмежний.

Ще одним пакетом, який було продемонстровано на конференції, був GeoMoose , що є стеком MapServer та OpenLayers.

Ви можете розглянути можливість завантаження OSGEO Live DVD , який можна запустити у віртуальній машинній обстановці, якщо ви не хочете встановлювати на своєму пристрої купу речей під час тестування. Він поставляється заздалегідь упакованим з безліччю різних програмних пакетів GIS з відкритим кодом, включаючи інструменти веб-картографування.


29

Редагувати

Через популярність цього питання та відповідей я додаю редагування деякого вмісту в цій публікації через зміни постачальників та API протягом останніх кількох місяців.


Вибір API пов'язаний із сферою та метою вашого проекту, не кажучи вже про ваш бюджет, якщо ви насправді хочете використовувати певну функціональність. Інший головний застереження - це ваш досвід розробки веб-сторінок, і якою мовою ви надаєте перевагу чи цікавитесь.

Я думаю, що найкращий спосіб відповісти на ваше запитання - надати приємний перелік доступних вам API. Ось три, які приходять на думку. Це аж ніяк не всі!

ArcGIS

API:

Плюси:

  • Web AppBuilder зробив створення веб - картографічні програми дуже простий для тих , хто не дуже добре розбирається в веб - розробці
  • Прості у використанні розробники додатків ( Flex , Silverlight та JavaScript , просто пам’ятайте про плани припинення роботи)
  • Широкі Інтернет-форуми ( безліч обмінних повідомлень про стеки )
  • Завдяки безлічі рішень, доступних в стеку ArcGIS, які вимагають майже ніякої роботи з розробки, ArcGIS також може бути хорошим вибором для своєчасного розгортання рішень.
  • Репозиторії GitHub для багатьох рішень

Мінуси:

  • Ціна (не для використання API, але більше того, якщо ви хочете опублікувати власні дані, також див. ArcGIS Online )
  • Налаштування коду програми може бути громіздким

Підсумок:

ArcGIS має багато що запропонувати для веб-продуктів GIS та має багато ресурсів, які допоможуть вам на цьому шляху. Просто пам’ятайте про можливі витрати, з якими ви стикаєтесь, бажаючи опублікувати власні дані.

Google

API:

  • JavaScript
  • Мобільний (Android, iOS)

Плюси:

  • На сьогоднішній день найвідоміше ім'я в веб-картах
  • Розширений JavaScript API
  • Багато онлайн-зразків
  • Нещодавно Google випустила їх ціноутворення та плани , що є великою розбиткою пропонованих послуг

Мінуси:

Підсумок:

Google має сильне ім'я на ринку та досить надійні онлайн-сервіси. Просто не забудьте зрозуміти всі сторони їх використання, тому ви не наступаєте на будь-які законні ноги. Нова сторінка з ціноутворенням та планами дуже корисна в цьому плані.

Відкрите джерело

API (усі на основі JavaScript):

Плюси:

Мінуси:

  • Офіційна підтримка не настільки добре відома, Але залучена громада є більш ніж корисною (можливо, навіть кращою, ніж комерційна підтримка ГІС)

Підсумок:

Open Source - це справді чудовий варіант для тих, хто хоче перевірити води веб-ГІС. Завдяки змінам та вдосконаленням, які щодня здійснюються в громаді, відкритий код може стати недорогим способом вирішення ваших геопросторових потреб.


Як я вже говорив, це не всі варіанти вашого вибору, але принаймні зараз є публікація із посиланнями на себе та інших, щоб ознайомитись з деякими з основних гравців у світі веб-ГІС.


Гарний коментар! Ви хочете оновити його?
Fjellrev

@Fjellrev - Я, безумовно, можу оновити публікацію, якщо у вас є пропозиція або я можу дати певні вказівки щодо того, що публікація відсутня. Якщо бути чесним, то я в основному зосереджувався на технології Esri протягом останніх кількох років, що я навіть не знаю багатьох оновлень, які відбулися в цьому просторі. Зрештою, я все ще відчуваю, що вищевказаний контент згадує важких нападників у просторі та надає посилання на поточну інформацію для кожного. Знову ж таки, якщо у вас є якісь пропозиції, я з радістю додаю їх до тих пір, поки вони впишуться в тему.
evv_gis

25

Схоже, ви отримали відповіді з відкритим кодом у запитанні вище. Якщо у вашої компанії є бюджет, ESRI може бути дуже хорошим варіантом. Для уточнення, API-інтерфейси веб-сторінок самі по собі вільні у використанні, однак запуск сервера ArcGIS та SDE обійдеться вам у гроші. Крім того, програмне забезпечення для настільних ПК буде потрібно для створення сервісів карт, які використовуватимуться в додатку веб-картографування. Якщо ви вже маєте доступ до цих ресурсів або можете їх придбати, я б напевно рекомендував вивчити рішення ESRI.

Одна з переваг тут полягає в тому, що ви можете кодувати різними мовами. Існують специфічні для ESRI API для Flex та Silverlight:

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

В даний час здається, що тенденція у веб-програмуванні відходить від рішень, які потребують плагінів і мають специфіку для постачальника (вище), і до більш відкритих програм та на основі стандартів. ESRI має це покриття API Javascript:

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

Якщо ви подивитеся на ці веб-сайти API, документація є дуже хорошою. Крім того, форуми доступні для допомоги громаді щодо конкретних проблем. Технічна підтримка через ESRI також дуже хороша. Отже, це зводиться до ціни та ресурсів, якщо у вас вже є ці програми або є бюджет, це відмінний шлях, якщо не вищезгадані рішення з відкритим кодом, варто розглянути.


4
Після того, як ця відповідь була опублікована, Esri випустила ArcGIS Online , що потенційно усуває потребу в локальних серверах ArcGIS та SDE. Для початку роботи доступні безкоштовні плани для розробників
Stephen Lead

20

Якщо ви хочете просто прообразувати щось для дослідження життєздатності, щоб показати своєму начальнику, що я повинен був зробити рік або близько того, тоді я б рекомендував Geoserver завдяки своєму зручному веб-інтерфейсу, який підтримували деякі прості форми. Для інтернету OpenLayers - це фантастичний вибір з великою кількістю зразків на веб-сайті. Я ніяким чином не веб-програміст, але я виявив, що копіювати / вставляти / налаштовувати зразки javascript вітер. Я поміщаю все це у VirtualBox VM, щоб тримати це все в одному місці і не порушувати моє звичайне середовище розробників, використовуючи пакети з репозиторію UbuntuGIS.

Для виробництва є ціла кількість речей, які залежать від вашої потреби використання. Для мене я врешті-решт поїхав із Mapserver, оскільки він не такий роздутий, як Geoserver, який працює як швидкий cgi-процес на web-сервері lighttpd. Нам знадобився WFS-T (який Geoserver підтримує поза коробкою), але Mapserver цього не робить, тому ми використовували tinyows. Ми також обслуговуємо покриття (WCS), які підтримує Mapserver, і ми хочемо інтегрувати Rasdaman для його підтримки WCS-T. Це все підкріплено базою даних PostGIS.

Я рекомендую розбити свою програму на задній, середній та передній, а також прочитати плюси та мінуси кожної програми. Для кожного шару може бути лише кілька рішень, але це збільшується комбінаторно.

Я вважаю, що ESRI робить продукти здатними робити все це, але це коштуватиме. Якщо ваш час переважає, то комерційний маршрут може бути дорогою, але маршрут з відкритим кодом прямує в дуже захоплюючих напрямках, і я підозрюю, що врешті-решт перевершить все, що ESRI може придумати. Але тоді я є упередженим фаном FOSS :)


2
Погляньте на P.Mapper ( pmapper.net ) та GeoMoose ( geomoose.org ), вони досить "легко" налаштуватись із власними даними, ви можете це зробити у вікні Windows з MS4W, а потім, по мірі просування, ви можете звернутися до налаштування Linux. У мене є контур початкових кроків для p.mapper, але це є на іспанській мові, якщо ви зацікавлені.
jdeltoro1973

18

Ви можете подивитися на MangoMap www.mangomap.com .

Ви повинні мати можливість створити потрібну карту за допомогою доступних інструментів.

Він розміщений та безкоштовний, тому для розгортання потрібно дуже мало часу та зусиль.


14

Для особливостей, які ви пропонуєте, я би переглянув, що є найпростішим уперед та найпростішим для встановлення стеком, що відповідає вашим потребам. Програмне забезпечення "Ви можете швидко, потужно або дешево. Виберіть два". Виразно стосується тут.

Якщо ви лише плануєте виконувати прості запити, такі як ідентифікація функцій, то потужність PostGIS, ймовірно, надмірна. Набагато простіше просто завантажувати форми файлів у сховище даних безпосередньо в GeoServer.

OpenLayers ще раз чудовий і має безліч функціональних можливостей, таких як підтримка систем координат, крім WGS84 та Web Mercator, але якщо ви не збираєтеся використовувати цю функціональність, то я би поглянув на Leaflet , на моєму досвіді це набагато менше крута крива навчання для нових користувачів.

Крім того, якщо у вас немає вимоги, яка говорить про те, що вам потрібно розмістити додаток на власному сервері, тоді ви можете ознайомитись з деякими розміщеними варіантами, оскільки ви отримаєте набагато більше часу з часу інвестування. Використовуючи MangoMap або GeoCommons, ви, швидше за все, отримаєте чудову карту для своїх користувачів, не вписуючи жодного рядка коду.

Якщо це проект, де ви хочете написати якийсь код, то ви також можете подивитися на CartoDB та MapBox . Якщо ви хочете дізнатися більше про всі ці розміщені платформи, я написав безкоштовну електронну книгу на цю тему, яка містить усі деталі, які вам потрібно вибрати.

Розкриття інформації : Я Засновник MangoMap


ваше безкоштовне посилання на електронну книгу порушено, тому що domaine nee продається. Чи можете ви відредагувати та змінити посилання на Dropbox або інший веб-сайт?
GeoStoneMarten

13

Є багато місць для початку при розробці веб-карти.

Якщо у вас є досвід веб-розробника, слід почати з дослідження різних доступних вам сервісів, які дозволяють публікувати карту в Інтернеті. На цьому веб-сайті є відповіді на інші запитання, які дадуть вам корисну інформацію про відмінності між доступними платформами.

Якщо ви починаєте свіжий і не хочете брати участь у певній платформі, тоді зверніться до своїх бізнес-вимог. Як ви збираєтеся малювати свої дані на карті? Як будуть оновлюватися дані? Хто збирається використовувати цей сайт? Що вони з цим робитимуть? Прийняття цих рішень рано допоможе вам зібрати твори або зробити вибір, який підтримуватиме розширення до досягнення мети.

Щодо вартості ... Я вважаю за краще запозичити сучасне прислів’я: "Гарне, швидке, дешеве. Підберіть два". Він формально визначений як Трикутник управління проектами , який описує баланс між вартістю, плануванням та обсягом для досягнення якості.


12

Я теж нещодавно розпочав мандрівку веб-картою після багатьох років більше на базі даних речей.

Що мені справді допомогло - це вивчити основні принципи програмування, використовуючи MapBasic для MapInfo (або я припускаю, що Python для натовпу esri) насправді допоміг мені зрозуміти, як комп'ютери "думають".

Звідси CodeAcademy був знахідкою. Це дійсно цікавий та інтуїтивно зрозумілий спосіб навчання програмуванню. Це може перенести вас із прикладів "Hello World" аж до повністю функціональних та інтерактивних програм. Крива навчання поступова і розуміє, що деякі люди обдаровані цим предметом, а інші (як я).

Другим порадою буде встановити GeoServer і переглянути демо-запити, щоб побачити, як структуруються веб-сервіси та як вони працюють. Погляньте на попередній перегляд шарів, щоб побачити, як Javascript та HTML працюють разом. Ви можете буквально скопіювати код попереднього перегляду шару (переглянути джерело сторінки), зберегти його десь і почати майструвати.

W3 школи - є інтерактивні приклади, з якими можна грати та адаптувати до нового коду. Якщо ви вирішили вибрати JavaScript, JS Fiddle також дуже хороший.


11

Якщо ви Java-програміст, погляньте на Geomajas .

Є архетип Maven, який дозволяє розпочати роботу за лічені хвилини ( див. Тут ). Потім можна додати додаткові шари тощо.


Розробники GIS, здається, такі великі шанувальники JavaScript, що майже унікальним є пошук веб-додатків на базі Java.
Ахелое

9

Ви можете використовувати OpenLayers для клієнта. Він стабільний, простий і мав багато прикладів того, як використовувати WFS (у вашому випадку для підключення до PostgreSQL) тощо. Геосервер, OSM використовує його для цілей візуалізації.

Ви також можете подивитися на GeoExt, який надає віджет extJS для складання карт. Знову geoext використовує OpenLayers для візуалізації карт.

Існує також база на основі PHP, яка використовує MapServer (OpenLayers вже підтримує), такі як GeoMoose , CartoWeb тощо.

Я голосую за OpenLayers, оскільки ви можете визначитися з усім дизайном веб-сторінки на відміну від PHP-фреймворку, що працює на вкладках MapScript, які мають шаблон за замовчуванням, і мені було нелегко керувати такою великою базою коду.


8

Три навички, необхідні для більшості будь-якої веб-розробки, включаючи веб-картографування, - це html, css та javascript. Ресурсів для вивчення цих мов є достатньо. Тема, з чого почати вивчати, як розробляти програми для веб-картографічних досліджень, досить добре висвітлена в питанні обміну стеками GIS Як почати веб-картографування?

Один з ресурсів для розробки програм веб-картографування, якщо у вас обмежений досвід програмування, - це mapbox . Ви можете створювати веб-карти без будь-якого кодування, хоча, я думаю, було б складно створити веб-карту настільки складною та інтерактивною, як та, яку ви використовуєте у своєму прикладі, не використовуючи мову сценаріїв, наприклад, JavaScript або python.


7

Я використовую листовки, і я думаю, що це дуже просто. Він заснований на JavaScript і може малювати функції, використовуючи різні джерела даних. В основному, ви вставляєте код карти у файл .html, а потім переглядаєте файл. Я не можу коментувати інші API, але я вважаю, що Google досить простий, як і Openlayers.

Також є такі сервіси, як MapBox, які не вимагають розміщення html-файлу, а просто завантажують у них свої дані.


6

Я думаю, що найпростіший спосіб перейти з плагіном qgis + qgis2leaflet. Ви можете редагувати все, що завгодно у qgis, ніж експортувати листівку та завантажувати на свій веб-сервер. Або якщо ви виберете більш цікавий спосіб, ніж:

  1. настільний gis: qgis
  2. адміністратор бази даних: navicat
  3. веб-сервер: базовий VPS
  4. пакунок webgis: безмежний геосуряд (містить: postgresql / postgis, геосервер та геоексплорер)

Замість геоексплорера я б використовував листівковий javascript, тому що він виглядає приємніше і працює більш гладко ... але потрібно скопіювати час, щоб скопіювати / вставити якийсь код. ось приклад: http://gis.xyz


5

Що важливо відзначити, це те, що Web-Gis - це величезна сфера, і вже було зроблено багато роботи над декількома проектами та бібліотеками, щоб допомогти в цьому. Тож нам потрібно побачити, чи є щось, що ви можете повторно використовувати, а не починати з нуля.

Погана новина полягає в тому, що в php не існує популярної бібліотеки / програми для веб-відображення. Хороша новина полягає в тому, що він вам може не знадобиться.

Я рекомендую спершу спробувати зрозуміти WebMapping та зрозуміти проекти та бібліотеки, які вже є. Для цього ви можете звернутися до цих питань:

Після того, як ви зрозумієте доступні варіанти, вам слід уточнити свої вимоги. Дивлячись на своє запитання, у вас є дуже основні вимоги: Показати посилки на карті Дозволити для запитів, Отримати атрибути для посилок та показати їх користувачеві, або за результатами Запиту, або коли Користувач натискає на нього.

Така робота можлива за допомогою Карт Google, але я б не рекомендував її, оскільки API Карт Google не дуже сильно працювати, коли у вас є велика кількість даних.

Я б замість цього запропонував би скористатися рішенням Geoserver / OpenLayers за умови, що ви можете працювати з JavaScript. Можливо, вам навіть не знадобиться жоден php-код, якщо ваші дані є в атрибутах функцій.


Мені добре з JQuery та іншими бібліотеками Jscript, і раніше я торкнувся ExtJS. Одне запитання: як намалювати мої області на карті і як експортувати це у db? Чи потрібно повністю залежати від того, що карта має, або це дозволяє мені малювати на ній? Як це досягається?
Черчілль

Якщо у вас є дані про посилки, можливо, у форматі файлів чи інших форматах, ви можете відображати їх як шар wms поверх Google Maps / інших базових карт. Цей шар WMS може обслуговуватися Geoserver / mapserver. Крім того, ви завжди можете малювати нові функції, використовуючи векторні шари.
Devdatta Tengshe

5

Приємною легкою альтернативою OpenLayers, яка є великою популярною бібліотекою javascript для веб-картування, є Leaflet .

Я використовую Leaflet з GeoServer, щоб зробити кілька приємних карт, включаючи деяку інтерактивність. Це вимагає спеціального кодування, але не багато, і це набагато простіше у використанні, ніж OpenLayers.


5

Перш ніж приймати рішення між Leaflet та OpenLayers, можливо, варто ознайомитись з майбутньою версією, яка обіцяє очищений API та кращу документацію:

OpenLayers 3 - це всебічне перезапис бібліотеки, націлене на новітні функції HTML5 та CSS3. Бібліотека надалі матиме широку підтримку проекцій, стандартних протоколів та функцій редагування від OpenLayers 2.x. Нова версія бібліотеки буде зосереджена на покращенні продуктивності, легшій збірці, красивіших візуальних компонентах, поліпшеному API та ін. Деякі основні моменти:

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

Нова база даних коду. Це дає можливість очистити деякі "незграбні" способи ведення справ у OpenLayers. Команда також створить нові дизайни API, які будуть більш доступними для всіх.

Документація високої якості: Новий випуск також міститиме документацію зі свіжими прикладами та дизайном за замовчуванням у OpenLayers 3.0. Створення набору інструментів - це більше, ніж власне код.

http://openlayers.org/


5

Я б почав з API Карт Google . З ним безкоштовно і легко працювати. Він використовує Javascript, який можна дізнатися за допомогою ряду хороших ресурсів. Я б рекомендував Codecademy, якщо ви новачок у JS.

Існує багато безкоштовних джерел даних, які можна включити в Карти Google різними способами (KML, база даних, GeoRSS тощо). У більшості штатів та багатьох університетів є безкоштовні сховища даних, які можна включити у вашу карту.

Один з моїх улюблених сайтів для прикладів Google Maps - Google Maps Mania . Є чудові приклади карт, які демонструють, що можливо в цьому API.


5

GeoPHP, можливо, варто подивитися.

GeoPHP - це рідна бібліотека PHP з відкритим кодом для виконання геометричних операцій. Він повністю написаний на PHP і тому може працювати на спільних хостах. Він може читати та записувати найрізноманітніші формати: WKT (включаючи EWKT), WKB (включаючи EWKB), GeoJSON, KML, GPX, GeoRSS. Він працює з усіма простими геометричними елементами (Point, LineString, Polygon, GeometryCollection тощо) і може використовуватися для отримання центроїдів, обмежувальних коробок, площі та широкої різноманітності іншої корисної інформації.

І ви можете взяти його за виїмку з розширенням GEOS (якщо у вас є права адміністратора для встановлення GEOS).

За допомогою GEOS ви отримуєте повний набір функцій openGIS в PHP, таких як Union, IsWithin, Touches і т. Д. Це означає, що програми отримують корисний «основний набір» операцій з геометрії, які працюють у будь-яких середовищах, і «розширений набір» операції для середовищ, на яких встановлений GEOS.


4

Ну, користувацький скрипт PHP може бути більш надійним (і простим) рішенням. Зрештою, просторові дані - це лише рядки в базі даних, і їх можна запитувати, як зазвичай. Немає необхідності у важкому серверному програмному забезпеченні GIS та / або жахливому синтаксисі фільтру OGC. Якби я був у вашому взутті, я б зберігав дані в базі даних PostgreSQL з розширенням PostGIS, писав PHP бек-енд, щоб запитувати базу даних і отримувати дані у форматі GeoJSON (дивіться цю суть ), і веб-додаток на основі інтерфейсу OpenLayers - це більш гнучко, ніж API Карт Google, але ви все одно можете базувати основні карти Google.


Незважаючи на те, що цей метод працюватиме, він буде млявим і важким, коли буде мати велику кількість даних, як посилки для округу / округу.
Devdatta Tengshe

3

Допомогу щодо вибору альтернативних запитань ArcGIS Інтернет та Які книги, журнали, електронні ресурси є найціннішими для розширення знань про географічну інформацію? питання до навчальних ресурсів.

Витрати на веб-картографування включають хостинг (оплата веб-сайту) та простір для зберігання сервера (якщо ви використовуєте послуги картографування, перегляньте ціни на MapBox та ціни на CartoDB на місяць). Зрештою, знання веб-розробок буде дуже важливим для створення вашої карти.


2

Ну, є кілька бібліотек відображення, якими ви можете скористатися.

Перший (і, мабуть, найвідоміший) - API Google Maps , проте, я думаю, це може бути досить складно, якщо ви відносно новачок у веб-картах.

Я б запропонував переглянути Leaflet.js або Mapbox.js . Mapbox.js був створений з урахуванням Leaflet, і Mapbox має чудові підручники з різних завдань, які ви можете виконати з Mapbox.js. У листівці також є кілька прикладів та ресурсів .

Ось конкретні посилання на приклади, які повинні допомогти вести вас у правильному напрямку.


2

Якщо вам потрібна карта, яку ви натискаєте на країну, і зображення, що спливе, ви можете переглянути приклад Mapbox для посилання на зовнішні дані

Ви можете дізнатися, як взаємодіє код у проекті JSFiddle для проекту

Якщо вам потрібна додаткова документація про Mapbox, ви можете прочитати їх посібники Mapbox або трохи пізніше зануритися в код за допомогою розділу Приклади


2

Я - новий веб-розробник, і його віднесли до візуалізації даних Скотта Мюррея для Інтернету . Його електронну книгу можна прочитати тут: http://chimera.labs.oreilly.com/books/1230000000345/ безкоштовно. Це для "некодерів", надзвичайно інформативний і має безліч практичних прикладів.


-3

Ви можете використовувати сервер UMN Map. Там ви можете використовувати скрипти PHP (називається сценаріями карти). Це засновано на сервері Apache. Якщо вам потрібна база даних, ви можете використовувати або MySQL з просторовими розширеннями, або PostgreSQL з postGIS ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.