أكثر

كيفية استخراج بيانات النمط من DXF عند التحويل إلى geoJSON


أنا أستخدم ogr2ogr (GDAL) لتحويل ملفات DXF (من autoCAD) إلى geoJSONS للاستخدام داخل Leaflet.js المشكلة هي أن الكثير من المعلومات ، مثل حجم خط الخط والألوان لا يتم الاحتفاظ بها أثناء التحويل.

أرغب في استخلاصها ، حتى أتمكن من استخدامها لاحقًا مع geoJSON ، حتى لو اضطررت إلى تنفيذ ذلك يدويًا. كيف يمكنني أن أفعل هذا ؟

خياري الوحيد في الوقت الحالي هو تحليل DXF بنفسي والبحث عن الألوان ولكن يجب أن تكون هناك طريقة أفضل


الق نظرة على السمات. يمكن لـ GDAL قراءة الأنماط من DXF:

ogrinfo jcsample.dxf -al INFO: تم فتح "jcsample.dxf" باستخدام برنامج التشغيل "DXF" بنجاح. اسم الطبقة: الكيانات الهندسة: غير معروف (أي) عدد الميزات: 4036 النطاق: (-174.786500 ، -1163.622000) - (1769.214000 ، 204.378100) الطبقة SRS WKT: (غير معروف) الطبقة: السلسلة (0.0) الفئات الفرعية: السلسلة (0.0) الكيان الممتد: السلسلة (0.0) Linetype: String (0.0) EntityHandle: String (0.0) النص: String (0.0) OGRFeature (الكيانات): 0 Layer (String) = PAPER SubClasses (String) = (null) ExtendedEntity (String) = (null) Linetype (String) = CONTINUOUS EntityHandle (String) = (null) Text (String) = (null) Style = PEN (c: # 00ffff، p: "1.0g") LINESTRING (1644.348 -1051.956 0،1763.214 -1051.956 0)

ومع ذلك ، لا تتم كتابة الأنماط في GeoJSON تلقائيًا ولكن يمكنك القيام بذلك باستخدام المعامل -sql:

ogr2ogr -f geojson -dialect sqlite -sql "حدد الهندسة ، ogr_style من الكيانات" style.json jcsample.dxf

تحقق من النتيجة:

ogrinfo style.json -ro -al INFO: تم فتح "style.json" باستخدام برنامج التشغيل "GeoJSON" بنجاح. اسم الطبقة: OGRGeoJSON Geometry: غير معروف (أي) عدد الميزات: 4036 النطاق: (-174.786500، -1163.622000) - (1769.214000، 204.378100) Layer SRS WKT: GEOGCS ["WGS 84"، DATUM ["WGS_1984"، WGSEROID] 84 "، 6378137،298.257223563، AUTHORITY [" EPSG "،" 7030 "]]، AUTHORITY [" EPSG "،" 6326 "]]، PRIMEM [" Greenwich "، 0، AUTHORITY [" EPSG "،" 8901 "]] ، UNIT ["degree"، 0.0174532925199433، AUTHORITY ["EPSG"، "9122"]]، AUTHORITY ["EPSG"، "4326"]] OGR_STYLE: String (0.0) OGRFeature (OGRGeoJSON): 0 OGR_STYLE (String) = PEN (c: # 00ffff، p: "1.0g") النمط = PEN (c: # 00ffff، p: "1.0g") LINESTRING (1644.348 -1051.956 0،1763.214 -1051.956 0)

من الغريب إلى حد ما أن ينتقل Style الآن إلى كل من OGR_STYLE و Style ، ولكن على الأقل يمكنك الحصول عليهما. تم توثيق OGR_STYLE في http://www.gdal.org/ogr_feature_style.html.


شاهد الفيديو: CHCNAV. LandStar7: How to import DXF file (شهر اكتوبر 2021).