polymaps & poly …รูปหลายเหลี่ยม


9

ฉันเพิ่งเล่นกับ Bing Maps + Polymaps เมื่อเร็ว ๆ นี้

มันได้กลายเป็นที่ชัดเจนว่า Bing เป็นทรัพยากรการทำแผนที่ใช้ได้เฉพาะกับ Polymaps ที่มีภาพถ่ายดาวเทียม มันเป็นเรื่องจริงเหรอ?

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

ฉันเข้าใจว่าการโหลดข้อมูลทางภูมิศาสตร์ไปยังแผนที่ด้วย Polymaps คุณอาจใช้. คุณสมบัติ () หรือ. url () เป็นส่วนหนึ่งของวัตถุ geoJSON

ฉันมีคุณสมบัติ () ทำงานได้ แต่ด้วยการใช้ฟังก์ชั่นนี้ข้อมูลรูปหลายเหลี่ยมต้องถูกฝังลงในไฟล์ javascript ด้วยตัวเองเช่นเดียวกับใน:

map.add(po.geoJson()
        .features([
    {
      "geometry": {
        "coordinates": [[
[[-63.599925935268395,44.64018531837119],[-63.599789142608664,44.640219671024646],[-63.59973818063736,44.6401452402498],[-63.599877655506134,44.64010707058464],[-63.599925935268395,44.64018150140844]],

[[-63.59986692667008,44.639874235083376],[-63.59975695610047,44.63991431339196],[-63.599697947502136,44.63981507181532],[-63.5998159646988,44.639782627416906],[-63.59986424446105,44.6398723265918]]
        ]],
        "type": "MultiPolygon"
      },
      "type": "Feature",
      "id": "beat:05X",
      "properties": {"name": "05X"}
    }

        ]));

ฉันต้องการให้ข้อมูลนี้มาจากฐานข้อมูลจริงและไม่ได้อยู่ในรูปแบบจาวาสคริปต์เอง - ซึ่งบอกฉันว่าฉันควรใช้วิธีการ. url () แทน - ถูกต้องหรือไม่ และถ้าฉันใช้วิธีการ. url () ฉันจะต้องส่งเทมเพลต URL ที่ถูกต้องที่ส่งคืน geoJSON ... ฉันจะทำอย่างไรกับข้อมูลส่วนตัวของฉัน ฉันคุ้นเคยกับ PHP และ mySQL - ฉันต้องใช้ระบบฐานข้อมูลเชิงพื้นที่แทนหรือไม่

และเซิร์ฟเวอร์แผนที่อย่าง MapServer, GeoServer และอื่น ๆ เข้ากันได้อย่างไร ฉันไม่สามารถตั้งค่าสคริปต์ PHP เพื่ออ่านเทมเพลตเหล่านี้จากตัวแปร $ _GET สอบถามฐานข้อมูลและส่งคืนสตริง geoJSON ที่เหมาะสมได้หรือไม่

ฉันแค่ต้องการแรงบันดาลใจตัวชี้ไม่กี่ตัวที่จะชี้แนะทางของฉันและฆ่าความสงสัยบางอย่างที่ฉันมี ฉันพบว่าตัวเองเพิ่งขุดไปรอบ ๆ stackexchange และ googling ทุกอย่างจากเซิร์ฟเวอร์แผนที่ไปยังฐานข้อมูลเชิงพื้นที่ทางภูมิศาสตร์ - คุณชื่อมันฉันอาจจะอ่านเกี่ยวกับเรื่องนี้ แต่ฉันพยายามรวบรวมชิ้นส่วนต่างๆ

คำถามยืดยาว แต่เมื่อสิ่งเหล่านี้ได้รับการชี้แจงฉันควรจะอยู่ในตำแหน่งที่ดีขึ้นมาก


เราสามารถลบ polymaps ออกจากสมการได้ถ้ามีสารทดแทน

โดยสรุปฉันกำลังมองหารูปหลายเหลี่ยมจำนวนมากจากฐานข้อมูล (PostGIS?) ของรูปทรงขนาดสีและแผ่นใสที่แตกต่างกันทั้งหมดและพล็อตพวกมันบนแผนที่ นั่นเป็นหลักมัน! Polymaps มีกราฟิกแบบเวกเตอร์ + ฉันคิดว่าการได้รับสิ่งนี้ในระหว่างการเดินทางจะไม่สำคัญเมื่อใช้รหัสด้านบน ... เราสามารถทำให้เสียถ้าคุณมีแนวคิดอื่น อะไรคือทางออกที่ดีที่สุด? ความต้องการทางธุรกิจเพียงอย่างเดียวของฉันคือการเปิดใช้งานภาพจากดาวเทียม ... ซึ่งหมายความว่าเรากำลังทำงานกับ Bing หรือ Google

คำตอบ:


8

หากคุณกำลังพูดถึง GeoJSON คุณสามารถใช้ฐานข้อมูลประเภทใดก็ได้และเซิร์ฟเวอร์ด้านหลังคุณต้องการตราบเท่าที่:

1) คาดว่าจะได้รับ TMS หรือ /{zoom}/{x-coord}/{y-coord}.json สไตล์ URL และสามารถแปลง Z / X / Y ในกล่องขอบเขต

(ดูที่ Tilestache (.org) หากคุณต้องการ / ต้องการดูคณิตศาสตร์ที่เกี่ยวข้องกับการทำสิ่งนั้น)

2) ส่งคืน GeoJSON

สำหรับการกำหนดสไตล์และการเพิ่มบิตเชิงโต้ตอบให้กับผลลัพธ์ข้อมูลคุณจะต้องกำหนดฟังก์ชัน "โหลด" โดยใช้เมธอดเลเยอร์เปิด () ตัวอย่างเช่น:

var l = org.polymaps.geoJson ();
l.url ( "http://example.com/tiles/{Z}/{X}/{Y}.json");
l.on ("load", function (e) {... });

ไซต์ Polymaps มีเอกสารและโค้ดตัวอย่างที่ดีมากมาย แต่ฉันได้รวมสไลด์และโค้ดตัวอย่างจากการประชุมเชิงปฏิบัติการ Polymaps ที่ฉันทำเมื่อเร็ว ๆ นี้:

http://www.aaronland.info/talks/where2011/

http://www.aaronland.info/talks/where2011/workshop

ไชโย


ขอบคุณแอรอนลิงก์ที่คุณโพสต์นั้นขาดไม่ได้อย่างแท้จริง ฉันดาวน์โหลดไฟล์เพื่อการตรวจสอบในภายหลังฉันจะถูกอ้างอิงถึงพวกเขาเมื่อฉันอยู่ในขั้นตอนการโต้ตอบ ฉันไม่แน่ใจว่า Tilestache เป็นสิ่งที่ฉันต้องการเพราะ Bing กำลังดูแลกระเบื้องจริงหรือเปล่า? ข้อมูลที่กำหนดเองที่ฉันจะให้บริการคือข้อมูลรูปหลายเหลี่ยมไม่ใช่ประเภท. png, .jpg ฯลฯ มีโอกาสใดบ้างที่ฉันจะสามารถขึ้นไปถึงจุดสูงสุดที่. /flickr.json? ไม่มีลิงก์ ไชโยและขอบคุณอีกครั้ง
Jordan Arseno

ฉันพบมันในรากของการประชุมเชิงปฏิบัติการ / 005-data / ขอบคุณ!
Jordan Arseno

2

ตกลงดังนั้นนี่คือข้อตกลง - โพสต์บล็อกนี้

เคลียร์ทุกอย่างแล้ว มันเป็นสิ่งที่ต้องอ่านสำหรับทุกคนที่เล่นกับ Polymaps ฉันพบมันผ่าน Henry ในReddit

แอรอนพูดถึงการใช้ TileStache และแน่นอน ... นั่นคือกุญแจสำคัญฉันไม่ได้เห็นว่า - โพสต์บล็อกข้างต้นค่อนข้างให้ข้อมูลในการใช้ TileStache ชนะที่ยิ่งใหญ่


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

สวัสดีเอริคถ้าคุณดาวน์โหลดและแยกปลั๊กอิน polymaps ไปยังเว็บเซิร์ฟเวอร์ของคุณคุณสามารถเข้าถึงตัวอย่างที่สมบูรณ์แบบได้ที่: localhost / polymaps / samples / tipsy / tipsy.html - ตรวจสอบที่มาของผู้ชายคนนี้ ความจริงจะบอกฉันได้ใส่โครงการการทำแผนที่นี้ในโหมด hiatus ชั่วคราวและยังไม่บรรลุดาต้าพอยท์แบบคลิกได้ แต่นี่คือสิ่งที่ฉันจะเริ่มต้น ดีที่สุด!
Jordan Arseno

@JordanArsenault ลิงก์ "โพสต์บล็อกนี้" ไม่ทำงานอีกต่อไป - คุณบังเอิญดาวน์โหลดข้อมูลหรือไม่ ขอบคุณ
Stephen Lead

เฮ้สตีเฟ่นแน่นอนตอนนี้ Blog Post ไม่ทำงานและฉันไม่มีสำเนาดาวน์โหลด อย่างไรก็ตามผู้สร้าง goalfinch สามารถพบได้ที่นี่: linkedin.com/in/hanskuder ... โปรดถ้าคุณพบเนื้อหาแจ้งให้เราทราบและฉันจะแก้ไขลิงก์ - หรือแก้ไขโพสต์นี้ :)
Jordan Arseno
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.