OSM本地数据库搭建Ubuntu环境.docx
- 文档编号:30207578
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:9
- 大小:78.27KB
OSM本地数据库搭建Ubuntu环境.docx
《OSM本地数据库搭建Ubuntu环境.docx》由会员分享,可在线阅读,更多相关《OSM本地数据库搭建Ubuntu环境.docx(9页珍藏版)》请在冰豆网上搜索。
OSM本地数据库搭建Ubuntu环境
BuildyourownOpenStreetMapServer-Ubuntu08.04HardyHeron
Submittedby rweait on Sat,01/19/2013-15:
07
Thisarticleisnowarchivedas Anupdated(2010)articleisbasedonUbuntu10.04LucidLynx
BuildyourownOpenStreetMapserver. Buildyourownwhat?
OpenStreetMapistheeditableWorldmapofeverything.ItistheWikipediaofmaps.Itistootheron-linemapsasWikipediaistoBritannica.Anditisawesomeineverypossibleway.
OpenStreetMapisamassiveprojectthatstartedas SteveCoast's,frame-breakingideain2004. IfImakeamapofmyneighborhoodandgiveitaway,andyoumakeamapofyourneighborhoodandgiveitaway,thenwebothhavebettermaps. AsofMarch2009thereareover100,000contributorsmakingmapsof theirneighborhoods andcontributingthemtothisWorldwideeffort.
OpenStreetMapmakesthedataandthesoftwareavailabletoyouwithFreeSoftwareandfreedatalicensessothatyoucanuse,learnfrom,teachwith,improveuponandsharewithotherswhatyougainfromOpenStreetMap.AndyoucanbuildyourownlocalcopyofOpenStreetMapforyourbusiness,school,communitygrouporpersonalinterests.
Theprojectoperatesonamassivescaleasthereisanincredibleamountofdata,thereismoredataeveryday,andtherearemorepeopleusingthedataeveryday.OpenStreetMaphastorunonseveralservers,includingahandfulofAPIserversandseparatedatabase,development,webandtileservers.ThisarticledoesnotcoverthecreationofacompleteOSMdatacentre.
Itdoescovercreatingasingle server fromatypicalPCcirca2006.TheseinstructionsbuildwhatOpenStreetMapcallsa tileserver.Thatis,acomputerthatusestheOSMdatasettocreatemapimagesthataresuitableforawebsite.NoteveryOpenStreetMapfunctionissupported,butyouwillbeabletocreatealocalmap,keepituptodateandcustomizeitforyourownpurposes.
Thekeycompromisethatisrequiredtobeabletobuildthissystemonanon-super-computeristhatwe'llonlybuildthemapforasmallpartoftheworld.
WhywouldIbuildmyown?
Whyindeed?
OpenStreetMap.orgisalreadyfreelyavailableontheinternet.Whynotjustusethat?
Youcanandyoushould.Eventuallyyoumaycomeupwithanidea.Youmightwanttomakethemapworkalittledifferentlyforyou.Youmightwantamapforaspecialpurpose.
Perhapsforcycling, http:
//www.opencyclemap.org/ OpenCycleMapisawonderfulexampleofwhatyoucandowiththetoolsanddataofOpenStreetMapcatalyzedbyanidea.Createdby AndyAllan andDaveStubbs,OpenCycleMapusesOpenStreetMapdata,thendisplaysitinawaythatisusefultocyclistswiththeemphasisplacedoncycletrails,bikeshopsandbikeparking.They'vealsoaddedelevationcontoursandhill-shadingascyclistscareabouthills.Sometimestheyarelookingforagoodchallengingclimb,andothertimestheyjustwanttogethomewiththegroceries.ThebrilliantworkoftheOpenCycleMapteamwasrecognizedwithaCommendationfromtheBritishCartographicSociety aswellastheprestigious LolcatofAwesomness fromtheOpenStreetMapcommunityatlarge.
Ormaybeyouneedtohaveaccesstoyoumapevenwhenyourinternetproviderisdown.Orwhenthepowerisoff.Orboth.Itwon'ttakemuchforyoutoseethebenefitofhavingyourownpieceofOpenStreetMapinfrastructure.Allyouneedtostartisanideaandthethirstforknowledge.
TherearealotofmovingpartstoOpenStreetMap.Ihopethatthesestepswillmakeiteasierforyoutogetyourfirstmapworking.ThisarticleisintendedtogetfrombareirontoaworkinglocalOpenStreetMaptileserver.ThisonewillcollectOpenStreetMapdataandallowyoutorenderthatdataintoimagessuitableforuseonawebsite.Futurearticleswillcoverhowtouseyournewserverandseveralcustomizationsthatyou'llwanttotry.
Let'sgetstarted,shallwe?
InstallUbuntuserver
IusedHardyHeron8.04LTSforthistutorial.ChoosetheLAMPserverandthesshserver.
This UbuntuHardyLAMPinstallationtutorial isagreatstartforsomebodywhohasn'tinstalledonebefore.
Browsetoitandget"ItWorks!
"fromapachetoknowthatyou'vegotitright.
Addsomegeneraltools
sudoapt-getinstallsubversionunzip
GettheData
Starttodownloadyourplanetfileorextract.It'sverybig.Plantouseanotherconsoleorscreentocontinuewhiledownloading.Downloadfromoneofthemirrorslikethisone,forafasterdownload.
wgethttp:
//ftp.heanet.ie/mirrors/openstreetmap.org/planet-latest.osm.bz2
Getbacktothedownloadtomorrow.We'vegotthingstodountilthen.
InstalltheDatabase
AWordAboutusername
Asasimplifyingassumption,thisarticlewillhaveyouinstallallofthetoolstoworkwiththesameuser.ThisuseristhesameuserfortheUbuntulogin.
SetupthedatabasetoholdyourcopyoftheOSMdata.We'llusepostgresqlwithPostGISextensionstomakethe geographic stuffeasier.
Firstweinstallthedependencies.
sudoapt-getinstallpostgresql-8.3-postgispostgresql-contrib-8.3
Itshouldrespondlikethis
Configuringpostgresql.conftouseport5432...
*StartingPostgreSQL8.3databaseserver
...done.
Settinguppostgresql-8.3-postgis(1.3.3-1)...
edit/etc/postgresql/8.3/main/postgresql.confinfourplaces.Thesechangeshelpwiththelargequantitiesofdatathatweareusing.
shared_buffers=128MB#16384for8.1andearlier
checkpoint_segments=20
maintenance_work_mem=256MB#256000for8.1andearlier
autovacuum=off
edit/etc/sysctl.conf
kernel.shmmax=268435456
RussNelsonandbalrog-k1nremindusthattheaboveonlytakeseffectafterareboot.Makingthisworkimmediatelyrequiresthefollowing.
sudosysctlkernel.shmmax=268435456
Disablethetwopg_maintenancetaskswhichwouldotherwisecausevacuumstointerruptourdatabaseloads.Wedon'twantloadingthedatabasetogetinterrupted.
crontab/etc/cron.d/postgresql-common
Adda # beforeeachlinetodisableit.
Reenablethemifyou'redoinganythingelsewithpostgres,orperformancewillslowlydegrade.
Restartpostgrestoenablethechanges
sudo/etc/init.d/postgresql-8.3restart
Itshouldrestartasabove.
Configuringpostgresql.conftouseport5432...
*StartingPostgreSQL8.3databaseserver
...done.
Settinguppostgresql-8.3-postgis(1.3.3-1)...
createthedatabase
Substituteyourusernamefor username intwoplacesbelow.Thisshouldbetheusernamethatwillrendermapswithmapnik.
sudo-upostgres-i
createuserusername#answeryesforsuperuser
createdb-EUTF8-Ousernamegis
createlangplpgsqlgis
exit
PostGIS
SetupPostGISonthepostresqldatabase.
psql-dgis-f/usr/share/postgresql-8.3-postgis/lwpostgis.sql
Thisshouldrespondwithmanylinesendingwith
...
CREATEFUNCTION
COMMIT
Substituteyourusernamefor username intwoplacesinthenextline.Thisshouldbetheusernamethatwillrendermapswithmapnik.
echo"ALTERTABLEgeometry_columnsOWNERTOusername;ALTERTABLEspatial_ref_sysOWNERTOusername;"|psql-dgis
#Shouldreplywith
ALTERTABLE
ALTERTABLE
Enableintarray
psqlgis
Replieswithmanylinesendingwith
CREATEFUNCTION
CREATEOPERATORCLASS
Mapnikfromsource
UseMapnikforrenderingprettymaps.We'lluseboththemapnik.orgprojectandsomeOpenStreetMap.orgmapnik-toolsandwe'llcallthemboth Mapnik atvarioustimesdependingoncontext.Sorryaboutthat.ThissectiondealswiththeMapnik.orgproject.
Installsomedependencies.
sudoapt-getinstalllibltdl3-devlibpng12-devlibtiff4-devlibicu-dev
sudoapt-getinstalllibboost-regex-devlibboost-iostreams-dev
sudoapt-getinstalllibboost-filesystem-devlibboost-thread-dev
sudoapt-getinstalllibboost-python1.34.1libboost-python-dev
sudoapt-getinstalllibfreetype6-devlibcairo2-devlibcairomm-1.0-dev
sudoapt-getinstalllibboost-program-options-devpython-cairo-dev
sudoapt-getinstalllibboost-serialization-dev
sudoapt-getinstallimagemagick
Getsomemoredependencies
sudoapt-getinstallbuild-essentiallibxml2-devlibgeos-devlibpq-devlibbz2-devproj
projaboveiscalledlibproj-develonOpenSuse-reportedbykWon#osm
Toavoidconfusion,we'llputtheMapnik.orgprojectsoftwarein~/src/mapnik,alsoknownas/home/username/src/mapnik
Getthesourcefromsvn
mkdirsrc
cdsrc
svncohttp:
//svn.mapnik.org/trunk/mapnik
cdmapnik
Configuremapnik
Note,Updated14Aug2009
Areyouhavingtroublewith ImportError:
Nomodulenamedmapnik afterupgradingtoJaunty?
HereisafixforImportError:
Nomodulenamedmapnik
pythonscons/scons.py
PleasenotethattheoptionalboostsystemisnotincludedinBoost1.34sotheBoostSystemwarningwillpersist.
Installmapnik
sudopythonscons/scons.pyinstall
Letpythonknowaboutmapnik
sudoldconfig
Installosm2pgsql
Getthelatestosm2pgsqlfromsvn.
svncohttp:
//svn.openstreetmap.org/applications/utils/export/osm2pgsql/
Shouldreplywithseverallinesandendwith
Checkedoutrevision14116.
Yourrevisionnumberwillvary.
Buildosm2pgsql
cdosm2pgsql
make
Thisshouldreturnwithoutwarningsorerrors.
SettheSpatialReferenceIdentifier(SRID)onthenewdatabase.
psql-f900913.sql-dgis
Shouldreplywith
INSERT01
OpenStreetMapMapnik-tools
Thisisthe other Mapnik.ThatistosaythatthesearethetoolsthatOpenStreetMapusestouseMapnikeffectively.Thesewillbekeptin~/mapnikalsoknownas/home/username/mapnik.
Getthelatestmapnikfromsvn.
cd~
svncohttp:
//svn.openstreetmap.org/applications/rendering/mapnik/
Let'smakesomeoceans
StephenWright oncesaid, It'sasmallWorldbutIwouldn'twanttopaintit. Ifeelthesameabouttheoutlinesofthecontinents.Iwouldn'twanttohavetowalkalongeachoftheedgesoftheEarthwithaGPS.OpenStreet
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OSM 本地 数据库 搭建 Ubuntu 环境