Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

อยากให้เพิ่ม code ของจังหวัดด้วยครับ #4

Closed
PNNutkung opened this issue Apr 8, 2017 · 8 comments

Comments

@PNNutkung
Copy link

ขอบคุณมากครับสำหรับ project นี้ มีประโยชน์เวลากรอกที่อยู่บ้านมากครับ
ผมอยากให้มี code ของจังหวัดเพิ่มเข้ามาครับ จะง่ายต่อการใช้ geometric query มากครับ
อย่างเช่น

รหัสตำบล ชื่อตำบล
100101 พระบรมมหาราชวัง
100102 วังบูรพาภิรมย์
100103 วัดราชบพิธ
100104 สำราญราษฎร์
100105 ศาลเจ้าพ่อเสือ
100106 เสาชิงช้า
100107 บวรนิเวศ
รหัสอำเภอ ชื่ออำเภอ
1001 เขตพระนคร
1002 เขตดุสิต
1003 เขตหนองจอก
1004 เขตบางรัก
รหัสจังหวัด จังหวัด
10 กรุงเทพมหานคร
11 สมุทรปราการ

ขอบคุณครับ

@earthchie
Copy link
Owner

earthchie commented Apr 8, 2017

รบกวนยกตัวอย่างการนำไปประยุกต์ให้หน่อยได้ไหมครับ (หรือแค่ช่วยกรอกเฉยๆ ก็พอ?) พอดีผมไม่มีความรู้ด้าน geometric query เลยไม่แน่ใจว่ามันนอก scope แล้วหรือไม่ ถ้ายังอยู่ใน scope จะพิจารณาเพิ่มฟีเจอร์ให้ครับ

อย่างไรก็ตาม ผมมีฐานข้อมูลให้ครับ ตัวนี้เป็นต้นฉบับของฐานข้อมูลที่ใช้ในโปรเจคนี้
สามารถนำไปดัดแปลงได้เลยครับ
https://docs.google.com/spreadsheets/d/1BNu_ofhdyyuyD8g9iVMZlohcyTH5qNBXtQj3HD3BqLY/edit?usp=sharing

@PNNutkung
Copy link
Author

PNNutkung commented Apr 8, 2017

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

อย่างถ้าเลือกแค่เขตดุสิตมันจะวาดมาประมาณนี้ครับ แล้วคนที่ทำแบบสอบถามจะมี lat lon มาสามารถใส่ marker ไว้บน map ได้
image

@earthchie
Copy link
Owner

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

@PNNutkung
Copy link
Author

PNNutkung commented Apr 8, 2017

ผมมีแบบนี้ครับ
ถ้ามีท่านใดมีข้อมูลใหม่กว่าให้ใช้อันใหม่เลยนะครับ
thailand_db.zip

@earthchie
Copy link
Owner

ช่วงนี้ข้อมูลถูก optimize เรื่อยๆ จนโครงสร้างข้อมูลชักไม่เอื้อต่อการผูก id ลงไปแล้ว ล่าสุดมีการยุบคำซ้ำด้วย (แต่ไอดีมันไม่ซ้ำไง) ผมไม่ค่อยเชี่ยวเรื่องการออกแบบ data structure ซะด้วย ขอติดไว้ก่อน รอท่านอื่นๆ optimize กันจนนิ่งแล้วจะมาเพิ่มให้นะครับ

@PNNutkung
Copy link
Author

จากของพี่ @dtinth

[ [ 'กระบี่',
    [ [ 'คลองท่อม',
        [ [ 'คลองท่อมเหนือ', [ 81120 ] ],
          [ 'คลองท่อมใต้', [ 81120 ] ],
          [ 'คลองพน', [ 81170 ] ],
          [ 'ทรายขาว', [ 81170 ] ],
          [ 'พรุดินนา', [ 81120 ] ],
          [ 'ห้วยน้ำขาว', [ 81120 ] ],
          [ 'เพหลา', [ 81120 ] ] ] ],
      [ 'ปลายพระยา',
        [ [ 'คีรีวง', [ 81160 ] ],
          [ 'ปลายพระยา', [ 81160 ] ],
          [ 'เขาต่อ', [ 81160 ] ],
          [ 'เขาเขน', [ 81160 ] ] ] ],
      …

ผมว่าน่าจะเพิ่มเข้าไปแบบนี้ได้นะครับ

[ [ 'กระบี่', 81,
    [ [ 'คลองท่อม', 8104,
        [ [ 'คลองท่อมเหนือ', 810402, [ 81120 ] ],
          [ 'คลองท่อมใต้', 810401, [ 81120 ] ],
          [ 'คลองพน', 810403, [ 81170 ] ],
          [ 'ทรายขาว', 810404, [ 81170 ] ],
          [ 'พรุดินนา', 810406, [ 81120 ] ],
          [ 'ห้วยน้ำขาว', 810405, [ 81120 ] ],
          [ 'เพหลา', 810407, [ 81120 ] ] ] ],
      [ 'ปลายพระยา', 8106,
        [ [ 'คีรีวง', 810604, [ 81160 ] ],
          [ 'ปลายพระยา', 810601, [ 81160 ] ],
          [ 'เขาต่อ', 810603, [ 81160 ] ],
          [ 'เขาเขน', 810602, [ 81160 ] ] ] ],
      …

แต่ผมยังไม่รู้ว่าแบบนี้ดีที่สุดรึเปล่านะครับ

@earthchie
Copy link
Owner

@PNNutkung ตอนนี้ผมทำข้อมูลเสร็จแล้ว ต้องการเอา code ของพื้นที่ต่างๆ ไปพล็อตแผนที่ดูว่าถูกต้องไหม (จะสุ่มตรวจ) ไม่ทราบต้องทำอย่างไรชี้แนะหน่อยครับ ไม่รู้จะค้นด้วย keyword อะไร หาไม่เจอเลย

@earthchie
Copy link
Owner

ผมยังไม่ได้อัพเดตเอกสาร แต่โค้ดเอาขึ้นแล้ว เวอร์ชัน 1.5.0 เป็นต้นไปนะครับ

ให้เลือกใช้ฐานข้อมูล geodb.json หรือ geodb.zip ครับ
db ปกติ ไม่มี area code เพื่อให้ไฟล์เล็ก เพราะไม่น่าได้ใช้กันบ่อยๆ ผมเลยจับแยกดีกว่า

ตัวอย่างวิธีใช้งานครับ เทสแล้วใช้ได้ไม่ได้รบกวนแจ้งด้วยนะครับ

<input type="text" id="search">
<input type="text" id="district_code">
<input type="text" id="amphoe_code">
<input type="text" id="province_code">
$.Thailand({
            database: './jquery.Thailand.js/database/geodb.json', 

            $search: $('#search'),
            $district_code: $('#district_code'),
            $amphoe_code: $('#amphoe_code'),
            $province_code: $('#province_code'),

            onDataFill: function(data){
                console.log(data);
            }
});

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants