أكثر

تحويل بيانات sqlite (spatialite) إلى oracle sdo_geometry (باستخدام .NET)


باستخدام .NET ، لدي ملف sqlite لا بد لي من استيراده إلى oracle. يجب تحويل الهندسة من عمود هندسة sqlite (مكاني) إلى عمود sdo_geometry في أوراكل:

// تكرار كل السجلات في ملف sqlite foreach (صف DataRow في dsSqLite.Tables ["افتراضي"]. صفوف) {// احصل على حقل الهندسة من sqlite واجعله جاهزًا لتنسيق oracle NetSdoGeometry.sdogeometry geom = row ["GEOMETRY" ] ؛ // خطأ هنا}

عند تنفيذ ما سبق ، يظهر لي خطأ "تعذر إرسال كائن من النوع" System.Byte [] "لكتابة" NetSdoGeometry.sdogeometry ". كما أنني لا أرى مكان تحديد SRID. هل يعرف أي شخص الطريقة الصحيحة تحويل العمود الهندسي من spatialite إلى oracle sdo_geometry؟

المراجع: مكتبة NetSdoGeometry: https://github.com/mapspiral/NetSdoGeometry


من خلال ما أراه ، يعمل NetSdoGeometry فقط من خلال قراءة الأشكال الهندسية من Oracle إلى بعض كائنات الشبكة. لا أرى مكانًا حيث يحدث العكس.

ربما يكون الحل الأبسط هو استخدام gdal (ogr2ogr) لنسخ المحتوى من sqlite إلى Oracle. راجع http://www.gdal.org/drv_sqlite.html للحصول على تفاصيل حول برنامج التشغيل هذا.


استخدم SCOPE_IDENTITY () إذا كنت تقوم بإدخال صف واحد وتريد استرداد المعرف الذي تم إنشاؤه.

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

ولماذا هذا هو أفضل خيار أسرع؟

بغض النظر عن الأداء ، فهذه هي الوحيدة التي يتم ضمان صحتها في مستوى العزل الافتراضي و / أو مع عدة مستخدمين. حتى إذا تجاهلت جانب الصحة ، فإن SQL Server يحتفظ بالقيمة المدرجة في SCOPE_IDENTITY () في الذاكرة ، لذلك من الطبيعي أن يكون هذا أسرع من تشغيل الاستعلام المعزول وتشغيله مقابل الجدول أو مقابل جداول النظام.

إن تجاهل جانب الصحة يشبه إخبار ساعي البريد أنه قام بعمل جيد في توصيل بريد اليوم - لقد أنهى طريقه أسرع بعشر دقائق من متوسط ​​وقته ، والمشكلة هي أنه لم يتم تسليم أي بريد إلى المنزل الصحيح.

لا استخدم أيًا مما يلي:

  • IDENTITY - نظرًا لأنه لا يمكن استخدام هذا في جميع السيناريوهات ، على سبيل المثال عندما يحتوي الجدول الذي يحتوي على عمود هوية على مشغل يتم إدراجه أيضًا في جدول آخر بعمود الهوية الخاص به - ستحصل على القيمة الخاطئة مرة أخرى.
  • IDENT_CURRENT () - أخوض في التفاصيل حول هذا هنا ، والتعليقات مفيدة للقراءة أيضًا ، ولكن بشكل أساسي ، في ظل التزامن ، غالبًا ما تحصل على إجابة خاطئة.
  • MAX () أو TOP 1 - سيتعين عليك حماية العبارتين بعزل قابل للتسلسل للتأكد من أن MAX () الذي تحصل عليه ليس خاصًا بشخص آخر. هذا أغلى بكثير من مجرد استخدام SCOPE_IDENTITY ().

تفشل هذه الوظائف أيضًا عندما تقوم بإدراج صفين أو أكثر ، وتحتاج إلى جميع قيم الهوية التي تم إنشاؤها - خيارك الوحيد هو عبارة OUTPUT.


تحويل بيانات sqlite (spatialite) إلى oracle sdo_geometry (باستخدام .NET) - نظم المعلومات الجغرافية

كوردينات 2 تم تطوير تطبيق الويب (https://dominoc925-pages.appspot.com/webapp/koordinat2/default.html) باستخدام ReactJS و WebAssembly لتحويل الإحداثيات الجغرافية وإظهارها على الخريطة. يستخدم WebApp ملفات مشروع 4 في الخلفية لإجراء تحويل الإسقاط وتحويل الإسناد ومن ثم فهو يدعم أكثر من ألف نظام مرجعي إحداثي.

باستخدام كوردينات 2 WebApp سهل. يوضح ما يلي ما يمكن عمله باستخدام تطبيق الويب.

    باستخدام متصفح حديث ، افتح ملف كوردينات 2 WebApp على عنوان url هذا https://dominoc925-pages.appspot.com/webapp/koordinat2/default.html

يتم عرض صفحة WebApp.

اختيار أنظمة الإحداثيات

    لتحديد نظام إحداثيات الإدخال الأساسي ، انقر فوق هيأ رمز في إحداثيات المدخلات لوجة.

يظهر مربع الحوار تحديد نظام تنسيق المصدر.

يتم سرد واحد أو أكثر من الإدخالات.

يتم اختيار نظام الإحداثيات المحدد.

تحويل الإحداثيات

    لتحويل الإحداثيات في تنسيق الإدخال النظام ، اكتب ملف بإتجاه الشرق و الشمال (أو خط العرض و خط الطول) في حقول الإدخال المقابلة.

يتم عرض الإحداثيات المحولة على الفور في حقلي خط الطول وخط العرض لإحداثيات الإخراج (أو حقلي الشرق والشمال).

يتم أيضًا إنشاء علامة مقابلة على الخريطة للإشارة إلى موقع الإحداثي.

عرض إحداثيات مواقع الخريطة

    لعرض إحداثيات المواقع على الخريطة ، ما عليك سوى النقر على موقع الخريطة بالماوس.

يتم وضع علامة في الموقع الذي تم النقر عليه.

    في شريط الأدوات في الجزء العلوي الأيمن ، انقر فوق شبكة أيقونة.

يظهر مربع الحوار Select Grid Settings.

اختيار طبقة أساسية

    في شريط الأدوات في الجزء العلوي الأيمن ، انقر فوق طبقة أيقونة.


تحويل بيانات sqlite (spatialite) إلى oracle sdo_geometry (باستخدام .NET) - نظم المعلومات الجغرافية

نظم المعلومات الجغرافية ObjectLand هو نظام معلومات جغرافية عالمي لنظام التشغيل Windows. الميزات الرئيسية: - إنشاء خرائط نقطية متجهة مع بنية عشوائية للطبقات وأنواع الميزات - إنشاء السمات. السمة عبارة عن عرض تقديمي للمستخدم لخريطة - التحكم في عرض الميزات اعتمادًا على المقياس المختار - إدخال البيانات المكانية والتحرير عن طريق تعيين الميزة. تنزيل GIS ObjectLand 2.6.5 مجانًا بحجم 24.76 ميجا بايت.

الخطوط النقطية Algolab إلى Vector تحويل CAD / GIS SDK 2.55 AlgoLab Inc.

مجموعة تطوير البرمجيات لـ CAD / CAM / نظم المعلومات الجغرافية ومطوري برامج الرسوم البيانية. يحول من خطوط المسح إلى المتجهات ويحسن المهندس المعماري والرسم الميكانيكي والتقني والخرائط والرسومات البيانية للرياضيات والرسومات للكتب والمجلات والمزيد. يتوفر أيضًا ActiveX و Com Component. يحسن الرسومات المتجهة ، ويخلق خطوطًا وأشكالًا دقيقة. يتم التعرف على الرسومات الممسوحة ضوئيًا. تنزيل مجاني لـ Algolab Raster to Vector Conversion CAD / GIS SDK 2.55 ، حجم 2.87 ميجا بايت.

محرك AvisMap GIS 5.0.1 AvisMap GIS Technologies

AvisMap نظم المعلومات الجغرافية المحرك هو SDK شامل لتطوير العرف نظم المعلومات الجغرافية التطبيقات والحلول. يوفر SDK هذا العديد من عناصر تحكم ActiveX (OCX) التي تدعم Visual Basic و VB.NET و C # و Visual C ++ ولغات البرمجة الأخرى المتوافقة مع ActiveX ، مع إصدارات Microsoft Visual Studio 6 و 2003 و 2005 و Express. يدعم .NET عبر COM. في حين. تنزيل AvisMap GIS Engine 5.0.1 مجانًا ، بحجم 45.89 ميجا بايت.

Canvas GIS Advanced (Mac) 9.0.4 أنظمة ACD

قماش 9 متقدم نظم المعلومات الجغرافية يضيف Mapping Edition دعمًا أصليًا لنظام المعلومات الجغرافية (نظم المعلومات الجغرافية) البيانات إلى Canvas. يمكنك إجراء قياسات في الإحداثيات الجغرافية ، واستيراد ملفات SHAPE و GeoTIFF القياسية في الصناعة إلى عدد غير محدود من الطبقات المتداخلة المحاذاة تلقائيًا والاختيار من بين الخيارات التالية: E2،104 Coordinate. تنزيل Canvas GIS Advanced (Mac) 9.0.4 مجانًا ، بحجم 54.42 ميجا بايت.

Canvas GIS Mapping Edition (Mac) 9.0.4 أنظمة ACD

القماش 9 نظم المعلومات الجغرافية يضيف Mapping Edition دعمًا أصليًا لنظام المعلومات الجغرافية (نظم المعلومات الجغرافية) البيانات إلى Canvas. يمكنك إجراء قياسات في الإحداثيات الجغرافية واستيراد ملفات SHAPE و GeoTIFF القياسية في الصناعة إلى عدد غير محدود من الطبقات المتداخلة المحاذاة تلقائيًا والاختيار من بين الخيارات التالية: 2،104 تنسيق مرجعي. تنزيل مجاني لـ Canvas GIS Mapping Edition (Mac) 9.0.4 ، حجم 54.42 ميجا بايت.

CMS Xpandy مدعوم من IntelliCAD 6.3 CAD Manufacturing Solutions ، Inc.

إذا كنت غير قادر على شراء الأحدث انتليكاد التكنولوجيا ، ثم وجدت البرنامج المناسب. CMS Xpandy مدعوم من IntelliCAD 6.3 تسمح لك التكنولوجيا بحرية استخدام ملف IntelliCAD تطبيق CAD قائم. يمكنك أيضًا إنشاء إعلاناتك ونشرها باستخدام Xpandy Technology. متطلبات النظام الإضافية: Microsoft .NET 2.0 Framework ، و. تنزيل مجاني لـ CMS Xpandy بدعم من IntelliCAD 6.3 ، حجم 54.78 ميجا بايت.

برنامج progeCAD Standard IntelliCAD Software 2011 CADDIT CAD Software

بروجكاد IntelliCAD يقوم بتحرير ملفات AutoCAD DWG CAD على أنظمة التشغيل Windows 7 و Windows XP و Vista بأقل تكلفة. تحرير ملفات AutoCAD DWG 2010 ، قراءة وكتابة DXF. رموز وأوامر وواجهة مماثلة.IntelliCAD مترجم AutoLISP ، نقطة مؤقتة مفاجئة (مثل oSnap) ، طبقات ، كتل. للحصول على رسم CAD كامل ، نوصي بشدة باستخدام progeCAD Professional بدلاً من ذلك. تنزيل برنامج progeCAD Standard IntelliCAD Software 2011 مجانًا ، بحجم 212.46 ميجا بايت.

Quantum GIS Tethys 1.5-r13926-1 فريق تطوير QGIS

الكم نظم المعلومات الجغرافية يحتوي مستودع Tethys على الكثير من البرامج من مشاريع OSGeo. الكم نظم المعلومات الجغرافية يتم تضمين Tethys وجميع التبعيات ، جنبًا إلى جنب مع Python و GRASS و GDAL وما إلى ذلك. وهذا هو الأنسب للأشخاص الذين يريدون أن يكونوا قادرين على تحديث التبعيات من Quantum نظم المعلومات الجغرافية مستودع تيثيس بسهولة. المثبت قادر على التثبيت من الإنترنت أو فقط. تنزيل مجاني لـ Quantum GIS Tethys 1.5-r13926-1 ، حجم 377.86 كيلوبايت.

My World GIS 4. 1. 2011 جامعة نورث وسترن

مع مجموعة أيقونات Icon-Land Vista Style GIS / GPS / Map الجديدة ، أصبح الآن أكثر راحة في استخدام تطبيقات الخدمة المحلية وتتبع GPS و نظم المعلومات الجغرافية وأي نوع من تطبيقات الخرائط. تهدف رموز GIS / GPS / Map إلى مساعدة المستخدمين على توجيه أنفسهم عند استخدام الخرائط ، لتسهيل بحثهم عن كائنات محددة وإنشاء خرائط أكثر. تنزيل مجاني لـ Icons-Land Vista Style GIS / GPS / MAP Icon Set 2.0 ، الحجم 0 ب.

Map Suite GIS Editor 6.0.0.227 Beta ThinkGeo LLC

جناح الخريطة نظم المعلومات الجغرافية المحرر هو تطبيق مليء بالميزات يسمح للمعلمين والطلاب على حد سواء بتصميم الخرائط وتحليل البيانات الجغرافية وتصورها.

تكون واجهته سهلة الاستخدام للمبتدئين الذين يرغبون في التعرف عليها نظم المعلومات الجغرافية (نظام المعلومات الجغرافية) ، ومع ذلك فإن التطبيق معقد بما يكفي لترك مساحة كبيرة له. تنزيل مجاني لبرنامج Map Suite GIS Editor 6.0.0.227 Beta ، الحجم 0 ب.

ProgeCAD 2009 Professional IntelliCAD 2009.0.28.7 iCADsales.com

بروجكاد IntelliCAD يستخدم ملفات AutoCAD DWG ، لا حاجة للتحويل. Windows 7 32 ، Windows 7 64 ، لا يوجد منحنى تعليمي لمستخدمي AutoCAD. AutoLISP ، VBA ، برمجة ADS ، استيراد من PDF ، عرض متقدم ، تم تضمين 3D ACIS Solid Modeling. للمهندسين المعماريين ، بناء المطابخ ومصممي الحمامات ، المدنية ، الكهربائية ، AEC ، MEP والمهندسين الإنشائيين ، الطرق ،. تنزيل برنامج progeCAD 2009 Professional IntelliCAD 2009.0.28.7 مجانًا ، بحجم 163.28 ميجا بايت.

تصدير الخريطة 2.0.0.0 دون اتصال بالإنترنت

تصدير الخريطة هو ملف نظم المعلومات الجغرافية أداة موجهة للمطورين لتنزيل وتصدير صورة الخلفية نظم المعلومات الجغرافية المطور ، من المعروف أن العثور على صور خلفية مثالية هو مهمة صعبة ومؤلمة. ولكن منذ ظهور خرائط جوجل ، تغيرت الأمور. توفر خريطة Google موردًا رائعًا لصور الخلفية. تنزيل مجاني لـ Map Export 2.0.0.0 ، بحجم 2.47 ميجا بايت.

AGIS لنظام التشغيل Windows 2002 AGIS Software Pty Ltd

AGIS for Windows عبارة عن خرائط بسيطة نظم المعلومات الجغرافية حزمة كومبيوتري. ارسم بياناتك الجغرافية على خريطة العالم المقدمة بدون التكلفة العالية ومنحنى التعلم الحاد المرتبط عادةً بهذا النوع من البرامج. أنشئ صورًا عالية الدقة بجودة النشر يمكن لصقها في الحزم الشائعة مثل MS Word. الرسوم المتحركة ، الويب. تنزيل AGIS لنظام التشغيل Windows 2002 مجانًا بحجم 3.67 ميجا بايت.

GStarICAD Std 2007-11-1 شركة Great Star Software Technology Co.، Ltd

يعتمد GStarICAD على IntelliCAD يعد GStarICAD هو البديل المبتكر لبرنامج AutoCAD الذي يوفر توافق ملفات OpenDWG ، والبيئة المماثلة ، والدعم الكامل لأوامر AutoCAD ، والقوائم ، والنصوص ، والأنماط ، والأنماط وما إلى ذلك. IntelliCAD في جميع أنحاء العالم ، 99٪. تحميل مجاني لـ GStarICAD Std 2007-11-1 ، الحجم 36.62 ميجا بايت.

VSceneGIS Desktop 0.9.2u2 vscenegis.com

تطوير مشروع العميل ، التحليل ، الحوسبة و نظم المعلومات الجغرافية التحرير. يطبق VSceneGIS Desktop مفهوم طوبولوجيا الشجرة والرسم البياني لتنفيذ نموذج البيانات في ملف نظم المعلومات الجغرافية. التحقق من الصحة والتحرير والسلوك الطوبولوجي
تصدير واستيراد مصادر البيانات: PostgreSQL / PostGIS و Oracle و MySQL و SQLite / SpatiaLite و ShapeFile.
اتصال ب. تنزيل برنامج VSceneGIS Desktop 0.9.2u2 مجانًا ، بحجم 124.16 ميجا بايت.

Shape2Earth 1.490 جوجل

يستفيد Shape2Earth من نظام المعلومات الجغرافية المتاح مجانًا وسهل الاستخدام (نظم المعلومات الجغرافية) برنامج لإنشاء تصورات احترافية للعرض في GoogleTM Earth.

الخصائص الرئيسية:
-تحويل أي ملف شكل إلى KML - يعيد Shape2Earth إخراج بياناتك سريعًا
-تطبيق الترميز المواضيعي على بياناتك - رمز اللون المراد عرضه. تنزيل Shape2Earth 1.490 مجانًا بحجم 1.48 ميجا بايت.

مستكشف PlanetGIS 3.0.8.5190 Planet GIS

PlanetGIS Explorer هو عارض مجاني لخرائط PlanetGIS و نظم المعلومات الجغرافية تبادل الملفات. يتيح لك PlanetGIS Explorer التنقل عبر الخرائط واستعلام عناصر الخريطة وعرض معلومات السمات من جداول قاعدة البيانات المرتبطة. كما يتيح لك PlanetGIS Explorer تخصيص مظهر الخرائط لأغراض إنشاء نسخ مطبوعة ، لكنه لا يسمح بذلك. تنزيل برنامج PlanetGIS Explorer 3.0.8.5190 مجانًا ، بحجم 5.68 ميجا بايت.

عارض Gismaps 1. 3. 3524 Gismaps Sistemas Ltda.

عارض Gismaps هو ملف نظم المعلومات الجغرافية عارض يمكن استخدامه للتحليل الجغرافي المكاني وإنتاج الخرائط.

الميزات الرئيسية هي:
- قراءة ملفات الشكل باستخدام نظام الإحداثيات الجغرافية
- عرض صور الأقمار الصناعية (تنسيقات ملفات MrSid و jpeg و bmp و tiff)
- إنشاء خرائط واستعلامات وتسميات مواضيعية
- تصدير هل برنامج Google Earth KML. تنزيل مجاني لبرنامج Gismaps Viewer 1. 3. 3524 ، حجم 10.65 ميجا بايت.

برنامج InfoMate 3 1 Compuplot

InfoMate عبارة عن حساب مسح كامل ، وتقليل العمل الميداني ، وبيئة التقاط البيانات وترجمتها ، تستهدف الحكومة المحلية ، ومساحي الأراضي ، والبلديات ، و نظم المعلومات الجغرافية تواصل اجتماعي. يوفر InfoMate أدوات للالتقاط السريع والفعال للبيانات المكانية والسمات. تتم معالجة هذه البيانات وصيانتها وتقديمها على أنها سليمة طوبولوجيًا. تنزيل برنامج InfoMate 3 1 مجانًا بحجم 32.42 ميجا بايت.


Si tienes SQL Server 2008+ ، تحويل puedes إلى تاريخ:

Si no ، puedes convertirlo a un string que contenga sólo el año ، mes y día:

الفقرة التحويل إلى صيغة YYYY-MM-DD في SQL Server 2008 R2 ، puedes usar la función CONVERT con los parámetros siguientes:

Si el formato que quieres es mas bien DD-MM-YYYY، entonces sería de esta forma:

¿Cómo puedo obtener fechas sin horas ni minutos en una Consulta de SQL للاستخدام مرة واحدة COUNT?

Si simplemente necesitas la porción fecha sin la hora para poder hacer una cuenta، entonces el formato del campo no tiene importancia. En este caso، lo más sencillo es de simplemente hacer un CAST a tipo DATE:


GeoDjango A : 安装 转载

weixin_30300523

1.: المرجع: & # 96python24 & # 96 و: المرجع: & # 96django & # 96 / * 安装 python 平台 及 django 框架 * /
2.: المرجع: & # 96spatial_database & # 96 / * 空间 数据库 & # xff0c 如 PostgresSQL * /
3.: المرجع: & # 96geospatial_libs & # 96 / * 空间 类库 * /

تفاصيل لكل من المتطلبات وتعليمات التثبيت
يتم توفيرها في الأقسام أدناه. بالإضافة إلى ذلك ، منصة خاصة
التعليمات متوفرة لـ:

.. عتاب :: استخدم المصدر

لأن GeoDjango يستفيد من الأحدث في الجغرافيا المكانية مفتوحة المصدر
تكنولوجيا البرمجيات ، الإصدارات الحديثة من المكتبات ضرورية.
للأسف ، الحزم الثنائية غير متوفرة في العديد من أنظمة جنو / لينكس
(GEOS 3 على وجه الخصوص). وبالتالي ، قد يلزم & # 96 التثبيت من المصدر & # 96_.
عند تجميع المكتبات من المصدر ، يرجى اتباع الإرشادات عن كثب ،
خاصة إذا كنت & # 39 مبتدئًا.

.. _ التثبيت من المصدر: install.html # building-from-source

بايثون 2.4 & # 43
-----------
بسبب الاستخدام المكثف لبناء جملة المصمم ، فإن Python 2.4 هي الحد الأدنى
نسخة مدعومة من قبل GeoDjango. يوصى باستخدام Python 2.5 & # 43 لأن ملف
& # 96ctypes & # 96__ يتم تضمين الوحدة النمطية بخلاف ذلك ، سيحتاج المستخدمون 2.4 إلى ذلك
& # 96 تنزيل وتثبيت ctypes & # 96__.
/ * 推荐 2.5 版本 & # xff0c 否则 需要 安装 أنواع 类库 * /
__ http://docs.python.org/lib/module-ctypes.html
__ http://sourceforge.net/project/showfiles.php؟group_id�

نظرًا لتضمين GeoDjango مع Django ، يرجى الرجوع إلى Django & # 39s
& # 96 تعليمات التثبيت & # 96__ للحصول على تفاصيل حول كيفية التثبيت.

قاعدة البيانات المكانية
----------------
تعد PostgreSQL (مع PostGIS) و MySQL و Oracle قواعد البيانات المكانية
مدعوم حاليا.
/ * 支持 PostgreSQL 、 MySQL 、 Oracle & # xff0c 但 不 支持 SQLServer * /
.. ملاحظة ::

يوصى بـ PostGIS ، لأنها الأكثر نضجًا وثراءً بالميزات
قاعدة بيانات مكانية مفتوحة المصدر.
/ * 此处 使用 推荐 的 PostgreSQL * /
تعتمد المكتبات الجغرافية المكانية المطلوبة لتثبيت GeoDjango
على قاعدة البيانات المكانية المستخدمة. فيما يلي قائمة بمتطلبات المكتبة ،
الإصدارات المدعومة وأي ملاحظات لكل من المكاني المدعوم
قواعد بيانات:

المكتبات الجيومكانية
--------------------
يستخدم GeoDjango و / أو يوفر واجهات للمصدر المفتوح التالي
المكتبات الجيومكانية:

بينما يعد GDAL اختياريًا ، فإنه يوصى به نظرًا لأن بعض أدوات GeoDjango المساعدة و
تعتمد الوظيفة على تثبيتها.

يمكن استخدام واجهات GeoDjango مع GEOS و GDAL و GeoIP
بشكل مستقل عن Django. بمعنى آخر ، لا توجد قاعدة بيانات أو ملف إعدادات
مطلوب - ما عليك سوى استيرادها كالمعتاد من & # 96 & # 96django.contrib.gis & # 96 & # 96.

.. _GEOS: geos.html
.. _GDAL: gdal.html
.. _GeoIP: geoip.html

__ http://trac.osgeo.org/proj/
__ http://postgis.refractions.net/

عند التثبيت من المصدر على أنظمة UNIX و GNU / Linux ، يرجى اتباع
تعليمات التثبيت بعناية ، وقم بتثبيت المكتبات في ملف
أمر معين. في حالة استخدام MySQL أو Oracle كقاعدة بيانات مكانية ، فقط GEOS
مطلوب.

GEOS هي مكتبة C & # 43 & # 43 لأداء العمليات الهندسية ، وهي الافتراضية
تمثيل الهندسة الداخلية المستخدم من قبل GeoDjango (إنه & # 39s خلف & # 34lazy & # 34
الهندسة). على وجه التحديد ، تسمى مكتبة C API (على سبيل المثال ، & # 96 & # 96libgeos_c.so & # 96 & # 96)
مباشرة من Python باستخدام ctypes.

أولاً ، قم بتنزيل GEOS 3.0.2 من موقع الانكسار وفك المصدر
أرشيف::

$ wget http://download.osgeo.org/geos/geos-3.0.2.tar.bz2
$ tar xjf geos-3.0.2.tar.bz2

بعد ذلك ، قم بالتغيير إلى الدليل حيث تم فك حزمة GEOS ، وقم بتشغيل ملف التكوين
البرنامج النصي والترجمة والتثبيت ::

$ cd geos-3.0.2
$ ./ تكوين
$ صنع
sudo $ قم بالتثبيت
$ cd ..

عندما يتمكن GeoDjango & # 39t من العثور على GEOS ، يظهر هذا الخطأ ::

ImportError: تعذر العثور على مكتبة GEOS (حاول & # 34geos_c & # 34). حاول ضبط GEOS_LIBRARY_PATH في إعداداتك.

الحل هو تكوين: ref: & # 96libsettings & # 96 * or * set
: المرجع: & # 96geoslibrarypath & # 96 في إعداداتك.

إذا كانت مكتبة GEOS الخاصة بك في موقع غير قياسي ، أو إذا كنت لا تريد ذلك
تعديل مسار مكتبة النظام ثم إعداد & # 96 & # 96GEOS_LIBRARY_PATH & # 96 & # 96
يمكن إضافته إلى ملف إعدادات Django بالمسار الكامل إلى GEOS
مكتبة ج. على سبيل المثال::

يجب أن يكون الإعداد هو المسار * الكامل * إلى المكتبة المشتركة ** C ** في
كلمات أخرى تريد استخدامها & # 96 & # 96libgeos_c.so & # 96 & # 96 ، وليس & # 96 & # 96libgeos.so & # 96 & # 96.

مشروع 4
------
& # 96PROJ.4 & # 96__ مكتبة لتحويل البيانات الجغرافية المكانية إلى إحداثيات مختلفة
أنظمة مرجعية.

أولاً ، قم بتنزيل الكود المصدري PROJ.4 وملفات تحويل البيانات [#] _ ::

$ wget http://download.osgeo.org/proj/proj-4.6.1.tar.gz
$ wget http://download.osgeo.org/proj/proj-datumgrid-1.4.tar.gz

بعد ذلك ، قم بفك أرشيف التعليمات البرمجية المصدر ، واستخرج ملفات تحويل البيانات في ملف
& # 96 & # 96nad & # 96 & # 96 دليل فرعي. يجب أن يتم ذلك * قبل * للتهيئة ::

tar xzf $ 4.6.1.tar.gz
$ cd proj-4.6.1 / nad
tar xzf دولار http://www.cnblogs.com/proj-datumgrid-1.4.tar.gz
$ cd ..

أخيرًا ، قم بتهيئة وإنشاء وتثبيت PROJ.4:

$ ./ تكوين
$ صنع
sudo $ قم بالتثبيت
$ cd ..

PostGIS
-------
& # 96 PostGIS & # 96__ يضيف دعمًا جغرافيًا للعناصر إلى PostgreSQL ، مما يؤدي إلى تحويله
في قاعدة بيانات مكانية. : ref: & # 96geosbuild & # 96 and: ref: & # 96proj4 & # 96 should be
تم تركيبه قبل بناء PostGIS.

الوحدة النمطية & # 96psycopg2 & # 96_ مطلوبة للاستخدام كمحول قاعدة البيانات
عند استخدام GeoDjango مع PostGIS. وبالتالي ، فإن & # 96 & # 96DATABASE_ENGINE & # 96 & # 96
يجب أن يكون إعداد Django & # 96 & # 96postgresql_psycopg2 & # 96 & # 96.


قم أولاً بتنزيل أرشيف المصدر ، واستخراج:

$ wget http://postgis.refractions.net/download/postgis-1.3.3.tar.gz
tar xzf $ 1.3.3.tar.gz
$ cd postgis-1.3.3

بعد ذلك ، اكتشف دليل PostgreSQL & # 39s & # 39share & # 39 ، وحدده كجذر للبيانات
الدليل عند التكوين. هذا يضمن أن PostGIS تضع ملفاتها في
موقع متوافق مع تثبيت PostgreSQL ::

$ ./ تكوين --datadir & # 61 & # 96pg_config - Sharedir & # 96

$ صنع
sudo $ قم بالتثبيت
$ cd ..

لا يقوم GeoDjango بإنشاء قاعدة بيانات مكانية تلقائيًا. لو سمحت
راجع قسم: المرجع: & # 96spatialdb_template & # 96 لمزيد من المعلومات.

جدال
----
& # 96GDAL & # 96__ هي مكتبة جغرافية مكانية ممتازة مفتوحة المصدر تدعم ملفات
قراءة معظم تنسيقات البيانات المكانية المتجهية والنقطية. حاليًا ، GeoDjango فقط
يدعم إمكانيات بيانات المتجه GDAL & # 39s [#] _. : ref: & # 96geosbuild & # 96 and: ref: & # 96proj4 & # 96
يجب تثبيتها قبل بناء GDAL.

قم أولاً بتنزيل أحدث إصدار من GDAL وافتح الأرشيف:

$ wget http://download.osgeo.org/gdal/gdal-1.5.3.tar.gz
tar xzf $ 1.5.3.tar.gz
$ cd gdal-1.5.3

التكوين والإنشاء والتثبيت ::

$ ./ تكوين
make # اذهب واحضر بعض القهوة ، هذا يستغرق بعض الوقت.
sudo $ قم بالتثبيت
$ cd ..

نظرًا لأن GeoDjango يمتلك واجهة Python الخاصة به ، فإن التعليمات السابقة
لا تقم ببناء روابط Python الخاصة بـ GDAL & # 39s. قد يتم بناء الارتباطات بواسطة
إضافة & # 96 & # 96 - مع علم بيثون & # 96 & # 96 عند تشغيل & # 96 & # 96 تكوين & # 96 & # 96. يرى
& # 96GDAL / OGR في Python & # 96__ لمزيد من المعلومات حول ارتباطات GDAL & # 39s.

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

__ http://trac.osgeo.org/gdal/
__ http://trac.osgeo.org/gdal/wiki/GdalOgrInPython

عندما لا يستطيع GeoDjango العثور على مكتبة GDAL & # 96 & # 96 & # 96HAS_GDAL & # 96 & # 96
سيكون كاذبا ::

& gt & gt & gt من django.contrib.gis استيراد gdal
& gt & gt & gt gdal.HAS_GDAL
خطأ شنيع

الحل هو تكوين: ref: & # 96libsettings & # 96 * or * set
: المرجع: & # 96gdallibrarypath & # 96 في الإعدادات الخاصة بك.

إذا كانت مكتبة GDAL الخاصة بك في موقع غير قياسي ، أو إذا كنت لا تريد ذلك
تعديل مسار مكتبة النظام ثم إعداد & # 96 & # 96GDAL_LIBRARY_PATH & # 96 & # 96
يمكن إضافته إلى ملف إعدادات Django بالمسار الكامل إلى GDAL
مكتبة. على سبيل المثال::

لا يمكن العثور على ملفات بيانات GDAL (& # 96 & # 96GDAL_DATA & # 96 & # 96)

عند التثبيت من المصدر ، تحتوي إصدارات GDAL 1.5.1 والإصدارات الأقل على خطأ تلقائي
يضع البيانات في الموقع الخطأ. [#] _ قد يؤدي هذا إلى ظهور رسائل خطأ
مثله::

خطأ 4: تعذر فتح ملف دعم EPSG gcs.csv.
.
OGRException: فشل OGR.

الحل هو تعيين متغير البيئة & # 96 & # 96GDAL_DATA & # 96 & # 96 على موقع
ملفات بيانات GDAL قبل احتواء Python (عادةً & # 96 & # 96 / usr / local / share & # 96 & # 96 use)
& # 96 & # 96gdal-config --datadir & # 96 & # 96 لمعرفة). على سبيل المثال::

تصدير $ GDAL_DATA & # 61 & # 96gdal-config --datadir & # 96
$ python management.py shell

إذا كنت تستخدم Apache ، فقد تحتاج إلى إضافة متغير البيئة هذا إلى التكوين الخاص بك
ملف::

SetEnv GDAL_DATA / usr / local / share

يختلف إنشاء قاعدة بيانات مكانية باستخدام PostGIS عن العادي لأن
يجب تحميل SQL إضافية لتمكين الوظيفة المكانية. بسبب
الخطوات في هذه العملية ، من الأفضل إنشاء قالب قاعدة بيانات
يمكن إعادة استخدامها لاحقًا.

أولاً ، يجب أن تكون قادرًا على تنفيذ الأوامر كقاعدة بيانات مميزة
المستعمل. على سبيل المثال ، يمكنك استخدام ما يلي لتصبح مستخدم & # 96 & # 96postgres & # 96 & # 96 ::

بمجرد أن تكون & # 39 مستخدمًا متميزًا لقاعدة البيانات ، يمكنك تنفيذ الأوامر التالية
لإنشاء قالب قاعدة بيانات مكانية PostGIS ::

$ createb -E UTF8 template_postgis # إنشاء قاعدة بيانات مكانية للقالب.
$ createlang -d template_postgis plpgsql # إضافة دعم لغة PLPGSQL.
$ psql -d template_postgis -f & # 96pg_config --sharedir & # 96 / lwpostgis.sql # تحميل إجراءات PostGIS SQL
$ psql -d template_postgis -f & # 96pg_config --sharedir & # 96 / spatial_ref_sys.sql
$ psql -d template_postgis -c & # 34GRANT ALL ON geometry_columns TO PUBLIC & # 34 # تمكين المستخدمين من تعديل الجداول المكانية.
$ psql -d template_postgis -c & # 34 منح الكل في spatial_ref_sys للجمهور & # 34

يمكن وضع هذه الأوامر في برنامج نصي شيل لاستخدامها لاحقًا للراحة ،
النص & # 96create_template_postgis.sh & # 96__ متوفر هنا.

بعد ذلك ، يمكنك إنشاء قاعدة بيانات مكانية بمجرد تحديد
& # 96 & # 96template_postgis & # 96 & # 96 كنموذج للاستخدام (عبر الخيار & # 96 & # 96-T & # 96 & # 96) ::

$ createb -T template_postgis -U postgres -O & ltdb user & gt & ltdb name & gt

لا يزال يجب تنفيذ الأمر & # 96 & # 96createdb & # 96 & # 96 بأذونات ملف
المستخدم المتميز لقاعدة البيانات (ومن هنا جاء خيار & # 96 & # 96-U postgres & # 96 & # 96). مالك قاعدة البيانات
(الخيار & # 96 & # 96-O & # 96 & # 96) هو مستخدم قاعدة البيانات الذي سيمتلك قاعدة البيانات الجديدة التي قد تحتاجها
لإنشاء الأمر باستخدام الأمر & # 96 & # 96createuser & # 96 & # 96 إذا لم يكن موجودًا.

مثل تطبيقات مساهمة Django الأخرى ، ستحتاج * فقط * إلى الإضافة
& # 96 & # 96django.contrib.gis & # 96 & # 96 إلى & # 96 & # 96 & # 96INSTALLED_APPS & # 96 & # 96 في إعداداتك. هذا ال
بحيث يمكن تحديد موقع قوالب & # 96 & # 96gis & # 96 & # 96 - إذا لم يتم ذلك ، فعندئذٍ ميزات مثل
لن يعمل المسؤول الجغرافي أو خرائط مواقع KML بشكل صحيح.

من أجل استخدام المسؤول الجغرافي مع طبقة OpenStreetMap الأساسية
(على سبيل المثال ، تريد استخدام & # 96 & # 96OSMGeoAdmin & # 96 & # 96) ، ثم ما يسمى & # 34Google & # 34 الإسقاط
يجب إضافتها إلى قاعدة البيانات المكانية & # 39s & # 96 & # 96spatial_ref_sys & # 96 & # 96 table. يستحضر
قذيفة Django من مشروعك ونفذ الأمر التالي:

$ ./manage shell
& gt & gt & gt من django.contrib.gis.utils استيراد add_postgis_srs
& gt & gt & gt add_postgis_srs (900913)

يؤدي هذا إلى إضافة إدخال لـ 900913 SRID إلى & # 96 & # 96spatial_ref_sys & # 96 & # 96 (أو ما يعادله)
الجدول ، مما يجعل من الممكن لقاعدة البيانات المكانية تحويل الإحداثيات إلى
هذا الإسقاط. ما عليك سوى تنفيذ هذا الأمر * مرة واحدة * لكل قاعدة بيانات مكانية.

إذا لم تتمكن من العثور على حل لمشكلتك هنا ، فقم بالمشاركة في
تواصل اجتماعي! يمكنك:

* انضم إلى قناة & # 96 & # 96 # geodjango & # 96 & # 96 IRC على FreeNode (يمكن الوصول إليها عبر
& # 96Mibbit & # 96__).
* اطرح سؤالك على القائمة البريدية & # 96Django & # 96__ (تأكد من أن يكون لديك
& # 34GeoDjango & # 34 في نص رسالتك).
* قم بتقديم تذكرة على & # 96Django trac & # 96__ إذا كنت تعتقد أن هناك خطأ. صنع
تأكد من تقديم وصف كامل للمشكلة ، والإصدارات المستخدمة ،
وحدد المكون كـ & # 34GIS & # 34.

__ http://www.mibbit.com/؟server=irc.freenode.net&channel=٪23geodjango
__ http://groups.google.com/group/django-users
__ http://code.djangoproject.com/simpleticket

إلى حد بعيد ، فإن المشكلة الأكثر شيوعًا عند تثبيت GeoDjango هي أن ملف
لا يمكن تحديد موقع المكتبات الخارجية المشتركة (على سبيل المثال ، لـ GEOS و GDAL). [#] _
عادةً ما يكون سبب هذه المشكلة هو أن نظام التشغيل ليس على علم بذلك
من الدليل حيث تم تثبيت المكتبات المبنية من المصدر.

بشكل عام ، يمكن تعيين مسار المكتبة على أساس كل مستخدم من خلال الإعداد
متغير بيئة ، أو تكوين مسار المكتبة لكامل
النظام.

يمكن للمستخدم تعيين متغير البيئة هذا لتخصيص مسارات المكتبة
يريدون استخدامها. دليل المكتبة النموذجي للبرامج
مبني من المصدر هو & # 96 & # 96 / usr / local / lib & # 96 & # 96. وبالتالي ، فإن & # 96 & # 96 / usr / local / lib & # 96 & # 96 الاحتياجات
ليتم تضمينها في المتغير & # 96 & # 96LD_LIBRARY_PATH & # 96 & # 96. على سبيل المثال ، المستخدم
يمكنهم وضع ما يلي في ملف تعريف bash الخاص بهم:

في نظام Mac OSX ، قم بتعديل المتغير & # 96 & # 96DYLD_LIBRARY_PATH & # 96 & # 96 بدلاً من ذلك.

في أنظمة GNU / Linux ، يوجد عادةً ملف في & # 96 & # 96 / etc / ld.so.conf & # 96 & # 96 ، والذي قد يتضمن
مسارات إضافية من ملفات في دليل آخر ، مثل & # 96 & # 96 / etc / ld.so.conf.d & # 96 & # 96.
بصفتك المستخدم الجذر ، أضف مسار المكتبة المخصص (مثل & # 96 & # 96 / usr / local / lib & # 96 & # 96) على
خط جديد في & # 96 & # 96ld.so.conf & # 96 & # 96. هذا * واحد * مثال على كيفية القيام بذلك:

sudo echo / usr / local / lib & gt & gt /etc/ld.so.conf $
sudo ldconfig $

بالنسبة لمستخدمي OpenSolaris ، يمكن تعديل مسار مكتبة النظام باستخدام امتداد
& # 96 & # 96crle & # 96 & # 96 فائدة. قم بتشغيل & # 96 & # 96crle & # 96 & # 96 بدون خيارات لرؤية التكوين الحالي
واستخدم & # 96 & # 96crle -l & # 96 & # 96 لتعيين مسار المكتبة الجديد. كن حذرا جدا عندما
تعديل مسار مكتبة النظام:

# crle -l $ OLD_PATH: / usr / local / lib

على الرغم من أن OSX يأتي مع Python مثبتًا ، فمن المستحسن للمستخدمين
الاستفادة من أدوات التثبيت (تتوفر & # 962.5 & # 96__ و & # 962.6 & # 96__) المقدمة من
مؤسسة برامج Python. يوصى بهذا للأسباب التالية:

#. OSX & # 39s Python ستبقى & # 34 pristine & # 34 لاستخدام نظام التشغيل الداخلي.
#. OSX & # 39s Python غير مرتبطة بمكتبة GNU Readline (بمعنى عدم وجود ألوان في IPython).

__ http://python.org/ftp/python/2.5.2/python-2.5.2-macosx.dmg
__ http://python.org/ftp/python/2.6/python-2.6-macosx2008-10-01.dmg

ستحتاج إلى تعديل & # 96 & # 96PATH & # 96 & # 96 بحيث يتم استدعاء الإصدار الجديد
من shell عند استدعاء الأمر & # 96 & # 96python & # 96 & # 96. الرجاء مراجعة
: المرجع: قسم & # 96macenv & # 96 لمزيد من التفاصيل.

لم تعد هذه الطريقة هي الطريقة الموصى بها لتثبيت GeoDjango على
نظام التشغيل Mac OSX. على وجه التحديد ، تتطلب MacPorts تعديل ملف
& # 96 & # 96DYLD_LIBRARY_PATH & # 96 & # 96 متغير البيئة ، والذي قد يسبب تعارضات
للثنائيات المرتبطة بالمكتبات الأصلية لنظام التشغيل (على سبيل المثال libxml2 ،
أو iconv). ومع ذلك ، قد يبسط هذا عملية التثبيت للمزيد
مستخدمين المتقدمين.

& # 96MacPorts & # 96__ يمكن استخدامها لتثبيت متطلبات GeoDjango الأساسية على نظام Macintosh
أجهزة الكمبيوتر التي تعمل بنظام OSX. نظرًا لأن MacPorts لا يزال يبني البرنامج من المصدر ، Apple & # 39s
أدوات المطور Xcode 3.0 لـ Leopard أو 2.4.1 لـ Tiger مطلوبة. [#] _

منفذ $ sudo تثبيت postgresql83-server
منفذ sudo $ تثبيت الموقع الجغرافي
sudo port install proj
sudo port install postgis
sudo port install gdal
منفذ sudo $ تثبيت libgeoip

يجب ضبط إعدادات بيئة Shell بحيث يتم تثبيت Python المناسب
تستخدم حتى يتمكن GeoDjango من العثور على المكتبات الجغرافية المكانية. من أجل هؤلاء
الإعدادات للاستمرار ، يجب وضعها في ملف تعريف المستخدم الخاص بك & # 39 s bash
(& # 96 & # 96.profile & # 96 & # 96 في دليل منزلك).


يحتاج المسار إلى تضمين موقع تثبيت Python والمسارات الثنائية
يستخدمه MacPorts. يجب أن يكون ما يلي على ما يرام (بافتراض بقية المسار
يتم توفيره مكان علامة الحذف) ::


يحتاج هذا إلى تضمين المكتبة الافتراضية ومواقع مكتبة قاعدة البيانات المستخدمة
بواسطة MacPorts. يكفي ما يلي:


& # 96 & # 96GDAL_DATA & # 96 & # 96
^^^^^^^^^^^^^
تحتوي إصدارات GDAL 1.5.1 (المستخدمة بواسطة MacPorts) والإصدارات الأقل على خطأ في التشغيل التلقائي
ملفات بيانات GDAL & # 39s في موقع خاطئ. يجب تعيين متغير البيئة هذا
حتى يتمكن GDAL من العثور على بياناته:

أولاً ، قم بتنزيل & # 96Python 2.5 installer & # 96__ من موقع Python الإلكتروني. التالي،
قم بتنفيذ برنامج التثبيت واستخدم الإعدادات الافتراضية ، أي احتفظ بـ & # 39Install لجميع المستخدمين & # 39
تم فحصه وتعيين مسار التثبيت كـ & # 96 & # 96C: Python25 & # 96 & # 96.

قد يكون لديك بالفعل إصدار من Python مثبتًا في & # 96 & # 96C: python & # 96 & # 96 مثل ESRI
تقوم المنتجات أحيانًا بتثبيت نسخة هناك. * لا يزال يتعين عليك تثبيت ملف
نسخة حديثة من Python 2.5. *

أولاً ، حدد نسخة متطابقة وقم بتنزيل برنامج التثبيت & # 96PostgreSQL 8.3.3 & # 96__ من ملف
موقع PostgreSQL.

بمجرد التنزيل ، قم باستخراج جميع الملفات من المجلد المضغوط وانقر نقرًا مزدوجًا على ملف
& # 39postgresql-8.3 & # 39 المثبت. أثناء تثبيت PostgreSQL ، استخدم فقط الإعداد الافتراضي
الخيارات (على سبيل المثال ، احتفظ بمسار التثبيت كـ & # 96 & # 96C: Program Files PostgreSQL 8.3 & # 96 & # 96).

ستؤدي عملية تثبيت PostgreSQL هذه إلى إنشاء مستخدم windows جديد ليكون هو
& # 39postgres service account & # 39 and # 39postgres superuser & # 39 لامتلاك قاعدة البيانات
تجمع. سيُطلب منك تعيين كلمة مرور لكلا المستخدمين (تأكد من الكتابة
عليهم!). للاطلاع على التفاصيل الأساسية على حساب المستخدم & # 39 service & # 39 ، انقر بزر الماوس الأيمن على
'My Computer' and select 'Manage' or go to: Control Panel -> Administrative Tools ->
Computer Management -> System Tools -> Local Users and Groups.

If installed successfully, the PostgreSQL server will run in the background each time
the system as started as a Windows service. When finished, the installer should launch
the Application Stack Builder (ASB) (which may be used to install PostGIS, see instructions
below). A 'PostgreSQL 8.3' start menu group should be created that contains shortcuts
for the ASB and 'Command Prompt', which launches a terminal window in the PostgreSQL
directory.

Launch the Application Stack Builder (Programs -> PostgreSQL 8.3), and select
'PostgreSQL Database Server 8.3 on port 5432' from the drop down menu. Next,
select 'PostGIS 1.3.3 for PostgreSQL 8.3' from the 'Spatial Extensions' tree
in the list. Select only the default options during install (do not uncheck
the option to create a default PostGIS database).

You will be prompted to enter your 'postgres superuser' password in the
'Database Connection Information' dialog.

The ``psycopg2`` Python module provides the interface between Python and the
PostgreSQL database. Download the `Windows installer`__ (v2.0.8) and run
using the default settings. [#]_

Download the `GeoDjango Installer`__ this was created [#]_ to simplify the rest
of the process for installing GeoDjango on Windows platforms. The installer
automatically installs Django 1.0, GDAL 1.5.0, PROJ.4, and configures the
necessary enviornment variables.

Once the installer has completed, log out and log back in so that the
modifications to the system environment variables take effect, and you
should be good to go.

The installer modifies the system ``Path`` environment variable to
include ``C:Program FilesPostgreSQL8.3in`` and
``C:Program FilesGeoDjangoin``. This is required so that Python
may find the GEOS DLL provided by PostGIS and the GDAL DLL provided
by the installer. The installer also sets the ``GDAL_DATA`` and
``PROJ_LIB`` enviornment variables.


[Erik_Westra]_Python_Geospatial_Development(BookFi.org)清晰无水印版

python地理空间数据开发-[Erik_Westra]_Python_Geospatial_Development 清晰无水印版
Python Geospatial Development Copyright o 2010 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews rt has been made in the preparation of this book to ensure the accuracy of the information presented However the information contained in this book is sold without warranty, cither express or implied. Neither the author nor Pacl Publishing and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals However, Packt Publishing cannot guarantee the accuracy of this information st published December 2010 Production reference: 1071210 Published by Packt Publishing ltd 32 Lincoln road Olto Birmingham b27 6PA, UK ISBN978-1-849511-54-4 www.packtpub.com Cover Image by asher Wishkerman(a. wishkermanompic de Table of contents Preface Chapter 1: Geo-Spatial Development Using Python 7 Python Geo-spatial development Applications of geo-spatial development 11 Analyzing geo-spatial data 12 Visualizing geo-spatial data 13 Creating a geo-spatial mash-up 16 Recent developments Summary 19 Chapter 2: GIs Core G|sc。 ncepts 21 ocation 22 Distance 25 Units 27 Projections 28 Cylindrical projections onic projection Azimuthal projections 31 The nature of map projections Coordinate systems 32 Datums 35 Shapes 36 Gis data formats 37 Working with Gis data manually 39 Summa Table of contents Chapter 3: Python Libraries for Geo-Spatial Development Reading and writing geo-spatial data 47 GDAL/OGR 48 GDAL design GDAL example code oGR design 51 OGR example code Documentation 53 Availability 53 Dealing with projections 54 nypro 54 Design 54 Pre 55 Geod Example code 57 Documentation 58 Availability 58 Analyzing and manipulating geo-s patial data 59 Shapely 59 Design 60 Example code 61 Documentation 62 Availabilit 62 Visualizing geo-spatial data 63 Mapnik 63 Design 64 EXample code 66 Documentation Availability 68 Summa 68 Chapter 4: Sources of Geo-Spatial Data Sources of geo-spatial data in vector format 72 Open StreetMap Data forma Obtaining and using Open StreetMap data 74 TIGER 76 Data format Obtaining and using TiGeR data 78 Digital Chart of the World 79 Data format 80 Available layers 80 Obtaining and using DCW data Table of Contents GSHHS 82 Data format Obtaining the GSHHs database World borders dataset 84 Data format 85 Obtaining the World Borders dataset Sources of geo-spatial data in raster format 85 Landsat 86 Data format Obtaining Landsat imagery 87 GLOBE 90 Data format 90 Obtaining and using globe data 91 National elevation dataset 92 Data format Obtaining and using Ned data Sources of other types of geo-spatial data 94 GEOnet Names server 94 Data format 95 Obtaining and using GEOnet Names Server data 5 GNIS 96 Data format 97 Obtaining and using GNIS data 97 Summar 98 Chapter 5: Working with Geo-Spatial Data in Python 101 Prerequisites 101 Reading and writing geo-spatial data 102 Task: Calculate the bounding box for each country in the world 102 Task: Save the country bounding boxes into a Shapefile 104 Task: Analyze height data using a digital elevation map 108 Changing datums and projections 115 Task: Change projections to combine Shapefiles using geographic and utm coordinates 115 Task: Change datums to allow older and newer tiger data to be combined 119 Representing and storing geo-spatial data 122 Task: Calculate the border between Thailand and myanmar 123 Task: Save geometries into a text file 126 Working with Shapely geometries 127 Task: Identify parks in or near urban areas 128 Converting and standardizing units of geometry and distance 132 Task: Calculate the length of the thai-Myanmar border 133 Task: Find a point 132.7 kilometers west of Soshone, California 139 Table of contents Exercises 141 Summar 143 Chapter 6: Gis in the Database 145 Spatially-enabled databases 145 Spatial indexes 146 Open source spatially-enabled databases 149 MySQL 149 PostGIs 152 Installing and configuring PostGIS 152 Using postGis 155 Documentation 157 Advanced postgis features 157 SpatiaLite 158 stalling SpatiaL Installing pysqlite 159 Accessing SpatiaLite from Python 160 Documentation 160 Using spatialite 161 Spatialite capabilities 163 Commercial spatially-enabled databases 164 Oracle 164 MS SQL Server 165 Recommended best practices 165 Use the database to keep track of spatial references 166 Option 2: Transform features as require cD o Use the appropriate spatial reference for your data 168 Option 1: Use a database that supports geographies 169 169 Option 3: Transform features from the outset When to use unprojected coordinates 170 Avoid on-the-fly transformations within a query 170 Don't create geometries within a query 171 Use spatial indexes appropriately 172 Know the limits of your database's query optimizer MySQL 174 PostGis 175 Spatialite 177 Working with geo-spatial databases using Python 178 Prerequisites 179 Working with My SQL 179 Working with PostGIS 182 Working with Spatialite 84 Speed comparisons 188 Summary 189 Table of Contents Chapter 7: Working with Spatial Data 191 about distal 191 Designing and building the database 195 Downloading the data 199 World borders dataset 200 GSHHS 200 Geonames 200 GEOnet Names server 200 Importing the data 201 World borders dataset 201 GSHHS 203 US placename data 205 Worldwide placename data 208 Implementing the DISTAL application 210 The"Select Country" script 212 The"Select Area"script 214 Calculating the bounding box 215 Calculating the map's dimensions 216 Setting up the datasource 218 Rendering the map image 220 The"Show Results"script 223 Identifying the clicked-on point 223 Identifying features by distance 225 Displaying the results 233 Application review and improvements 235 Usability 236 Quality 237 Placename issues 237 Lat/Long coordinate problems 238 Performance 239 Finding the problem 240 Improving performance 242 Calculating the tiled shorelines Using the tiled shorelines 250 Analyzing the performance improvement 252 Further performance improvements 25 Scalability 253 uma 257 Chapter 8: Using Python and Mapnik to Generate Maps 259 Introducing Mapnik 260 Creating an example map 265 Mapnik in depth 269 Data sources 269 Shapefilt 270 Table of contents PostGis 270 GDAl OGR 273 SQLite 274 OSM 275 PointDatasource Rules, filters and styles 277 Filters 277 Scale denominators 279 Ese rules 280 Symbolizes 281 Drawing lines 281 awing polyg 287 Drawing labels 289 Drawing points 298 Drawing raster images 301 Using colors Maps and layers 304 Map attributes and methods 305 ayer attributes and methods 306 Map rendering 307 Map generator revisited 309 The MapGenerator's interface 309 Creating the main map layer 310 Displaying points on the map 312 Rendering the map 313 What the map generator teaches us 313 Map definition files 314 Summary 317 Chapter 9: Web Frameworks for Python Geo-Spatial Development 321 Web application concepts 322 Web application architecture 322 a bare-bones approach 322 Web application stacks 323 Web application frameworks 324 Web services 325 Map rendering 327 Tile caching 327 Web servers 330 User interface libraries 331 The slippy map"stack 332 The geo-spatial web application stack 334 Table of Contents Protocols 334 The Web Map Service(WMS) protocol 334 WMS-C 337 The Web Feature Service(WFS) protocol 337 The TMs (Tile Map Service) protocol 339 Tools 344 Tile caching 344 Tile Cache 345 mod tile 346 Tillite 347 User interface libraries 347 OpenLayers 348 Mapiator 351 Web application frameworks 353 GeoDⅰango 353 MapFish Turbo Gears 357 Summary 359 Chapter 10: Putting it All Together: A Complete Mapping Application 363 About the shapeEditor 363 Designing the application 36 Importing a shapefile 367 Selecting a feature 369 Editing a feature 370 Exporting a Shapefile 371 Prerequisites 371 The structure of a Django application 372 Models 374 Vⅰews 374 Templates 377 Setting up the database 379 Setting up the GeoDjango project 380 Setting up the shape Editor application 382 Defining the data models 383 Shapefile 383 Attribute 384 Feature 384 Attribute∨a|ue 385 The models. py file 385 Playing with the admin system 388 Summary 395

试读 127P


شاهد الفيديو: Install SQLite on Windows 10 (شهر اكتوبر 2021).