การแสดงรูปร่างของไฟล์ 3 มิติด้วย Mapserver และ Postgis


17

ฉันสงสัยว่ามีวิธีในการมองเห็นข้อมูล 3 มิติด้วย mapserver หรือไม่? ไฟล์ 3D .shp อยู่ในฐานข้อมูล postgis และฉันได้เชื่อมต่อ mapserver กับฐานข้อมูลแล้ว แต่มีเลเยอร์เรียบง่ายใน mapfile


สำหรับฉัน MapServer เป็นเซิร์ฟเวอร์การทำแผนที่และมันเป็นไปไม่ได้ที่จะเห็นภาพข้อมูล 3 มิติด้วย ด้วย ArcGis Explorer ใช่ !!

ข้อมูลประเภทใดที่คุณกำลังพยายามมองเห็นเป็นภาพและคุณต้องการรวมมิติข้อมูลที่สามอย่างไร คำตอบอาจไม่ได้ แต่อาจมีวิธีแก้ปัญหาขึ้นอยู่กับสิ่งที่คุณพยายามทำ
SCW

ฉันแค่ต้องการให้เห็นภาพแผนที่ยิปซั่มของฉันด้วยเส้น 3 มิติบนนั้น ฟังก์ชั่น GRASS nviz บางอย่าง
ต่อต้านโฟลว์

คำตอบ:


4

วิธีหนึ่งที่จะไปได้คือให้ PostGIS ฉายภาพ 3 มิติ ฉันได้ทำการทดสอบง่ายๆเมื่อไม่กี่เดือนที่ผ่านมาเพื่อให้เห็นภาพฟังก์ชั่นระยะทาง 3 มิติที่มาเช่น ST_3DShortestLine

สิ่งที่ฉันทำก็เพียงแค่ใช้ ST_RotateX, ST_RotateY และ ST_RotateZ เพื่อสร้างเรขาคณิต 3 มิติ "แสดงให้เห็นมากกว่าด้านบนของกล้อง"

สง่างามและมีประสิทธิภาพมากขึ้นคือการเปลี่ยนแปลงทั้งหมดด้วย ST_Affine

ด้วยการใช้ฟังก์ชั่นขั้นสูงฉันคิดว่ามันคงเป็นไปได้ที่จะได้มุมมองมุมมอง 3 มิติเช่นกัน

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

ด้วยวิธีนี้คุณควรทำให้ MapServer นำเสนอข้อมูลของคุณเสมือน 3D แต่ MapServer จะเห็นรูปทรงเรขาคณิต 2D แบนเท่านั้น

หากใครบางคนประสบความสำเร็จกับสิ่งนี้ฉันสนใจ ฉันคิดเกี่ยวกับการสร้างฟังก์ชั่น 3D ปลอมด้วยวิธีนี้ใน postgisonline.org แต่ฉันไม่มีความรู้และเวลาที่จะคิดออกว่าการเปลี่ยนแปลงควรจะทำอย่างไรกับ ST_Affine เพื่อให้มุมมองมุมมองและหมุนรอบจุดศูนย์กลางของ mapextent แทนที่จะหมุนรอบโอริโก

/ Nicklas


6

MapServer จะไม่ทำอะไรเพื่อคุณ คุณต้องอัปเกรดเป็นเวอร์ชั่นล่าสุดเพื่อให้มีโอกาสเพราะรุ่นก่อนหน้านี้จะแยกส่วนข้อมูลที่สามในคิวรีฐานข้อมูล ทางออกที่ดีที่สุดของคุณอาจลองใช้ GeoServer และ KML สนับสนุนที่นั่นและดูว่าคุณสามารถเห็นภาพใน Google Earth หรือไม่ หรือความล้มเหลวนั้นเขียนสคริปต์ PHP เล็กน้อยเพื่อดึงข้อมูลของคุณออกจาก PostGIS ด้วยฟังก์ชัน ST_AsKML () และใส่สไตล์ไว้ในระหว่างทาง ไม่มีเวทมนต์ให้ใช้!


3

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

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