วิธีการสร้างไทล์เซิร์ฟเวอร์จากข้อมูล Openstreetmap สำหรับมือใหม่?


11

ฉันเป็นผู้เริ่มต้นที่ GIS และฉันกำลังพัฒนา Java Application ซึ่งต้องการแผนที่ (แผนที่จะเป็นเพียงหนึ่งเมืองในฟิลิปปินส์โดยเฉพาะ) ฉันได้ทำการวิจัยเกี่ยวกับวิธีการต่าง ๆ ในการทำสิ่งนี้และฉันพบว่าฉันจะต้องมีเซิร์ฟเวอร์ไทล์เพื่อวางแผนที่เพราะฉันต้องสามารถเข้าถึงสิ่งนี้ได้โดยไม่ต้อง การเชื่อมต่ออินเทอร์เน็ต ฉันเป็นผู้เริ่มต้นและบทเรียนส่วนใหญ่ที่ฉันเคยเห็นมีความซับซ้อนและมีขั้นตอนที่ฉันยังไม่รู้ว่าต้องทำอย่างไร ไม่มีใครรู้บทเรียนใด ๆ หรือสามารถช่วยฉันเริ่มสร้างเซิร์ฟเวอร์ไทล์โดยพิจารณาว่าฉันเป็นมือใหม่หรือไม่?


มันต้องเป็นภาษาจาวาหรือเปล่า?
RK

คำตอบ:


9

มีเว็บไซต์ที่ดีมากสำหรับผู้เริ่มต้นเกี่ยวกับโลกOpenStreetMap ที่มุ่งเน้นไปที่ผู้คนที่มาจากบริการแผนที่อื่น ๆ ที่สามารถตอบคำถามของคุณได้: http://switch2osm.org/serving-tiles/

แต่ถ้าคุณต้องการสร้างไทล์บางส่วนเพื่อให้บริการแบบออฟไลน์เช่นhttp://www.maptiler.org/แต่มันเน้นไปที่ข้อมูลแรสเตอร์

ถ้าฉันต้องทำสิ่งนี้ฉันอาจจะดูที่TileMillเพื่อสร้างการออกแบบและสร้างไฟล์ MBTiles แล้วแปลงเป็นโครงสร้างไฟล์ TMS เพื่อใช้งานโดย OpenLayers หรือ Leaflet ในโหมดออฟไลน์

ใช่มันค่อนข้างซับซ้อนและมีสิ่งใหม่ ๆ (แต่น่าตื่นเต้น!) ขออภัย


สวัสดีขอขอบคุณสำหรับการตอบกลับ หากฉันดาวน์โหลดไทล์ทั้งหมดที่ฉันต้องการฉันจะใช้แม็พเหล่านั้นเพื่อแม็พใน Java Application ของฉันได้อย่างไร? ขออภัยฉันเป็นผู้เริ่มต้นที่นี่ แผนที่จะออฟไลน์เท่านั้น ฉันใช้ไลบรารี Geotools เพื่อวางแผนที่ใน Java Application ของฉัน แต่มันประกอบไปด้วย shapefiles เท่านั้น นั่นคือเหตุผลที่ฉันคิดว่าเซิร์ฟเวอร์ไทล์ แต่เป็นออฟไลน์
meebee

ฉันไม่รู้ว่ามีไดรเวอร์ที่ GeoTools สำหรับโครงสร้าง TMS ฉันจะโพสต์คำถามใหม่พร้อมคำอธิบายที่แม่นยำยิ่งขึ้นเพื่อให้ผู้คนสามารถชี้คุณได้ดีขึ้น
Jorge Sanz

4

สำหรับเมืองเดียว Tilemill และ Tile Tile เป็นสองตัวเลือกที่ยอดเยี่ยม: http://switch2osm.org/serving-tiles/using-an-all-in-one-solution/

Tilemill จะให้ไฟล์ '.mbtiles' ของคุณซึ่งเป็นฐานข้อมูล SQLite3 ที่มีไทล์แสดงผลทั้งหมดของคุณ คุณจะต้องพัฒนาสไตล์ชีทที่กำหนดเองสำหรับข้อมูลด้วย

Tile Tile จะทำทุกอย่างให้คุณเป็นผลให้เซิร์ฟเวอร์ EC2 นั้นคุณสามารถใช้ในการเรนเดอร์จริงของคุณ หากคุณ ssh ลงในเซิร์ฟเวอร์นั้นและเรียกใช้ tilestache-seed.py สำหรับพื้นที่ของคุณคุณสามารถออกไดเรกทอรีที่เต็มไปด้วยภาพย่อยที่แสดงผลล่วงหน้าซึ่งสามารถคัดลอกไปที่ใดก็ได้ที่คุณต้องการ


2

เนื่องจากคุณเป็นมือใหม่ฉันขอแนะนำให้คุณใช้ OpenGeo Suite มันมาพร้อมกับ GeoServer (เซิร์ฟเวอร์แผนที่) และ PostGIS (ฐานข้อมูลเชิงพื้นที่) มันเป็นแพคเกจรวมคุณจึงไม่ต้องกังวลกับการรวม ผมขอแนะนำให้คุณทำบทเรียนแรกและเมื่อคุณมั่นใจพอลองข้อมูลของคุณเองหรือข้อมูล OSM มีตัวโหลดไฟล์รูปร่างดังนั้นจึงไม่ควรยากเกินไป โชคดี :)


2

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

วิธีหนึ่งที่ค่อนข้างง่ายในการสร้างไทล์คือการทำตาม " Maperitive Tutorial: A Web Map ในสิบขั้นตอนง่าย ๆ "


สวัสดีขอขอบคุณสำหรับการตอบกลับ หากฉันดาวน์โหลดไทล์ทั้งหมดที่ฉันต้องการฉันจะใช้แม็พเหล่านั้นเพื่อแม็พใน Java Application ของฉันได้อย่างไร? ขออภัยฉันเป็นผู้เริ่มต้นที่นี่ แผนที่จะออฟไลน์เท่านั้น ฉันใช้ไลบรารี Geotools เพื่อวางแผนที่ใน Java Application ของฉัน แต่มันประกอบไปด้วย shapefiles เท่านั้น นั่นคือเหตุผลที่ฉันคิดว่าเซิร์ฟเวอร์ไทล์ แต่เป็นออฟไลน์
meebee

ฉันไม่สามารถช่วยคุณได้มากกับ Java และมันก็ขึ้นอยู่กับสิ่งที่คุณต้องทำกับแผนที่ คุณสามารถดูซอร์สโค้ดของ JOSM มันเป็นแอพโอเพนซอร์ส OSM ที่เขียนด้วยภาษาจาวา
Igor Brejc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.