أكثر

لم يتم تحميل ملف أشكال ESRI في SQL Server

لم يتم تحميل ملف أشكال ESRI في SQL Server


لقد تم تحميل عدد من ملفات الأشكال في SQL Server 2012 باستخدام ogr2ogr.exe وبرنامج التشغيل MSSQLSpatial. حتى هذه اللحظة ، كنت ناجحًا جدًا في القيام بذلك.

ومع ذلك ، فقد واجهت الآن صعوبة في بعض الملفات ، كما أن الأخطاء التي تسببها الأدوات المختلفة ليست مفيدة بشكل رهيب في تحديد الخطأ الدقيق في ملف الشكل.

يتراوح حجم الملفات في الأسئلة بين 270 ميجابايت و 290 ميجابايت وتحتوي معظمها على طبقة واحدة بها أكثر من 80.000 ميزة في تلك الطبقة. ومع ذلك ، فإن الحجم وعدد الميزات لا يمثلان مشكلة في حد ذاته ، على ما أعتقد ، حيث يبلغ حجم الملف الذي يعد جزءًا من مجموعة البيانات هذه 280 ميجا بايت ويحتوي على 111000 ميزة (ish) في طبقته الخاصة.

يتم تحميل جميع ملفات المشكلة بشكل صحيح ويمكن عرضها في QGIS ، بما في ذلك أي ملفات / ميزات تم التخلص منها بواسطة ogr2ogr.exe باعتبارها تسبب مشكلة. يتم أيضًا تحميلها في MapInfo بنجاح ويمكن تحريرها هناك على ما يرام. لا تؤدي إعادة تصدير الطبقة من QGIS كملف شكل إلى حل مشكلة التحميل عبر ogr2ogr.exe

لقد حاولت أيضًا تحميله باستخدام Shape2SQL وتوقف هذا البرنامج تمامًا بعد أن يصل إلى نقطة معينة مع عدم ظهور رسائل خطأ على الإطلاق.

الرسالة المحددة التي طرحها ogr2ogr.exe هي:

خطأ 1: فشل الأمر INSERT للميزة الجديدة. [Microsoft] [برنامج تشغيل ملقم SQL ODBC] [DBNETLIB] ConnectionWrite (send ()).

الخطأ 1: تعذر كتابة الميزة <رقم الميزة> من الطبقة <اسم الطبقة>.

الخطأ الأول: إنهاء الترجمة قبل الأوان بعد فشل ترجمة الطبقة <اسم الطبقة> (استخدم -تخطي الإخفاقات لتخطي الأخطاء)

بيان سطر الأوامر الخاص بـ ogr2ogr.exe الذي أستخدمه هو:

ogr2ogr.exe -overwrite -f MSSQLSpatial "MSSQL: server =…؛ database =…؛ trust_connection = yes" " .shp" -t_srs "EPSG: 4326" -lco "GEOM_TYPE = الجغرافيا" -lco "SCHEMA = ETL "-lco" OVERWRITE = نعم "-تقدم

ملفات الأشكال موجودة في إسقاط WGS84.

هل يعرف أي شخص الأداة التي قد أتمكن من استخدامها من مجموعة أدوات GDAL أو QGIS أو MapInfo لإصلاح الأخطاء في ملفات الأشكال هذه بحيث يمكن تحميلها بواسطة ogr2ogr.exe في SQL Server 2012؟ أم أنها حجج ogr2ogr.exe الخاصة بي بالتناوب؟

تحديث:

لقد تمكنت من تشغيل المكون الإضافي Vertices Counter والميزة الأولى التي تسبب مشكلة لها 5،558،760 رأس.


هذا عمل معي في قذيفة ogr.

قم أولاً بتغيير الدليل الخاص بك إلى المجلد الذي يحتوي على ملف الأشكال (cd full path to shapefile folder)

ogr2ogr -overwrite -f "MSSQLSpatial" "MSSQL: الخادم = ... ؛ قاعدة البيانات = ... ؛ Trusted_connection = نعم" test.shp -a_srs "EPSG: 4326" -nln "test"

تخليت أخيرًا عن محاولة تحميل الملفات الكبيرة - لا يبدو أن ذلك ممكنًا باستخدام أي أداة. كان الجانب الآخر من العملة هو أن الميزات التي تمكنت من تحميلها استغرقت أكثر من ساعة واحدة للقيام بمهمة بسيطةيتداخلاستفسار.

المحلول:

لقد قمت بتقطيع ملفات الأشكال الكبيرة باستخدامogr2ogrاستنادًا إلى الأشكال الهندسية للمقاطعة ثم تحميلها وربطها ببيانات المقاطعة من أجل إنشاء مجموعة أصغر من الكائنات الجغرافية للاستعلام عنها.

عملت هذه الطريقة مثل السحر ويتداخللا يزال أداء الاستعلام لملف الأشكال الأكثر تعقيدًا في حدود 600 مللي ثانية وهو أمر مقبول لأغراضنا.


لقد قررت باستخدام الأمر: -FieldTypeToString All

كانت المشكلة في حالتي عبارة عن عمود به مشكلة تحويل رقمية. لذلك قلبت جميع الأعمدة (باستثناء الجغرافيا بالطبع) ، وتم حلها.


اعتدت أن أواجه نفس المشكلة ، وكانت أسرع طريقة هي استخدام هذه الأداة.

http://www.dknezevic.com/blog/2014/10/import-shapefiles-into-sql-server.html

إنه سريع وسهل العمل معه.


وجدت أن لدي هذا الخطأ مع خريطة المناطق الإدارية في العالم.

كان الحل الذي نجح معي هو الرجوع من QGIS 2.18 (GDAL الإصدار 2.1.1) إلى GGIS 2.12 (GDAL الإصدار 1.11.3). ثم عملت بشكل جيد.


شاهد الفيديو: Convert CAD To ArcGis