باستخدام GDAL/OGR api قراءة ناقل البيانات (الشكلي)--كيف ؟

StackOverflow https://stackoverflow.com/questions/340185

  •  19-08-2019
  •  | 
  •  

سؤال

أنا أعمل على تطبيق ينطوي على بعض المعلومات الجغرافية الأشياء.سيكون هناك بعض .ملفات shp يمكن قراءة و رسم على برنامج opengl شاشة.الحالي opengl شاشة باستخدام الهجائي إسقاط مجموعة من glOrtho() و هو بالفعل عرض خريطة باستخدام الإحداثيات من ملف نصي..

الآن الخريطة إلى أن تآمر هو أن تكون قراءة من الشكلي.

لدي شكوك:

  1. كيفية استخدام WGS84 الإسقاط .ملف shp(كما يقرأ من .prj ملف الشكلي AWT format) في القائمة glOrtho الإسقاط..هل هناك أي التحويل الذي يجب القيام به ؟ وكيف هو مختلف عن ما glOrtho() مجموعات ؟ أساسا كيفية استخدام هذه المعلومات ؟

  2. بلدي التطبيق يحتاج إلى أن يكون الإعداد في مثل هذه الطريقة التي لا يمكن أن تعرف بدقة خطوط الطول/العرض من نقطة على الخريطة.على سبيل المثال.إذا أنا تحوم على X مدينة الصحيح lat/long يمكن المنال.أنا أعرف أن هذا يمكن القيام به باستخدام مفتوحة المصدر تيلس/واجهات برمجة التطبيقات مثل GDAL/OGR ولكن أنا افسدت لأن الوثائق من واجهات برمجة التطبيقات هذه لا تحصل في رأسي.حاولت أن أجد بعض عينة c++ progs ولكن لم أستطع العثور على واحد.

  3. كنت قد كتبت بالفعل بلدي المنطق قراءة الإحداثيات من الشكلي تحتوي على أي نقطة/متعدد الخطوط/المضلع(باستخدام C-shapelib) و تآمر على opengl شاشة.وجدت OGR نموذج التعليمة البرمجية في doc إلى قراءة نقطة الشكلي ولكن لا المضلع الشكلي.و المشكلة هي أن هذا التطبيق يجب أن تكون ديناميكية بحيث عند تحميل الشكلي يجب أن بشكل صحيح إعداد إسقاط opengl شاشة تبعا الإسقاط .ملف shp قراءتها..على سبيل المثال WGS84 ، LCC ، ايفرست تعديل...الخ.كيف يمكن تحقيق هذا من OGR api ؟

يرجى إعطاء المدخلات الخاصة بك على هذه المشكلة..أنا حقا حريصة على جعل هذا العمل ولكن ايم لا تحصل على البداية الصحيحة..

هل كانت مفيدة؟

المحلول

  1. الشكلي يرجع إلى الأمام مستقيمة تماما في OpenGL.قد تتطلب "shapelib" ، الشكلي تحليل مكتبة في ج(جوجل).استخدام GL_POINTS نقطة الشكلي GL_LINES على خط الشكلي و GL_LINE_LOOP عن المضلع الشكلي.تعيين المربع المحيط coords إلى أورثو.

  2. ماذا تقرأ من الكتاب .prj الملف هو الإسقاط معلومات عن الفندق.WGS84 يعطيك lat/long coords(كروية).ولكن العرض الخاص بك نظام 2D(مستطيلة).لذا تحتاج إلى تحويل 3D كروية coords 2D مستطيلة coords(هذا هو معنى الإسقاط).الإسقاط أنواع عديدة حسب مجال الاهتمام في العالم(تذكر الإسقاط يشوه المنطقة/الشكل/الحجم من الميزات).أنواع الإسقاط مجموعة من Polyconic تعديل ايفرست ، NAD ، UTM ، وما إلى ذلك ،

  3. إذا كنت ببساطة الحاجة WGS84 ، ثم قراءة المربع المحيط coords الخاص بك .sh الملف وتعيينها إلى glOrtho.إذا كان لديك أي الإسقاط(على سبيل المثال:-UTM) ، ثم تحويل المربع المحيط coords في إسقاط coords ثم تعيين حديثا المتوقع coords إلى glOrtho.لتحويل خطوط الطول/العرض في أي الإسقاط ، قد تتطلب إسقاط المكتبات مثل "Projlib" أو "GeotransEngine" وغيرها.

للحصول على مزيد من التفاصيل يمكنك الاتصال بي على dgplinux@ y a h o o .c o m

نصائح أخرى

يرجى قراءة OGR API التعليمي حيث يمكنك أن تتعلم كيفية قراءة ناقلات البيانات من مصادر مثل الشكلي.تحقق من OGR التوقعات التعليمي حيث يمكنك معرفة المزيد عن كيفية استخدام المعلومات حول إسقاط المرجعية المكانية نظام قراءة من OGR المصادر.

GDAL/OGR لديها كل ما تحتاجه لتحميل ملف ناقلات, ثم تحويل أي الإحداثيات.أنا أتفهم الإحباط مع GDAL لأن الوثائق ليس أعظم.إذا كنت ترغب في مقدمة جيدة إلى استخدام API ، انظر gdalinfo.ج ogrinfo.cpp في GDAL التخريب شجرة.مصدر يمكن أن ينظر إليه في https://svn.osgeo.org/gdal/trunk/gdal.

إذا كان هذا لا يساعد ، لدي اثنين من الأمثلة الأساسية التي تستخدم لتحليل المتجهات معلومات و لا تنسيق التحويل.هم حقا سيئة ، ولكنها قد تساعد في الحصول على نقطة.

ناقلات تحميل

تنسيق التحويل

أخيرا, إذا كنت لم تكن مألوفة مع صيغ نظم المعلومات الجغرافية ، وأود أن تنظر القراءة ArcGIS مقدمة هنا تحت Guide Books/Map Projections.أنا يمكن أن تتنافس مع الخبراء على الرغم من عدم الخرائط التدريب بسبب هذه الأدلة.مصدر جيد آخر هو ويكيبيديا.

عندما تكون في شك, مجرد اختيار UTM الشبكة كنت تريد أن العصا مع استخدام UTM الخاص بك نظام الإحداثيات.ويستخدم X (بإتجاه الشرق), Y(Northing) ، Z(علو).المفتاح الوحيد هو اختيار واحد UTM الشبكة والتأكد من جميع الإحداثيات استخدام هذا كمرجع.UTM من السهل اختبار البرمجية كما أن هناك الكثير من الأدلة على الانترنت.أنت أيضا يمكن أن تجد كود التحويل باستخدام OGR/GDAL أو الموارد الأخرى.غيرها من المتوقع تنسيق النظم المفيد و قد يكون أفضل ، ولكن أود أن ننظر في ذلك أن تبدأ مع.

وأخيرا ، إذا فشل كل شيء آخر ، نلقي نظرة على NGA GeoTrans.هذا هو عظيم أداة اختبار.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top