9 คะแนน โดย GN⁺ 2024-04-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • tinyworldmap คือแผนที่โลกสำหรับเว็บแอปที่เน้นออฟไลน์เป็นหลักและทำงานได้ดีในสภาพแบนด์วิดท์ต่ำ โดยออกแบบมาให้ใช้ร่วมกับ Leaflet
  • รองรับทุกระดับการซูม และเวอร์ชันที่สมบูรณ์ที่สุดมีขนาดเพียง gzip 450KB โดยมีการโปรไฟล์และทดสอบการเรนเดอร์ฝั่งไคลเอนต์ให้ไม่มีความหน่วงที่สังเกตได้แม้บนโทรศัพท์สเปกต่ำอายุ 10 ปี
  • แผนที่พื้นฐานจะแสดง เมือง 10,000 แห่งที่มีประชากรมากที่สุด ที่ถูกเพิ่มไว้ใน OpenStreetMap และ ณ เวลาที่เขียนครอบคลุมเมืองและชุมชนที่มีประชากรตั้งแต่ 48,000 คนขึ้นไป
  • มีสองวิธีการใช้งาน คือใช้เป็น แผนที่ฐาน แทน OpenStreetMap tiles หรือใช้เป็น แผนที่ fallback ที่เมื่อออฟไลน์จะเปลี่ยนคำขอ OSM tiles ไปเป็น tiles ที่สร้างในเครื่อง
  • ข้อมูลแผนที่ใช้สัญญาอนุญาต ODBL เช่นเดียวกับ OpenStreetMap และต้องมีการแสดงเครดิต OpenStreetMap และ tinyworldmap ในส่วนอย่างเช่นฟุตเตอร์ของ Leaflet

วัตถุประสงค์และขอบเขตของ tinyworldmap

  • tinyworldmap คือแผนที่โลกสำหรับเว็บแอปที่เน้นออฟไลน์เป็นหลักและทำงานได้ดีในสภาพแบนด์วิดท์ต่ำ
  • ออกแบบมาให้ใช้ร่วมกับ Leaflet และรองรับทุกระดับการซูม
  • เวอร์ชันที่สมบูรณ์ที่สุดมีขนาด gzip 450KB และเมื่อคลายบีบอัดมีขนาด 1.1MB
  • การเรนเดอร์ฝั่งไคลเอนต์ถูกโปรไฟล์และทดสอบอย่างกว้างขวางบนโทรศัพท์สเปกต่ำอายุ 10 ปี และไม่พบความหน่วงที่ผู้ใช้สังเกตได้
  • มีเดโมให้ดูที่ Nightly demo, Stable demo, v3 announcement

ข้อมูลแผนที่พื้นฐาน

  • ในการตั้งค่าเริ่มต้น จะแสดง เมือง 10,000 แห่งที่มีประชากรมากที่สุด ที่ถูกเพิ่มไว้ใน OpenStreetMap
  • ณ เวลาที่เขียน ช่วงนี้ครอบคลุมเมืองและชุมชนทั้งหมดที่มีประชากร 48,000 คนขึ้นไป

สองวิธีการใช้งานใน Leaflet

  • ใช้เป็นแผนที่ฐาน

    • หากต้องการใช้ tinyworldmap เป็นแผนที่ฐานใน Leaflet ให้เพิ่มสคริปต์เผยแพร่ไว้ในแท็ก head
    • สคริปต์เวอร์ชันเสถียรคือ https://tinyworldmap.com/dist/v3/tiny-world-all-10000.js และมีข้อมูลทั้งหมดที่จำเป็นสำหรับการแสดงแผนที่
    • แทนที่จะใช้ Leaflet tile layer ให้เพิ่ม L.GridLayer.TinyWorld ในรูปแบบดังนี้
    new L.GridLayer.TinyWorld({maxZoom: 19}).addTo(map)
    
  • ใช้เป็นแผนที่ fallback สำหรับออฟไลน์

    • ในเว็บแอปที่เน้นออฟไลน์เป็นหลัก การแคชแผนที่แบบภาพสำหรับทุกระดับการซูมแทบเป็นไปไม่ได้เพราะจำนวน tile มีมาก และขนาดรวมมักจะอยู่ในระดับ เทราไบต์
    • ที่เก็บนี้มี service worker สำหรับความสามารถออฟไลน์ของเว็บแอปที่มีแผนที่
    • เมื่อมีการติดตั้ง service worker แล้ว แผนที่ fallback จะถูกโหลดล่วงหน้า
    • หน้าที่เคยเข้าชมจะถูกแคชไว้
    • แผนที่ฐานจะไม่ถูกรวมไว้ในแคช
    • หากยังเข้าถึงเซิร์ฟเวอร์ได้ จะไม่มีการใช้ข้อมูลจากแคช
    • เมื่อผู้ใช้ออฟไลน์ เว็บไซต์จะถูกให้บริการจากแคช และ service worker จะดักจับคำขอไปยังเซิร์ฟเวอร์ OSM tiles แล้วแทนที่ด้วย tile ทางเลือกที่ tinyworldmap สร้างขึ้นในเครื่อง
    • ก่อนลงทะเบียน service worker ต้องแก้ไขทุกส่วนที่ทำเครื่องหมาย IMPORTANT ภายใน service worker
    • หลังจากลงทะเบียนแล้ว การแสดงเครดิตของ Leaflet tile layer ต้องรวมทั้ง OpenStreetMap และ tinyworldmap
    • Hitchmap เป็นตัวอย่างแอป production ที่ใช้ tinyworldmap เป็น fallback
    • หากเปิดเว็บไซต์บนเบราว์เซอร์ที่รองรับ service worker รอสักครู่ จากนั้นปิดอินเทอร์เน็ตแล้วรีเฟรช แอปควรยังทำงานได้ตามปกติด้วยแผนที่ fallback
    • การติดตั้ง service worker อาจใช้เวลาสักระยะ

สไตล์แผนที่และแผนที่แบบปรับแต่ง

  • ตัวสร้างรองรับออปชัน render เพื่อเปลี่ยนรูปลักษณ์ของแผนที่
  • ออปชัน style ของแต่ละเลเยอร์จะถูกนำไปใช้กับ Canvas CanvasRenderingContext2D
  • ตัวอย่างเช่น สามารถเปลี่ยนสไตล์ของเลเยอร์ state_borders ได้ด้วยการกำหนด fillStyle
let render = {
    state_borders: {
        style: {fillStyle: '#f00'}
    }
}

new L.GridLayer.TinyWorld({maxZoom: 19, render}).addTo(map)
  • หากองค์กรต้องการแผนที่แบบปรับแต่ง เช่น แผนที่ถนน แผนที่เมือง แผนที่ภาษาอื่น หรือแผนที่เนื้อหาเฉพาะที่มีข้อมูลจาก OSM หรือไม่ใช่ OSM สามารถขอใบเสนอราคาได้ที่ business@tinyworldmap.com

ตัวเลือกไฟล์แผนที่ที่เล็กลง

  • เวอร์ชันไม่มีเส้นขอบ

    • tiny-world-cities-10000.js(on) มีข้อมูลจากเวอร์ชันเต็มโดยตัดเส้นขอบรัฐ เส้นขอบประเทศ และแนวชายฝั่งออก
    • เวอร์ชันนี้ลดขนาดลงได้ 300KB ในแบบ gzip และ 825KB เมื่อคลายบีบอัด
    • ข้อดีของเวอร์ชันไม่มีเส้นขอบคือข้อมูลที่รวมอยู่ทั้งหมดมีความละเอียดสูง
    • เส้นขอบประเทศในเวอร์ชันเต็มไม่แม่นยำในระดับซูมสูง ดังนั้นเมื่อวาง shape overlay ให้ตรงกับเส้นขอบประเทศหรือแนวชายฝั่ง อาจดูไม่เป็นธรรมชาติ
    • ในกรณีดังกล่าว เวอร์ชันไม่มีเส้นขอบมักดูดีกว่า
  • เวอร์ชันไม่มีป้ายชื่อเมือง

    • มีไฟล์สองแบบที่ไม่มีป้ายชื่อเมือง
    • tiny-world-borders.js(on): ตัดเส้นขอบรัฐออก
    • tiny-world-nocities.js(on): คงเส้นขอบรัฐไว้
    • ป้ายชื่อเมืองใช้พื้นที่ 410KB เมื่อคลายบีบอัด และ 172KB เมื่อบีบอัด
  • เวอร์ชันที่ลดจำนวนเมือง

    • ไฟล์ที่มีป้ายชื่อเมืองยังมีเวอร์ชันสำหรับ 2,000 และ 4,000 เมืองด้วย
    • เพียงเปลี่ยน 10000 ในชื่อไฟล์เป็น 2000 หรือ 4000
    • | จำนวนเมืองที่รวม | เกณฑ์ประชากร |
    • | --- | --- |
    • | 10,000 | มากกว่า 48,000 คน |
    • | 4,000 | มากกว่า 137,000 คน |
    • | 2,000 | มากกว่า 287,000 คน |

สัญญาอนุญาตและการแสดงเครดิต

  • ข้อมูล tinyworldmap ใช้สัญญาอนุญาต ODBL เช่นเดียวกับข้อมูล OpenStreetMap
  • ODBL กำหนดให้ต้องมีการแสดงเครดิต
  • หากตั้งค่าตามวิธีที่แนะนำ ฟุตเตอร์ของ Leaflet ควรมีเครดิตของทั้ง OpenStreetMap และ tinyworldmap รวมอยู่แล้ว
  • หากไม่เป็นเช่นนั้น ต้องเพิ่มเครดิตของ OpenStreetMap และ tinyworldmap แยกต่างหาก

1 ความคิดเห็น

 
GN⁺ 2024-04-22
ความคิดเห็นจาก Hacker News
  • ชอบไอเดียนี้ เพราะช่วยแก้ปัญหาที่ต้องซูมออกไกลมากแล้วรอให้เซิร์ฟเวอร์เรนเดอร์ไทล์ระดับทวีปที่เพิ่งร้องขอ
    แต่ก็ยังไม่แน่ใจว่า use case แบบไหนที่ผู้ใช้รู้ตำแหน่งสัมพัทธ์ของ West Bloomfield Township กับ Waterford Charter Township ชานเมือง Detroit ได้ แต่ไม่รู้ว่าอยู่รัฐไหน หรือไม่รู้ด้วยซ้ำว่า Great Lakes มีอยู่
    อยากให้ใช้ข้อมูลกับแนวชายฝั่งมากกว่านี้เยอะ ๆ และใช้น้อยลงมากกับการแบ่งย่อยเขตมหานคร

    • ทิศทางดี แต่คิดว่าควรรวมภูมิประเทศสำคัญ ๆ อย่าง 100 เกาะใหญ่สุด, 50 ทะเลสาบใหญ่สุด, 200 แม่น้ำใหญ่สุด ไว้ด้วย
    • ถนนกับทางรถไฟก็เช่นกัน ถ้าเป็นแผนที่ถนนที่เก็บไว้ในรถก็จำเป็น แต่กรณีอื่น ๆ แทบไม่จำเป็นต้องรู้ตำแหน่งถนน
      มันบังข้อมูลอื่น ๆ ที่เป็นไปได้มากเกินไป
    • ลองจิ้มดูสองสามแห่งด้วยความสงสัย พบว่า Alexandria ในรัฐ Virginia ของสหรัฐฯ อยู่คนละฝั่งของแม่น้ำ และ Bahrain ก็ออกมาค่อนข้างย่ำแย่
    • ส่วนนี้ปรับปรุงแล้วใน v2
  • เจ๋งดี แต่ รายละเอียดแนวชายฝั่ง ต่ำเกินไป หมู่บ้านบางแห่งในอังกฤษลอยอยู่กลางทะเล และในทางกลับกัน Greenland กับ Northern Canada ก็กินจุดยอดไปหมด
    ดูเหมือนว่าจะคำนึงถึงระดับรายละเอียดตามโปรเจกชัน Mercator แล้ว แต่คงดีถ้าลดความสำคัญของพื้นที่ที่แทบไม่มีคนอาศัยอยู่

    • เป็นโปรเจกต์ที่ดี ถ้าใช้ QRank ของ Wikidata ตอนเลือกสถานที่ที่จะรวมไว้ด้วย เกาะที่มีชื่อเสียงแม้ประชากรน้อยก็น่าจะปรากฏได้
      ฐานข้อมูล SQLite ของ QRank ก็เคยขึ้น HN มาก่อน
      [1] https://qrank.wmcloud.org/
      [2] https://github.com/hikeratlas/qrank
    • สัดส่วนระหว่างรายละเอียดเมืองกับรายละเอียดแนวชายฝั่งเอียงไปทางเมืองอย่างประหลาด ดูเหมือนจะเลือกใส่เมืองมากกว่าพรมแดนหรือแนวชายฝั่งที่ถูกต้อง
      จังหวัดหนึ่งของ Netherlands ถูกแสดงเหมือนเป็นเกาะที่ขาดจากแผ่นดินหลักของประเทศ ทั้งที่จริงไม่ใช่แบบนั้น แต่ในจังหวัดนั้นกลับรู้ชื่อเมืองตั้งห้าเมือง และบางเมืองแทบจะทับกัน
      ส่วนการใส่ Afsluitdijk เข้ามา โดยส่วนตัวคิดว่าเป็นรายละเอียดที่ไม่จำเป็น แต่ก็เข้าใจว่าการแยกด้วยโปรแกรมว่าควรวาดผืนดินอะไร กับอะไรเป็นแค่โครงสร้างพื้นฐานทางทะเลนั้นทำได้ยาก
      ควรเปิดตั๋วใน issue tracker แต่ตอนนี้ไม่ได้ล็อกอินบนมือถือ เลยคอมเมนต์ใน HN น่าจะดีที่สุด ถ้าใครรู้สึกคล้ายกัน จะใช้คอมเมนต์นี้เป็นเหตุผลเสนอการปรับสัดส่วน เพิ่มระยะห่างขั้นต่ำระหว่างเมือง หรือย่อไฟล์ทั้งหมดก็ได้
    • เพราะแบบนี้ ในพื้นที่เกาะหรือ หมู่เกาะ แทบใช้งานไม่ได้เลย Philippines เองก็มีเกาะเยอะ แต่ก็มีเกาะขนาดค่อนข้างใหญ่หลายเกาะ ซึ่งบนแผนที่นี้ใช้เป็นแผนที่จริง ๆ ไม่ค่อยได้
      French Polynesia ไม่มีอยู่บนแผนที่ด้วยซ้ำ
    • ได้ปล่อย เวอร์ชัน nightly ที่ตัดฟยอร์ดออกและใส่รายละเอียดให้ที่อื่นมากขึ้น โดยรวมความละเอียดก็สูงขึ้นด้วย
      เหตุผลที่ตอนแรกไม่ได้ทำแบบนั้น เพราะโทรศัพท์รุ่นเก่า โดยเฉพาะ Firefox for Android อาจแครชเมื่อวาดหลายเหลี่ยมจำนวนมาก หลังจากนั้นได้ปรับกระบวนการวาดให้เหมาะสมขึ้นแล้ว แต่ก็ยังต้องระวัง
      [1] https://tinyworldmap.com/beta.html
    • การทำให้ง่ายขึ้นโดยรวมค่อนข้างหละหลวม ใน Caribbean มีบางประเทศหายไปทั้งประเทศ
      เรื่องนี้ควรถูกจับได้ในการ ควบคุมคุณภาพ ขั้นพื้นฐาน
  • เคยทำอะไรคล้าย ๆ กันไว้ เน้นออฟไลน์ก่อน ขนาดเล็กมาก และเป็นเวกเตอร์ โดยโฟกัสที่ การทำให้รองรับหลายภาษา/ภูมิภาค
    มีให้ในทุกภาษาของ UN แต่ Spanish หลุดไปเพราะลืมเฉย ๆ ซึ่งน่าอาย เพราะน่าจะทำได้ภายในไม่กี่ชั่วโมง
    ชื่อประเทศและเมืองใช้ชื่อทางการที่จดทะเบียนกับ UN ดังนั้นชื่อย่อทางการของ UK คือ “United Kingdom of Great Britain and Northern Ireland”
    https://map.ache.one/en

    • ใช้ได้ดี แต่มีบั๊กค่อนข้างเยอะ “Cape town” แสดงอยู่ใน South Sudan แต่กลับไม่มีชื่อประเทศ และ Eritrea ก็ไม่มีชื่อ บล็อกของ Somalia ถูกแบ่งเป็นสองส่วนคนละสี
      การวาดแผนที่เบา ๆ และจัดการ internationalization ค่อนข้างง่าย เพราะมีแหล่งข้อมูลสาธารณะและไลบรารีหลายตัว
      ส่วนที่ยากจริง ๆ คือ นิยามเชิงการปกครอง ล้วน ๆ ถ้ามีข้อมูลที่เชื่อมกับประเทศส่วนใหญ่ ก็จะมีจุดที่ไม่ตรงกับแหล่งข้อมูลแผนที่เสมอ และสุดท้ายต้องทำแผนที่แบบปรับเอง
      ไม่มีฉันทามติว่า “ประเทศ” คืออะไร Western Sahara เป็นประเทศอย่างเป็นทางการ แต่ในทางปฏิบัติ Morocco ยึดครองต่อเนื่องมา ส่วน Somalia มี Somaliland กับ Puntland ที่ดำเนินการเหมือนรัฐอิสระโดยพฤตินัย แต่ไม่ได้รับการรับรองอย่างเป็นทางการ Greenland, Niue ฯลฯ อยู่กึ่งกลางระหว่างนั้น
    • หาไม่เจอว่าอธิบายไว้อย่างไรว่าสร้างขึ้นมาอย่างไร แต่แผนที่สวย Tiny World Maps ก็มีเนื้อหาเกี่ยวข้องอยู่บ้าง แต่ที่นั่นก็อธิบายวิธีทำไม่พอเช่นกัน
      จากประสบการณ์ที่เคยทำในระดับประเทศ มันเป็นกระบวนการทำมือที่มี dirty hack ปนอยู่ และส่วนที่ยากที่สุดคือการทดสอบว่าได้ปรับให้ถูกต้องแล้วหรือยัง โดยเฉพาะ ระดับการ generalize ที่เหมาะสม และภาพที่ผู้คนคาดหวังจากแผนที่ของพื้นที่ตนเอง
      อยากรู้ว่ามองว่าความพยายามในการปรับปรุงแผนที่นี้ครั้งใหญ่คุ้มค่าหรือไม่
    • ไม่แน่ใจว่าเครื่องหมายดาวหมายถึงเมืองใหญ่ที่สุดหรือเมืองหลวง แต่ถ้าเป็นอย่างหลัง Tanzania ผิด
      ดาวอยู่ที่ Dar Es Salaam แต่ป้ายชื่อเป็น Dodoma ซึ่ง Dodoma เป็นเมืองหลวงจริง แต่ตั้งอยู่ค่อนไปทางกลางประเทศมากกว่า
    • ตัวย่อ “i18n” เองก็ไม่ได้เป็นสากลสักเท่าไร
  • น่ารักดี ก่อนหน้านี้เคยทำสิ่งที่ไม่เหมือนกันเสียทีเดียวแต่คล้ายกันไว้
    https://web.archive.org/web/20020611095429/http://www.cs.man.ac.uk/~hancockd/CityZen/index.html
    มีเส้นตรง 20,000 เส้น สถานที่ 3,350 แห่ง รวมทั้งตัวดูแผนที่และควิซทั้งหมดแล้วมีขนาด 162KB

  • ขอบคุณสำหรับฟีดแบ็ก ขออธิบายเบื้องหลังการเลือกนี้: จนกระทั่งไม่นานมานี้ จุดโฟกัสหลักของโปรเจกต์นี้ไม่ใช่รูปทรงของประเทศ
    เวอร์ชันที่ไม่มีพรมแดน ซึ่งอยู่ใน README มานาน เป็นเวอร์ชันเดียวที่มี และไม่ได้คิดว่าจะเพิ่มทั้งโลกเข้าไปได้ แต่ปรากฏว่าทำได้
    ได้ปล่อย nightly version ที่ตัดฟยอร์ดออก และใส่รายละเอียดในที่อื่นมากขึ้น รวมถึงเกาะที่มีคนขอกันมาก โดยรวมแล้วความละเอียดก็สูงขึ้นด้วย
    เหตุผลที่เดิมไม่ได้ทำแบบนั้นคือโทรศัพท์รุ่นเก่า โดยเฉพาะ Firefox for Android อาจแครชตอนวาดรูปหลายเหลี่ยมจำนวนมากได้ หลังจากนั้นได้ปรับปรุงขั้นตอนการวาดให้เหมาะสมขึ้นแล้ว แต่ก็ยังต้องระวัง
    [1] https://tinyworldmap.com/beta.html

  • ยังไม่แน่ใจว่า เมือง 10,000 อันดับแรกตามจำนวนประชากร เป็นตัวกรองที่ดีที่สุดหรือไม่
    วิธีนี้จะให้ความสำคัญกับเมืองในประเทศใหญ่ ๆ ก่อน และมีโอกาสสูงที่เมืองส่วนใหญ่ของประเทศเล็ก ๆ จะหลุดไป
    ควรมีตัวกรองเสริมที่ใส่เมืองอันดับต้น ๆ X เมืองของแต่ละประเทศด้วย แบบนั้นน่าจะครอบคลุมเมืองสำคัญของประเทศเล็ก ๆ ได้

    • ยังมีเกณฑ์อื่นในการวัดความสำคัญของเมืองด้วย
      เกณฑ์อย่างเมืองหลวงของประเทศ เมืองหลวงของภูมิภาค เมืองระดับโลก และความเป็นศูนย์กลางในภูมิภาค อาจมีประโยชน์ในการเสริมเงื่อนไขพื้นฐาน
      คิดว่า นักภูมิศาสตร์และนักทำแผนที่ น่าจะให้คำแนะนำที่เป็นประโยชน์กว่าในประเด็นนี้
  • น่าสนใจที่เมื่อเลือก นิคมตั้งถิ่นฐาน 10,000 แห่ง ที่ใหญ่ที่สุดในโลก จะลงไปถึงระดับประชากร 48,000 คน
    ยังตัดสินใจอยู่ว่าตัวเลขนี้น่าประหลาดใจหรือไม่

    • รู้อยู่มานานแล้วว่าถ้าดูเมืองในสหรัฐฯ ตามจำนวนประชากรประมาณ 100 อันดับแรก จะลงไปถึงระดับราว 200,000 คน
      แม้เพิ่มเป็น 200 อันดับ ก็ยังเกิน 100,000 คนอยู่ดี Daly City, CA ซึ่งอยู่ลำดับ #333 ตาม Wikipedia มีประชากร 100,007 คน: <https://en.wikipedia.org/wiki/List_of_United_States_cities_b...>
      การกระจายขนาดแบบนี้โดยทั่วไปใกล้เคียงเส้นตรงบนกราฟ log-log เหมือนกรณีการสเกลอื่น ๆ มากมาย
      ในจีน ต้องไปถึงอันดับที่ 106 ก่อนจึงจะเจอเมืองที่มีประชากรต่ำกว่า 1 ล้านคน ส่วนสหรัฐฯ มีเมืองแบบนั้นเพียง 9 เมือง
      อินเดีย เพิ่งตรวจสอบดู พบว่ามีเมืองที่ประชากรเกิน 1 ล้านคน 46 เมือง เมืองอันดับ 100 คือ Malegaon มี 471,000 คน และเมืองอันดับ 300 คือ Aurangabad ก็ยังเกิน 100,000 คน
      อย่างไรก็ตาม “เมือง” เป็นนิยามที่ค่อนข้างตามอำเภอใจมาก เมืองบางแห่งที่ใหญ่ที่สุดในโลก หากเทียบตามเกณฑ์ของประเทศอื่น อาจเป็นเขตมหานคร หรือแม้แต่เทียบได้กับรัฐหรือมณฑล
      เมืองที่ใหญ่ที่สุดตามพื้นที่กลับมีประชากรน้อยมาก Sermersooq ใน Greenland มีประชากร 24,148 คน พื้นที่ 575,300km² ใหญ่กว่า Rhode Island ประมาณ 144 เท่า และในบรรดารัฐของสหรัฐฯ มีเพียง Texas กับ Alaska เท่านั้นที่ใหญ่กว่า โดย Alaska ก็ใหญ่กว่าแค่ราว 12%
      ภูมิศาสตร์เมือง เป็นสาขาที่ซับซ้อน จึงมักเปรียบเทียบหลายสเกลและหลายคำนิยามร่วมกัน เช่น เขตสถิติมหานคร พื้นที่เมืองต่อเนื่อง และจำนวนประชากร เพื่อช่วยลดความตามอำเภอใจของขอบเขตทางการเมือง และสะท้อนจำนวนประชากรรวมกับอิทธิพลทางเศรษฐกิจได้ดีกว่า
  • ค่อนข้างน่าทึ่งที่ขนาดไฟล์อยู่แค่นี้ ทั้งที่พรมแดนหยาบขนาดนี้
    ดูเหมือนว่าขนาดข้อมูลรวมจะยังต่ำกว่าจุดสมดุลระหว่างประโยชน์ใช้สอยกับขนาดไฟล์อยู่มาก เช่น ต่อให้ใหญ่ขึ้นสองเท่า พรมแดนก็คงไม่ขรุขระขนาดนี้

    • ไฟล์ทั้งหมดมีขนาดประมาณ 700KB โดยไม่บีบอัด gzip
      จากคำอธิบายว่า “มีข้อมูลทั้งหมดของเวอร์ชันเต็ม ยกเว้นพรมแดนและแนวชายฝั่ง ซึ่งทำให้ขนาดลดลง 200KB” แปลว่าประมาณ 29% เป็นข้อมูลพรมแดนและชายฝั่ง ส่วน 71% เป็นชื่อเมืองและตำแหน่ง
      ส่วนตัวคิดว่าน่าจะตัดเมืองออกได้หลายเมือง โดยเฉพาะเมืองที่ซ้อนทับกัน เพราะจะมองเห็นได้ก็ต่อเมื่อซูมเข้าไปมากพอจนเห็นพื้นดินสีเทาและชื่อเมืองอยู่แล้ว ดังนั้นเอาพื้นที่นั้นไปทำให้แนวชายฝั่งแม่นยำขึ้นน่าจะดีกว่า
      ก็ไม่แน่ใจเหมือนกันว่าตำแหน่งบนแผนที่โลกทั่วไปจำเป็นบ่อยแค่ไหน เช่น บนเว็บไซต์ของจุดสนใจที่กำลังดูอยู่ แผนที่ขนาดเล็กที่มีทางด่วนใกล้เคียงและเส้นทางขนส่งสาธารณะสำหรับเดินทางไปที่นั่น อาจจำเป็นบ่อยกว่าหรือไม่
      ถ้าทำเวอร์ชันที่แบ่งทั้งโลกออกเป็นหน่วยละไม่กี่ km² ก็น่าจะใส่รายละเอียดที่มีประโยชน์ได้พอสมควรแม้มีขนาดเพียงหนึ่งในสิบ แผนที่โลกแบบ low-poly ทั้งใบก็คงมีกรณีใช้อย่างการติดตามสถานีอวกาศนานาชาติ แต่ดูเหมือนจะพบได้น้อยกว่ามาก
  • แม้ประชากรจะน้อยกว่า 40,000 คน แต่ เมืองหลวง ควรถูกรวมไว้เสมอ และควรทำเครื่องหมายดอกจันไว้ในรูปแบบใดรูปแบบหนึ่ง

  • ยอดเยี่ยมจริง ๆ ประทับใจที่โหลดบนโทรศัพท์ได้เร็วขนาดนี้
    ไอเดียการบีบอัดข้อมูลเชิงพื้นที่เป็น Paths ดีมาก
    ถ้าต้องการหลีกเลี่ยงไลเซนส์ ODbL การใช้ข้อมูล Natural Earth แทน OSM ก็น่าจะดี
    ถ้ามีเครื่องมือสำหรับแปลงข้อมูลเชิงพื้นที่เป็น Paths รวมมาด้วยก็คงดีมาก