Take Control of Your Maps – создание онлайн-карт

Снимок экрана 2013-04-11 в 15.17.28
В ста­тье «Take Control of Your Maps» рас­смат­ри­ва­ет­ся то, как мож­но созда­вать кар­ты для сво­их сай­тов и при­ло­же­ний и поче­му может воз­ник­нуть необ­хо­ди­мость это делать.

Онлайн-кар­ты – неотъ­ем­ле­мая состав­ля­ю­щая мно­гих сер­ви­сов, кото­ры­ми мы поль­зу­ем­ся. Мож­но ска­зать, что мы живем в эпо­ху Google Maps, кото­рый, бла­го­да­ря подроб­ной доку­мен­та­ции и воз­мож­но­сти исполь­зо­ва­ния API, стал про­стым и удоб­ным инстру­мен­том как для дизай­не­ров, так и для раз­ра­бот­чи­ков, в тех слу­ча­ях, когда необ­хо­ди­мо доба­вить геопро­стран­ствен­ную инфор­ма­цию на сайт или при­ло­же­ние.

С рас­ту­щи­ми тре­бо­ва­ни­я­ми к гео­гра­фи­че­ским при­ло­же­ни­ям ста­но­вит­ся необ­хо­ди­мым боль­ший кон­троль и функ­ци­о­наль­ность кар­то­гра­фи­че­ских эле­мен­тов. В ста­тье «Take Control of Your Maps» рас­смат­ри­ва­ет­ся воз­мож­ность созда­ния и исполь­зо­ва­ния аль­тер­на­тив­ных кар­то­гра­фи­че­ских карт с откры­тым исход­ным кодом.

Google Maps – это лучшее?

Google Maps – это хоро­ший и функ­ци­о­наль­ный инстру­мент. Поче­му же, в таком слу­чае, может воз­ник­нуть жела­ние поль­зо­вать­ся дру­гим сер­ви­сом?

Ответ заклю­ча­ет­ся в том, что раз­ра­бот­чик, кон­тро­ли­ру­ю­щий все аспек­ты сай­та или при­ло­же­ния – от типо­гра­фи­ки до дизай­на интер­фей­са, – не хочет видеть в цен­тре все­го это­го чуже­род­ный некон­тро­ли­ру­е­мый эле­мент, кото­рым явля­ет­ся Google Maps. Без­услов­но, Google Maps допус­ка­ет неко­то­рое редак­ти­ро­ва­ние, но саму кар­ту поме­нять нель­зя.

Если не Google Maps, тогда что?

Осо­зна­вать, что Google Maps не дает необ­хо­ди­мой сте­пе­ни кон­тро­ля в дизайне и раз­ра­бот­ке карт, – это одно, а заме­нять Google Maps создан­ной самим кар­той – это дру­гое. Созда­ние сво­ей кар­ты тре­бу­ет пони­ма­ния про­цес­са и инстру­мен­тов.

Ключ к пони­ма­нию – кар­то­гра­фи­че­ская архи­тек­ту­ра, кото­рая при­во­дит к тому виду кар­ты в бра­у­зе­ре, к кото­ро­му мы все при­вык­ли.

Browser UI – поль­зо­ва­те­ли вза­и­мо­дей­ству­ют с кар­той через интер­фейс в бра­у­зе­ре, как пра­ви­ло через JavaScript или Flash. OpenLayers – это один из при­ме­ров интер­фей­са для карт, напи­сан­но­го на JavaScript.

Tile cache – сер­вер, рас­по­ло­жен­ный меж­ду бра­у­зе­ром и сер­ве­ром карт и обра­ба­ты­ва­ю­щий запро­сы поль­зо­ва­те­лей к кар­те. Tile cache про­ве­ря­ет, не был ли уже сге­не­ри­ро­ван запро­шен­ный уча­сток кар­ты – в таком слу­чае он обр­ща­ет­ся к кэшу, а не гене­ри­ру­ет кар­ту зано­во, что поз­во­ля­ет опе­ра­тив­но отве­чать на поль­зо­ва­тель­ские запро­сы. Один из таких сер­ве­ров – TileCache.

Map Server – это при­ло­же­ние, созда­ю­щи­ее из геопро­стран­ствен­ных дан­ных их гра­фи­че­ское отоб­ра­же­ние. Фак­ти­че­ски, это то, с помо­щью чего мож­но кон­тро­ли­ро­вать внеш­ний вид кар­ты. Для рен­де­ра кра­си­вых карт мож­но вос­поль­зо­вать­ся инстру­мен­том Mapnik.

Geospatial data – это база дан­ных, опре­де­ля­ю­щая точ­ки, линии и поли­го­ны на кар­те, так­же как и такие аттри­бу­ты, как назы­ва­ния школ или рай­о­нов.

Создание карты

Таким обра­зом, кар­та состо­ит из пере­чис­лен­ных выше сло­ев. Для каж­до­го из слоя суще­ству­ет мно­го аль­тер­на­тив, и выбор инстру­мен­тов зави­сит от плат­фор­мы, име­ю­щих­ся геопро­стран­ствен­ных дан­ных, язы­ка про­грам­ми­ро­ва­ния и цели при­ло­же­ния. Тем не менее, мож­но выде­лить неко­то­рые общие сове­ты и прин­ци­пы в созда­нии карт.

В ста­тье пред­став­ле­ны общие сове­ты, кото­рые при­го­дят­ся тем, кто решил само­сто­я­тель­но создать кар­ту – от выбо­ра фор­ма­та хра­не­ния дан­ных до рас­ши­ре­ний, кото­рые могут помочь в про­цес­се раз­ра­бот­ки.