ฉันจะวาดและแสดงภาพแผนที่ที่กำหนดเองตามข้อมูล OSM ได้อย่างไร


35

ฉันต้องการที่จะใช้ข้อมูล openstreetmap สำหรับพื้นที่เฉพาะในฐานะแหล่งที่มาและ "ดึง" จากแผนที่การปรับปรุงโครงสร้างพื้นฐานซึ่งส่วนใหญ่เป็นถนน

ฉันต้องการให้โฮสต์โดยตัวเอง (ไม่ทำให้ข้อมูลบนเซิร์ฟเวอร์ OSM จริงเสียไป) ต้องการความยืดหยุ่นและระดับรายละเอียดที่ค่อนข้างใหญ่ในกระบวนการแก้ไขและมันก็ดีที่จะทำให้มันดูดี

ฉันไม่คุ้นเคยกับซอฟต์แวร์ GIS จำนวนมาก อันที่จริงมันไม่สำคัญที่จะมีข้อมูล OSM เป็นแหล่งที่มามันอาจเป็นภาพจากดาวเทียมเช่นกัน สิ่งสำคัญ - การวาดภาพที่มีความยืดหยุ่นผูกพันกับพิกัดจริงและการมองเห็นของแผนที่

ฉันจะเริ่มได้ที่ไหน

หวังว่าคำถามนี้สมเหตุสมผลที่นี่ :)


คุณกำลังมองหาแพลตฟอร์มอะไร คุณสามารถใช้ Google Maps เพื่อวาดรูปร่างได้หรือไม่?
Jared Updike

เมื่อวานคุณหมายถึงส่วนติดต่อ "แผนที่ของฉัน" ที่เรียบง่ายของ Google Maps หรือไม่? ไม่เพียงพอสำหรับฉัน :) ฉันต้องการรายละเอียดในระดับที่สูงกว่ามาก หรือคุณหมายถึงอย่างอื่น?
arconaut

คุณต้องการทำส่วนใดของโลก มีข้อมูลถนนจำนวนมากในโดเมนสาธารณะในบางส่วนของโลก
djq

คำตอบ:


16

ชนิดข้อมูล XML OpenStreetMap .osm สามารถแยกวิเคราะห์และแสดงผลในชุดซอฟต์แวร์จำนวนมาก สำหรับลิ้นชักกระเบื้องแผนที่แบบกำหนดเองที่ค่อนข้างครบกำหนดผมแนะนำ: http://tiledrawer.com --- ผลิตภัณฑ์ที่ใช้ EC2 ของ Amazon และโดย Michal Migurski - ผู้ให้คำแนะนำอื่น ๆ ในกระทู้นี้ :)

คุณอาจตรวจสอบ "สร้างเซิร์ฟเวอร์ OpenStreetMap ของคุณเอง" http://weait.com/content/build-your-own-openstreetmap-server ซึ่งใช้สแต็ก Ubuntu 10.04 / PostGIS / Mapnik

แน่นอนโปรดดูที่ใบอนุญาต OpenStreetMap ก่อนสร้าง http://wiki.openstreetmap.org/wiki/OpenStreetMap_License


ขอบคุณฉันเจอ TileDrawer ตัวเองครั้งเดียว แต่เมื่อฉันเข้าใจฉันต้องมีอินสแตนซ์ Amazon EC2 สำหรับสิ่งนั้น ฉันไม่ต้องการที่จะทำตอนนี้บางทีฉันแค่ขี้เกียจเกินไป :)
arconaut

ฉันได้อ่านแล้วว่าคุณสามารถเรียกใช้อิมเมจ EC2 บนเครื่องของคุณเองโดยใช้ VirtualBox
James

เว็บไซต์ของ Tiledrawer ถูกละทิ้ง Gitub repo ยังคงอยู่ที่นั่น แต่ก็ไม่ได้ใช้งาน: github.com/migurski/Tile-Drawer (ดูในOSM Wiki )
chrki

11

ฉันได้พบสิ่งที่ฉันต้องการ: Maperitive แอปพลิเคชันนี้สามารถโหลดข้อมูล OSM (* .osm สามารถบันทึกได้โดย JOSM fi) และแสดงภาพที่ดีตามกฎที่ยืดหยุ่นและปรับแต่งได้


ฉันพบว่า Maperitive แฮงค์ถ้าฉันพยายามโหลดไฟล์. osm.bz2 หรือแม้แต่ไฟล์. osm.pbf ไฟล์ที่ฉันได้ลองมีขนาดประมาณ 185MB ดังนั้นจึงไม่มีอะไรใกล้เคียงกับขนาดของไฟล์ planet.osm.bz2 (19GB!) ซึ่งฉันต้องการจริงๆ คุณโหลดไฟล์ได้อย่างไร?
Drew Noakes

ดึงฉันคิดว่าฉันลองแค่พื้นที่เล็ก ๆ
arconaut

Maperitive เป็นแหล่งข้อมูลปิดสร้างบน. Net ไม่สามารถใช้งานได้กับ linux แต่แน่นอนว่ามีข้อดีอย่างหนึ่งของ Mapnik: การออกแบบที่ง่ายขึ้น
Vanuan

3
ฉันแนะนำ TileMill เป็นทางเลือกโอเพนซอร์ซ
Vanuan

9

ความเป็นไปได้สองประการขึ้นอยู่กับจำนวนข้อมูล OSM ที่คุณต้องการแก้ไข

หนึ่งคือการโฮสต์เซิร์ฟเวอร์ OSM ของคุณเองพร้อมสำเนาของข้อมูลที่คุณสามารถแก้ไขได้อย่างอิสระ ซอฟต์แวร์สำหรับสิ่งนี้เรียกว่า "The Rails Port" สามารถพบได้ที่นี่: http://wiki.openstreetmap.org/wiki/The_Rails_Port

อีกวิธีหนึ่งคือใช้การทำแผนที่แบบเรียงต่อกันของ OSM เป็นพื้นหลังสำหรับข้อมูลของคุณเอง ฉันไม่มีคุณสมบัติที่จะตอบคำถามนี้ได้จริง แต่คุณอาจพบว่าเครื่องมืออย่าง QGIS (http://www.qgis.org) สามารถให้การติดตามรูปร่างใหม่โดยใช้แผนที่พื้นฐานของ OSM


8

การสร้างแผนที่แบ่งออกเป็นหลายขั้นตอน:

  • เข้า Geodata (ซึ่งเป็นจุดเส้นและรูปหลายเหลี่ยมที่มีแท็กที่เหมาะสม)
  • การจัดแต่งทรงผม (ระบุลักษณะที่ปรากฏบนแผนที่)
  • การแสดงผลเป็นภาพแรสเตอร์ (แปลง Geodata และสไตล์เป็นภาพโดยใช้ซอฟต์แวร์การแสดงผล)

คุณต้องการเครื่องมือที่ทำสิ่งที่แปลกสำหรับคุณที่อยู่เบื้องหลัง UI ที่ใช้งานง่าย แต่น่าเสียดายที่ไม่มีเครื่องมือดังกล่าว (หวังว่าจะมี) ดังนั้นคุณต้องเลือกเครื่องมือเฉพาะสำหรับแต่ละขั้นตอน

ฉันใช้ชุดเครื่องมือ / เวิร์กโฟลว์ต่อไปนี้:

เข้า / ดาวน์โหลดข้อมูลทางภูมิศาสตร์

  • โปรแกรมแก้ไข JOSM :
    • ดาวน์โหลดแผนที่จากเซิร์ฟเวอร์ osm
    • แก้ไขแผนที่
    • อัปโหลดการเปลี่ยนแปลงของคุณไปยังเซิร์ฟเวอร์ osm (ทำไมคุณไม่แชร์งานของคุณ?)
    • บันทึกแผนที่ลงในไฟล์ * .osm
  • PostGIS / osm2pgsql
    • อัพเดตไฟล์สไตล์การนำเข้าหากจำเป็น
    • นำเข้าแผนที่ไปยังเซิร์ฟเวอร์ภายใน

หากคุณไม่ต้องการแบ่งปันงานของคุณคุณสามารถตั้งค่าเซิร์ฟเวอร์ OSM ในพื้นที่และทำให้ JOSM ทำงานได้ (การบันทึกแผนที่ลงในไฟล์ * .osm และใช้ osm2pgsql โดยไม่จำเป็น) ยังระวังของใบอนุญาตหากคุณใช้ชิ้นส่วนของข้อมูล OSM

การออกแบบ

สไตล์ประกอบด้วยสองขั้นตอน:

  • เลเยอร์การตั้งค่า / แหล่งข้อมูล
  • ปรับแต่งบรรทัด / poligons / points / text output

มีสองรูปแบบในการจัดรูปแบบแผนที่: ไฟล์สไตล์ "raw" ของ mapnik และ CartoCSS

  • Mapnik เป็นไลบรารีการเรนเดอร์ซึ่งขับเคลื่อนไซต์ OSM
    • ติดตั้งและแก้ไขไฟล์สไตล์ mapnik
    • เปิดไฟล์สไตล์ในโปรแกรมดูแผนที่ของนิกนิก

ไฟล์สไตล์ "ดิบ" ของ Mapnik นั้นยุ่งยากในการแก้ไขและ CartoCSS เป็นคำอธิบายที่ง่ายกว่า CartoCSS (Cascadenik ก่อนหน้านี้) สามารถแปลงเป็นไฟล์สไตล์ mapnik Tilemill เป็นเครื่องมือที่ฉันใช้เพื่อแก้ไข / ดูตัวอย่าง CartoCSS

  • Tilemill
    • จัดรูปแบบ / ดูตัวอย่างแผนที่ของคุณใน tilemill
    • ส่งออกไปยังไฟล์ mapnik * .xml

การกระทำ

  • สคริปต์ python ที่กำหนดเองสำหรับ mapnik
    • อัปเดตกล่องขอบเขต / ระดับการซูม / ขนาด
    • แสดงแผนที่ไปยังไฟล์ * .png

[ไม่บังคับ] นำแผนที่ของคุณออนไลน์

แน่นอนคุณสามารถใช้ไฟล์ * .png ขนาดใหญ่สำหรับแผนที่ของคุณได้ แต่ลองจินตนาการว่าจะใช้เวลาดาวน์โหลดนานแค่ไหน! ดังนั้นคุณแบ่งแผนที่ของคุณเป็นไทล์ที่ระดับการซูมที่แตกต่างกัน

  • Tilemill -> Mapnik -> MBTiles -> Mapbox

    • คุณสามารถนำแผนที่ของคุณออนไลน์โดยใช้ Tilemill และ MapBox

น่าเสียดายที่การอัปเดตแผนที่ของคุณตามการแก้ไข OSM ใหม่คุณจะต้องดาวน์โหลดและแสดงผลในเครื่อง

ดังนั้นจึงมีทางออกที่ดีกว่า: CartoDB CartoDB รองรับ CartoCSS ด้วยคุณไม่จำเป็นต้องติดตั้งอะไรในเครื่อง เพียงนำเข้าข้อมูลของคุณลงในรูปแบบด้วย CartoCSS แล้วคลิกปุ่มแชร์ มีการ จำกัด ขนาด db ฟรี แต่เนื่องจากเป็นโอเพ่นซอร์สคุณจึงสามารถโฮสต์ได้ด้วยตัวคุณเอง มีข้อ จำกัด อื่น: คุณสามารถเห็นเฉพาะจุดหรือเส้นหรือรูปหลายเหลี่ยมเท่านั้น

PS

เครื่องมือทุกตัวมีข้อ จำกัด ของตนเองดังนั้นลองทดสอบ


3

ดูที่http://codebrainz.ca/index.php/2009/09/27/installing-mapnik-and-friends-on-ubuntu-904/สำหรับคำอธิบายโดยละเอียด


ขอบคุณฉันอาจมองว่า แม้ว่าฉันไม่ได้เป็นคนที่แต่งตัวประหลาดลินุกซ์และมันอาจเปิดออกเจ็บปวดเกินไปสำหรับฉัน :)
arconaut

2
จริง ๆ แล้วเครื่องมือส่วนใหญ่ที่กล่าวถึงในบทความจะทำงานบน windows หรือเครื่อง mac
Ian Turton

3

หากคุณกำลังมองหาตัวแก้ไขแผนที่ที่กำหนดเองให้ดูที่OCADนี่เป็นซอฟต์แวร์วาดแผนที่มืออาชีพ มีรุ่นเก่ากว่าให้ใช้ฟรีบนหน้าดาวน์โหลด

ไม่มีการสนับสนุนพิเศษสำหรับ OSM แต่คุณสามารถใช้ภาพที่ส่งออกจาก OSM เป็นพื้นหลังได้ตลอดเวลา


3

มีตัวเลือกที่ง่ายกว่าสำหรับคุณที่จะเล่นกับข้อมูล Open Street Map ในรูปแบบ OSM คุณสามารถลองใช้ FME ได้จากซอฟต์แวร์ที่ปลอดภัย (www.safe.com)

สำหรับข้อมูลเพิ่มเติมคุณสามารถอ่านเกี่ยวกับการสนับสนุน OSM ได้ที่นี่: http://blog.safe.com/2010/03/sharing-your-data-on-openstreetmap/

ฉันใช้ FME สองสามครั้งเพื่อสร้างชุดข้อมูลตัวอย่างสำหรับการฝึกอบรมสำหรับภูมิภาคของฉันโดยใช้ข้อมูล FME และ OSM

~ SRG


3

ไทล์ OSM เริ่มต้นอยู่ในรูปแบบ "การเรียงต่อกันของ Google" ซึ่งเรียกว่า Tile Map Service (TMS) ในขณะนี้คุณไม่สามารถใช้ QGIS สำหรับ TMS ได้ แต่คุณสามารถเข้าถึง WMS ที่ได้รับจาก OSM โดยดูจากบริการของบุคคลที่สามอื่น ๆ มีการเชื่อมโยงบางส่วนที่นี่: http://wiki.openstreetmap.org/wiki/WMS#Public_WMS_Servers


1
คุณสามารถใช้ปลั๊กอิน OpenLayers ( github.com/sourcepole/qgis-openlayers-plugin ) ใน QGIS เพื่อดึงในไทล์OSM
mattwigway

2

คุณสามารถใช้ The Style Editor จาก Cloudmade (เชิงพาณิชย์ของ OSM)

สมัครฟรีและใช้เป็นรายบุคคล

ด้วยส่วนต่อประสานผู้ใช้ที่ดีมากจะสามารถสร้างแผนที่ของคุณเอง เมื่อคุณปรับแต่งแผนที่ด้วยสีและอื่น ๆ คุณสามารถใช้เพื่อฝังหรือสร้างลิงค์ไปยังหน้าด้วยแผนที่ที่กำหนดเองของคุณ

ดูโพสต์บล็อก http://mapperz.blogspot.com/2009/03/cloudmade-map-editor.html (มีการอัปเดตเพิ่มเติมที่นั่น)


Cloudmade ไม่ได้เป็นส่วนหนึ่งของ OpenStreetMap: CloudMade เป็นส่วนหนึ่งของ OpenStreetMap หรือไม่?
scruss

1

แผนที่ OSM อย่างเป็นทางการรับสไตล์ด้วย TileMill และแสดงผลด้วย Mapnik เครื่องมือทั้งสองมีประสิทธิภาพและยืดหยุ่นอย่างมาก อะไรดีสำหรับ OSM ควรจะดีสำหรับคุณ!

น่าเสียดายที่ขั้นตอนการตั้งค่าสำหรับ TileMill มีความซับซ้อนอย่างน้อยถ้าคุณต้องการแสดงข้อมูล OSM มีคำอธิบายมากมายสำหรับUbuntuหรือMacแต่ความคิดเห็นในฟอรัมแสดงว่าขั้นตอนนั้นยุ่งยากสำหรับ Windows

คุณจะพบคำอธิบายรายละเอียดเกี่ยวกับแผนที่การแสดงผลที่มี TileMill บน Windowsในวิกิพีเดียของ TopoMapCreator

มันเป็นไปตามขั้นตอนคลาสสิก:

  • ขั้นตอน A: การดาวน์โหลดและติดตั้งซอฟต์แวร์ที่จำเป็น (ส่วนใหญ่เป็นฐานข้อมูล Postgresql / PostGis)
  • ขั้นตอน B: การดาวน์โหลดและนำเข้าข้อมูล OSM ไปยังฐานข้อมูล
  • ขั้นตอน C: การดาวน์โหลดและการประมวลผลรูปหลายเหลี่ยมที่ดิน
  • ขั้นตอน D: การสร้างโครงการ TileMill
  • ขั้นตอน E: จัดแต่งทรงผมและส่งออกแผนที่ด้วย TileMill

เพิ่มเติมเกี่ยวกับวิกิพีเดียของ TopoMapCreator


1

อีกวิธีในการสร้างแผนที่ที่กำหนดเองด้วยข้อมูล OSM คือไลบรารีMapsense.jsและไทล์แผนที่เวกเตอร์ Earthense Earth มี UI สำหรับการเลือกสีที่http://styler.mapsense.co/และการสาธิตแสดง css และ javascript ที่ developer.mapsense.co/examples/

ข้อดีอย่างหนึ่งของ API เช่นนี้คือคุณสามารถเพิ่มอะไรก็ได้ที่คุณต้องการด้วย javascript / d3 (ภาพจากดาวเทียม, geo / topojson อื่น ๆ เป็นต้น)

การเปิดเผยแบบเต็ม: ฉันทำงานที่ Mapsense :)


0

หากคุณต้องการเพียงแค่สร้างภาพแผนที่แบบคงที่คุณอาจต้องการตรวจสอบวิธีนี้เพื่อสร้างไฟล์. svg inkscape จาก. osm เป็นแบบช้า จากนั้นคุณสามารถเปิด. svg หรือหากคุณต้องการแปลงเป็นรูปแบบอื่น (png?) หรือแม้กระทั่งโหลดไปยัง 3d studio หรือ Blender:) ...

(นอกจากนี้ JOSM ดูเหมือนจะมีปลั๊กอินที่ทำ osmarender แต่ฉันไม่ได้จัดการเพื่อเรียกใช้ครั้งนี้ฉันพยายาม ... )

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.