أكثر

كيف يتم تشغيل مساحة عمل FME على أساس الميزة؟


لست متأكدا من عنوان سؤالي ...

وجهة نظري هي تشغيل مساحة عمل كاملة لكل ميزة موجودة في القارئ.

في Python ، سيبدو هذا كما يلي:

لـ s في bus_stops: run_workspace (s)

تعمل مساحة العمل الخاصة بي بشكل أساسي على النحو التالي:

  • يقرأ 1 موقف للحافلات
  • يقرأ شبكة الطرق
  • يحسب تكلفة الشبكة لمحطة ناقل الإدخال (NetworkCostCalculator)
  • ملامح النواتج

تعمل مساحة العمل إذا كان الإدخال مقصورًا على محطة ناقل واحدة (مصدر une فقط لـ NetworkCostCalculator).

لقد قمت الآن بتقسيم توقف ناقل الإدخال الخاص بي في العديد من أنواع الميزات وقمت بتشغيل مساحة العمل الخاصة بي على دفعات ولكنني متأكد من أن هناك طريقة أكثر فاعلية لتحقيق ذلك.


يمكنك القيام بذلك في محول بيثون كولر

راجع مرجع fmeobjects python API: http://docs.safe.com/fme/html/FME_Objects_Python_API/fmeobjects.FMEWorkspaceRunner-class.html

استيراد fmeobjects لـ s في bus_stops runner = fmeobjects.FMEWorkspaceRunner () #workspace عبارة عن مسار والمعلمات هي قيمة مفتاح عداء .runWithParameters (مساحة عمل ، معلمات)

هل حاولت استخدام Group-By في NetworkCostCalculator؟ على سبيل المثال ، تقوم بالتجميع على معرف محطة الحافلات ويتم تشغيل المحول مرة واحدة لكل ميزة محطة حافلة

خلاف ذلك ، كما هو مذكور أعلاه ، فإن WorkspaceRunner هو صديقك هنا.

تحرير: في الواقع ، أعتقد الآن أن Group-By ستكون أكثر كفاءة. يجب أن تحتاج الشبكة مرة واحدة فقط لجميع محطات الحافلات - بينما إذا قمت بدفع هذا (إما في Python أو WorkspaceRunner) فأنت تقرأ ميزات الشبكة مرة واحدة لكل محطة حافلة.


أمر اختصار لوحة المفاتيح - الكمبيوتر الشخصي اختصار لوحة المفاتيح - Mac دور
الغاء التحميل Ctrl + z الأمر (مفتاح) + ض يعكس أحدث إجراء في مساحة العمل.
إعادة Ctrl + y تحول + الأمر (مفتاح) + ض يكرر أحدث إجراء قمت بعكسه في مساحة عمل.
يقطع السيطرة + x الأمر (مفتاح) + x يقطع التحديد ويرسله إلى الحافظة.
ينسخ Ctrl + c الأمر (مفتاح) + ج ينسخ التحديد ويرسله إلى الحافظة.
معجون Ctrl + v الأمر (مفتاح) + v يلصق تحديدًا من الحافظة.
حذف Del (مفتاح) حذف (مفتاح) يحذف التحديد.
إحضار إلى الأمام / إرسال إلى الخلف     لإحضار الكائنات إلى الأمام على اللوحة القماشية أو إرسالها خلف كائنات أخرى.
محاذاة أفقيًا / عموديًا     يحاذي الكائنات المحددة على اللوحة مع بعضها البعض ، وفقًا للاتجاه المحدد.
انتشار     مسافات متساوية بين الكائنات المحددة على اللوحة القماشية من بعضها البعض ، إما أفقيًا رأسيًا.
اختر الكل Ctrl + a الأمر (مفتاح) + أ تحديد كل المحتوى الموجود على اللوحة القماشية.
بدء الإملاء (أنظمة تشغيل Mac فقط)   الجبهة الوطنية + الجبهة الوطنية تمكن من الإملاء.
Emoji & amp Symbols (Mac فقط)   ^ + الأمر (مفتاح) + مسافة يفتح محدد الرموز التعبيرية.

يعيّن خصائص التكبير الافتراضية.

حدد موقع الأداة المقابلة Zoom Mini-bar في FME & # 160 & gt Options & gt Toolbar.

تحتوي الأداة على شريط تمرير وأزرار +/- ومربع إدخال نص حتى تتمكن من إدخال قيمة تكبير / تصغير. يتضمن أيضًا زر "تكبير / تصغير إلى النطاقات" لملاءمة مساحة العمل في منطقة قماش الرسم المتاحة.

يعرض مربع حوار الشبكة والأدلة:

  • إظهار الشبكة: يعرض شبكة على اللوحة القماشية.
  • محاذاة إلى الشبكة: يطبق الكائنات على الزاوية اليسرى العلوية الأقرب على الشبكة عند سحبها.
  • لون الشبكة: يضبط لون خطوط الشبكة.
  • حجم الشبكة الأفقية: العرض (المسافة الأفقية) بين الخطوط العمودية على الشبكة ، بوحدات قماشية.
  • حجم الشبكة العمودية: الارتفاع (المسافة العمودية) بين الخطوط الأفقية على الشبكة ، بوحدات قماشية.
  • Grid Gravity: إذا تم تحديد Snap to Grid ، فهذه هي المسافة من خط الشبكة الذي يحدث عنده الانجذاب. للتأكد من أن الكائنات تنجذب دائمًا إلى خطوط الشبكة ، قم بتعيين ما لا يقل عن نصف حجم الشبكة.
  • إظهار الأدلة: أثناء سحب الكائنات على اللوحة القماشية ، يعرض هذا الإعداد علامات دليل رأسية وأفقية على الكائنات القريبة للمساعدة في المحاذاة.
  • محاذاة إلى الأدلة: يستقطب الكائنات المسحوبة إلى الموضع الأفقي أو الرأسي لعلامة إرشادية قريبة.
  • لون الدليل: يضبط لون علامات الدليل.
  • حساسية الدليل: أقصى مسافة بين الكائنات ، في وحدات قماشية ، لعرض علامات الدليل.
  • الجاذبية الإرشادية: المسافة من علامة الدليل التي يحدث عندها الانجذاب.

مصطلحات FME

العناصر الفردية من نوع ميزة القارئ أو الكاتب. في هذا المثال ، يكون نوع الميزة هو المنطقة والسمات هي الاسم والمالك والفئة.

عملية إعادة هيكلة المكون غير المكاني لميزة FME: تخضع السمات المتعلقة بالهندسة الفيزيائية لتغيير ينتج عنه مخرجات مختلفة. نرى التحول الهندسي.

تؤدي إضافة نقطة توقف إلى اتصال مساحة العمل إلى إخبار Workbench بفحص الميزات في هذا الموقع. يعد تشغيل مساحة عمل بنقاط توقف طريقة مفيدة لتصحيح أخطاء مساحة العمل.

يتم تعيين نظام إحداثيات لكل قارئ وكاتب في مساحة العمل. سيحاول FME تلقائيًا تحديد نظام الإحداثيات الصحيح من مجموعة البيانات ، للتنسيقات التي تخزن معلومات نظام الإحداثيات (على سبيل المثال ، ملفات الأشكال). يمكن تعيين أنظمة الإحداثيات في جزء المستكشف.

توفر اتصالات قاعدة البيانات طريقة ملائمة وآمنة لتخزين وإعادة استخدام معلمات الاتصال لخدمة قاعدة البيانات.

أداة FME & # 160Desktop لعرض البيانات بأي تنسيق مدعوم من FME لأغراض التحقق وتصحيح الأخطاء.

خدمة FME Server تقبل طلبات التحويل وتقوم بتشغيلها ، كما هو محدد بواسطة مساحة العمل ، وتقوم بإرجاع النتائج كتدفق بيانات.

خدمة خادم FME تتيح للمستخدمين تحميل بيانات المصدر أو ملفات أخرى لتشغيل مساحات العمل.

مكون FME الذي يعالج طلبات العمل عن طريق تشغيل مساحات العمل.

مكون خادم FME الذي يخزن بيانات العمل والمستودع.

توجيه خادم FME يحدد مستوى الأولوية لتشغيل مهمة في قائمة انتظار المهام ، بشكل عام بين 1 (الأعلى) و 100 (الأدنى).

آلية خادم FME لتوزيع الوظائف على محركات محددة.

خدمة FME Server تقبل طلبات وظائف مساحة العمل وتقوم بتشغيلها.

خدمة خادم FME تقبل طلبات التحويل وتنفذها ، كما هو محدد بواسطة مساحة العمل ، وتُرجع النتائج كارتباط شبكة KML.

يعرض نتائج الترجمة. تتضمن المعلومات:

خطأ: تسببت مشكلة في إنهاء FME للمعالجة.

تحذير: مشكلة معالجة بسيطة. ستكمل FME الترجمة ، ولكن قد تتأثر المخرجات سلبًا ويجب التحقق منها.

INFORM: جزء من المعلومات التي قد تساعد في تحديد ما إذا كانت الترجمة قد تمت معالجتها بشكل صحيح.

STATS: معلومات عن عدد الميزات المقروءة من المصدر والمكتوبة في مجموعات البيانات الوجهة.

قبل تقديم FME Workbench لمساحات العمل (في عام 2001) ، تم تنفيذ جميع الترجمات باستخدام ملفات الخرائط.

ملف التعيين (ملف .fme) هو سلسلة من أوامر ASCII التي يستخدمها FME لتشغيل الترجمة. لا يزال من الممكن تشغيل ملفات التعيين من خلال مترجم FME السريع ، باستخدام الوظائف والمصانع (بدلاً من المحولات) لمعالجة البيانات.

قائمة منظمة من الكائنات والمعلمات التي تمثل جميع المكونات الموجودة في لوحة (مساحة العمل) وتتحكم فيها.

رسالة تم إنشاؤها بواسطة خدمة إعلام خادم FME.

خدمة خادم FME تدفع البيانات من وإلى خادم FME في شكل رسائل عند وقوع حدث ما.

عند استخدامها في مقتطف التعليمات البرمجية (على سبيل المثال ، جملة SQL) أو عند الإشارة إلى مؤشر NULL ، استخدم NULL.

مكون خادم FME الذي يوفر التسامح مع الأخطاء ، ويضمن تشغيل نواة خادم FME ومحركاته دائمًا.

أحد مكونات خدمة إعلام خادم FME الذي يتلقى المحتوى من العملاء عبر بروتوكول مدعوم ، ويقدم المحتوى إلى خادم FME في شكل إشعار.

تتحكم معلمات القارئ في كيفية نشر FME & # 160 للبيانات. يمكن الوصول إلى زر معلمات القارئ في مربعي حوار إضافة قارئ وإنشاء مساحة العمل. تظهر المعلمات في Workbench Navigator بعد أن يقوم FME بإنشاء مساحة العمل.

حاوية منطقية في خادم FME لتخزين مجموعات من العناصر ذات الصلة ، بما في ذلك مساحات العمل وبيانات المصدر والتنسيقات المخصصة والمحولات المخصصة والقوالب.

مجموعة من ملفات FME Server التي يتم استخدامها لتشغيل مساحات العمل وتصحيح أخطائها ، وتنفيذ مهام إدارية أخرى ، والتي يمكن مشاركتها بين مساحات العمل عبر المستودعات.

خدمة خادم FME توفر آلية اتصال أساسية قائمة على REST لتطبيقات خدمة العملاء.

مجموعة أمان يجب أن ينتمي إليها كل مستخدم لخادم FME ، والتي تحدد أذونات مستخدميها.

توجيه خادم FME لتشغيل مهمة بشكل مستمر حتى يتم إلغاؤها بشكل صريح.

مهمة في خادم FME تحدد تشغيل مساحة عمل في أوقات محددة في المستقبل على أساس متكرر أو غير متكرر.

أحد مكونات خدمة إعلام خادم FME الذي يتلقى إعلامات من خادم FME ، ويقدم المحتوى للعملاء عبر بروتوكول مدعوم.

توجيه خادم FME يحدد المدة التي تبقى فيها المهمة في قائمة انتظار المهام قبل إزالتها دون تشغيلها.

وقت معالجة FME هو مقدار الوقت الذي كانت FME تقوم بمعالجته بفعالية (وليس المدة التي استغرقتها مساحة العمل حتى تكتمل).

غالبًا ما تختلف أوقات البدء والانتهاء المطلقة عن وقت معالجة FME لأن العمليات غير FME ، مثل استعلام قاعدة البيانات ، تضيف إلى الوقت المطلق الذي يستغرقه دون إضافة وقت معالجة FME.

خدمة خادم FME تتيح للمستخدمين إنشاء رموز الأمان باستخدام اسم الحساب وكلمة المرور.

كلمة أساسية لخدمة إعلام خادم FME تعمل كمستلم لناشر أو أصل المشترك.

مكون FME Server الذي يقوم بتشغيل FME Server Web Services و Web User Interface و REST API وعملاء الويب الآخرين.

توفر اتصالات خدمة الويب طريقة ملائمة وآمنة لتخزين وإعادة استخدام معلمات الاتصال لخدمة الويب.

تطبيق مستند إلى الويب لإدارة خادم FME وتشغيل مساحات العمل من خادم FME.

تتحكم معلمات الكاتب في كيفية كتابة FME & # 160 للبيانات. يمكن الوصول إلى زر Writer Parameters في مربعي حوار Add Writer و Generate Workspace. تظهر المعلمات في Workbench Navigator بعد أن يقوم FME بإنشاء مساحة العمل.


تمرين: تحديثات قاعدة البيانات اليومية: تشغيل مساحة العمل

بالنسبة للتمارين الواردة في هذا الفصل ، فأنت محلل تقني في قسم نظم المعلومات الجغرافية في مدينتك المحلية. لديك الكثير من الخبرة في استخدام FME Desktop ، ويقوم قسمك الآن بفحص خادم FME لتقييم قدراته.

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

نظرًا لأن كل قسم ينتج مجموعات البيانات الخاصة به بتنسيق وأسلوب مختلفين ، فإنك تستخدم FME لهذه المهمة ، وتنفذها على أساس أسبوعي.

بعد إنشاء مساحة عمل لتنفيذ هذه الترجمة ونشرها على خادم FME ، فأنت الآن ترغب في تسجيل الدخول إلى الخادم لتشغيل مساحة العمل هذه.

1) الاتصال بالخادم
لتسجيل الدخول إلى واجهة الخادم ، حدد خيار Web Interface من قائمة البداية أو - في متصفح الويب الخاص بك - أدخل العنوان إلى خادم FME الخاص بك.

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

2) قم بتسجيل الدخول إلى الخادم
في مربع حوار تسجيل دخول المستخدم ، أدخل اسم مستخدم وكلمة مرور لحساب خادم FME الخاص بك. تركيبة اسم المستخدم / كلمة المرور الشائعة لتثبيت التدريب هي admin / admin

3) افحص واجهة المستخدم
هذه هي طريقتك الأساسية للتفاعل مع خادم FME.

لاحظ أنه تم تصنيف إحدى النوافذ على أنها "مساحات العمل المنشورة الأخيرة". هنا يجب أن تكون قادرًا على العثور على مساحة العمل المنشورة في التمرين 1:

سيؤدي النقر فوق رمز النجمة إلى تعيين مساحة العمل هذه كمفضلة ، مما يجعلها متاحة ضمن قائمة لوحة المفضلة:

سنقوم بتشغيل مساحة العمل قريبًا ، ولكن ربما علينا أولاً التأكد من أن خادم FME يعمل بشكل صحيح (حقيقة أنه يمكننا تسجيل الدخول علامة جيدة) وأننا مرخصون ولدينا محركات تعمل.

4) افحص واجهة المستخدم
انقر فوق Engines & amp Licensing في جزء ADMIN من قائمة الواجهة. سيؤدي هذا إلى فتح قسم الترخيص. يجب أن ترى رسالة تخبرك أن خادم FME مرخص وقائمة بالمحركات المتاحة:

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

5) قم بتشغيل مساحة العمل
انقر فوق الزر FME Server في أعلى يسار الواجهة. سيعيدك هذا إلى الصفحة الرئيسية لواجهة الخادم.

انقر فوق مساحة العمل المنشورة في لوحة "مساحة العمل المفضلة" لفتح صفحة الويب الخاصة بمساحة العمل هذه.

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

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

لذلك ، ما عليك سوى النقر فوق الزر "تشغيل" لتشغيل مساحة العمل. سيتم تشغيل مساحة العمل حتى الاكتمال وستظهر رسالة بهذا المعنى:

6) افحص صفحة الوظائف
انقر فوق الوظائف في القائمة الرئيسية. سيتم فتح قائمة بالوظائف التي تم تشغيلها مسبقًا ، بما في ذلك الوظيفة التي قمنا بتشغيلها للتو:

لاحظ بعض النقاط المثيرة للاهتمام في الواجهة:

  1. هناك ارتباطات لإظهار المهام المكتملة (الافتراضية) ، والمهام في قائمة الانتظار ، والمهام الجارية.
  2. هناك قائمة منسدلة تسمح لك بتصفية الوظائف التي يتم عرضها.
  3. يتم تمييز الوظائف الناجحة والتي تفشل باستخدام رمز مختلف.
  4. يتم عرض الوظائف بالترتيب الزمني الذي انتهوا به (سواء كانت ناجحة أم لا).

انقر فوق وظيفتك لفحص النتائج بمزيد من التفاصيل. ستتمكن من رؤية تفاصيل الوظيفة بما في ذلك الوقت الذي تم تقديمه فيه ، ووضعه في قائمة الانتظار ، والبدء ، والانتهاء ، وتسليم الطلب الدقيق المقدم إلى خادم FME والنتائج الكاملة للترجمة. يمكنك أيضًا النقر فوق الزر "عرض السجل" لفحص ملف سجل ترجمة FME.

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

افتح مساحة العمل في FME Workbench وأضف محول المبطئ (على سبيل المثال ، قبل Reprojector). اضبطه لتأخير مساحة العمل بمقدار خمس (5) ثوانٍ لكل ميزة. انشر مساحة العمل مرة أخرى على خادم FME وأعد تشغيلها.


نشر أنواع الميزات للقراءة

يختلف مربع الحوار الخاص بنشر هذه المعلمة عن حوار التنسيقات وأنظمة الإحداثيات:

وذلك لأن FME يمكنها مسح مساحة العمل تلقائيًا وتقديم قائمة بأنواع الميزات المتاحة. & aposs ليس من الضروري إعداد القائمة يدويًا أو حتى إضافتها بشكل شبه تلقائي باستخدام ملف يستورد اختيار.

بالإضافة إلى ذلك ، يسمح استخدام اسم العرض البديل للمؤلف بنشر أسماء بديلة (على سبيل المثال Road Centrelines بدلاً من RdCtrLns) بطريقة مماثلة للمعلمة & # x201CChoice with Alias ​​& # x201D.


تدفق الرسائل

دفق الرسائل هو أسلوب في الوقت الحقيقي يتضمن تدفقًا مستمرًا للمعلومات.

لأغراضنا ، تعني & # x201Ccontinuous & # x201D وصول الرسائل إلى خادم FME بمعدل أسرع مما يمكن لخدمة الإشعارات التعامل مع أكثر من رسالة واحدة في الثانية.

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

عند استخدامها بهذه الطريقة ، نسميها تدفق الرسائل عالي السعة ، حيث يمكن معالجة آلاف الرسائل كل ثانية.

عناصر دفق الرسائل

مثل التنبيهات ، يمكن أن تكون تدفقات الرسائل إما داخل FME أو خارجها ، أو كليهما:

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

تشمل البروتوكولات الرئيسية المدعومة ما يلي:

ستعمل مساحة العمل التي تحتوي على أي من محولات تدفق الرسائل بشكل مستمر لأن المحول نفسه مصمم للعمل بشكل مستمر.

المتلقي ستصدر المحولات ميزة استجابةً لرسالة واردة ، ولكنها ستعود بعد ذلك إلى انتظار المزيد من الرسائل. حتى إذا لم تكن هناك رسائل متاحة على الفور ، فلن يتم إنهاؤها.

مرسل سترسل المحولات رسالة ردًا على ميزة واردة ، لكنها ستعود بعد ذلك لانتظار المزيد من الميزات. مرة أخرى ، لن تنتهي حتى يتم إيقاف مساحة العمل عن عمد.

هندسة تدفق الرسائل

تبدو بنية دفق الرسائل التي تستقبل وترسل الرسائل على النحو التالي:

يتم قراءة دفق من الرسائل في مساحة العمل عبر أحد المحولات المتاحة ، على سبيل المثال JMSReceiver.

تتم معالجة البيانات بواسطة أي من محولات FME المتاحة ، وفقًا لاحتياجات الإعداد.

يتم إرسال دفق من الرسائل من مساحة العمل عبر أحد المحولات المتاحة ، على سبيل المثال TCPIPSender.

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

الغرض من البيانات المقروءة من قاعدة البيانات هو استخدامها لمعالجة الرسالة الواردة. على سبيل المثال ، ربما تمثل الرسالة ميزة نقطة (ربما موقع سيارة) تُستخدم لتصفية بيانات قاعدة البيانات (ربما ظروف حركة المرور) ضدها.

عادةً ما تكون البيانات المكتوبة في قاعدة البيانات لتسجيل تدفق معلومات الرسالة. على سبيل المثال ، ربما تمثل كل رسالة واردة ميزة نقطة (ضربة صاعقة) يجب تسجيلها في قاعدة بيانات.

السيدة محلل تقول & # x2026
& # x201C تتطلب الكتابة إلى قاعدة بيانات تعيين الفاصل الزمني للمعاملات على 1. وإلا فلن يتم الالتزام بالرسائل & # x2019t عند وصولها. & # x201D
التمرين 4E تدفق الرسائل
سيناريو بائع بيانات Airphoto
البيانات GeoTiff Orthophotos
الهدف الرئيسي تطبيق خريطة الويب مع WebSockets
يوضح مآخذ ويب
بدء مساحة العمل C: FMEData2015 Workspaces ServerAuthoring Exercise4e - & # xAD & # x2010Begin.fmw C: FMEData2015 Workspaces ServerAuthoring Exercise4e - & # xAD & # x2010Begin - & # xAD & # x2010Advanced.fmw
مساحة العمل المنتهية غير متوفر

يستخدم هذا التمرين خدمة FME Server & # x2019s WebSockets ومحولات WebSockets لتشغيل تطبيق Web Map. الطريقة الموضحة هنا مناسبة للرسائل عالية التردد التي تزيد عن رسالة واحدة في الثانية.

1. افتح مساحة البدء

في FME Workbench افتح مساحة عمل البداية Exercise4e-Begin.fmw

لاحظ أنه يحتوي على محولي WebSocket & # x2013 واحد للاستقبال والآخر للإرسال. ستستمع مساحة العمل للمعلومات الواردة عبر قناة WebSockets. ستتم معالجة البيانات الواردة مع إزاحة في إحداثياتها ، ثم إعادتها. سيتم تشغيل مساحة العمل بشكل مستمر ، ومعالجة كل رسالة واردة ، حتى يتم إيقافها يدويًا.

2. تحديث اسم الخادم

المهمة الأولى هي تحديث اسم المضيف للخادم ليطابق الاسم الذي تستخدمه.

حدد موقع المعامل server_url المنشور في نافذة المستكشف. انقر نقرًا مزدوجًا فوق المعلمة لفتحها للتحرير واستبدال المضيف باسم مضيف خادم FME الخاص بك ومنفذ. سيحتاج إلى بادئة & # x201Cws & # x201D للإشارة إلى بروتوكول WebSockets.

إذا كنت تعمل على نفس الجهاز مثل خادم FME الخاص بك ، فيمكنك استخدام localhost على سبيل المثال: ws: // localhost: 7078 / websocket

3. افحص WebSocketReceiver و WebSocketSender Transformers

افتح مربع حوار المعلمات لمحول WebSocketReceiver.

لاحظ أنه يتم الحصول على عنوان URL للخادم من المعلمة المنشورة التي قمت بتحديثها للتو.

انقر فوق الزر [& # x2026] لفتح معلمة مقدمة الاتصال.

ما يعنيه هذا هو أن المحول سيقوم بإجراء اتصال بخادم FME المحدد والاستماع إلى الميزات القادمة من خلال دفق WebSocket يسمى & # x201Cpoints & # x201D.

إذا فتحت المعلمات الخاصة بمحول WebSocketSender ، فستراه & # x2019ll سترى أنه يرسل ميزات مرة أخرى باستخدام معرف دفق يسمى & # x201Cdisp_pnts & # x201D.

البيانات التي يتم إرسالها مرة أخرى عبر قناة WebSocket هي إحداثيات خطوط العرض / الطول المعدلة للميزة التي تتم معالجتها.

4. ابدأ مساحة العمل

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

5. قم بتحرير تطبيق خريطة الويب

لاختبار هذا الإعداد ، تم توفير تطبيق أساسي لرسم خرائط الويب في C: FMEData2015 Resources WebSockets

ستكون هناك حاجة إلى بعض التحديثات الطفيفة قبل أن نتمكن من استخدام هذا. في محرر نصوص ، افتح ملف HTML الرئيسي C: FMEData2015 Resources WebSockets www index.html

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

var sendconn = مقبس ويب جديد (& aposws: // localhost: 7078 / websocket & apos) var rcvconn = مقبس ويب جديد (& aposws: // localhost: 7078 / websocket & apos)

الآن ابحث عن كتلة الكود التي تبدأ بالتعليق

/ الاتصال بتيار إدخال الخادم/

لاحظ أن تطبيق الويب يرسل نقاطًا إلى خادم FME باستخدام معرف البث & # x201Cpoints & # x201D & # x2013 نفس الشيء الذي تستمع إليه مساحة العمل حاليًا.

إذا نظرت إليك & # x2019ll ، فابحث أيضًا عن كتلة من التعليمات البرمجية التي تستمع إلى البيانات باستخدام معرف الدفق & # x201Cdisp_pnts & # x201D

احفظ ملف index.html إذا كنت قد أجريت أي تعديلات.

6. قم بتشغيل تطبيق الويب

افتح ملف الفهرس الذي فحصناه للتو في متصفح الويب. أثناء تحميل خريطة الويب ، سترى قسمين للرسالة يسجلان الرسائل المرسلة من وإلى مساحة عمل FME:

انقر فوق أي نقطة على الخريطة.

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

لاحظ أيضًا أنه يتم تسجيل الرسائل الواردة من مساحة العمل وإليها. إذا عدت إلى مساحة العمل ، فستلاحظ & # x2019ll أنه لا يزال يعمل فقط ، ولكن تم تسجيل ميزة كما تم استلامها عبر WebSocketReceiver ، وتم نقلها ونقلها عبر WebSocketSender.

7. انشر مساحة العمل على خادم FME

حتى الآن ، قمنا بتشغيل مساحة العمل على FME Desktop ، ولكن يمكن أيضًا تشغيلها على خادم FME.

أوقف مساحة العمل في FME Desktop إذا كانت لا تزال قيد التشغيل وانشر مساحة العمل على خادم FME في مستودع التدريب. ما عليك سوى تسجيل مساحة العمل في خدمة مقدم الوظائف.

8. قم بتشغيل WebSockets Workflow على خادم FME

في واجهة مستخدم الويب ، قم بالاستعراض إلى مساحة العمل في مستودعها ، واختر مرسل المهمة وانقر فوق تشغيل

ستستمر مساحة العمل في العمل إلى أجل غير مسمى وستقوم وظيفة استرداد المهام FME Server & # x2019s بإعادة المهمة إذا فشلت في أي وقت.

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

ارجع إلى Web User Interface وانقر على قائمة Manage & gt Jobs ثم انقر فوق

علامة التبويب قيد التشغيل حيث سترى مساحة العمل الخاصة بك قيد التشغيل.

انقر فوق الوظيفة ثم على علامة التبويب السجل. & # x2019 سترى سجل مساحة العمل أثناء تشغيله ويمكنك فحصه لرؤية نقراتك القليلة الأخيرة على الخريطة التي تمر عبر مساحة العمل كميزات.

يقول رئيس الشرطة Webb-Mapp & # x2026
& # x201C القدرة على عرض ملف السجل أثناء استمرار الترجمة هي ميزة جديدة لخادم FME 2014 & # x201D

المهام المتقدمة (التمرين 4f)

استخدام مساحة العمل التي تعمل بشكل مستمر له مزايا وعيوب.

على الجانب الإيجابي ، يمكنه معالجة العديد من الرسائل & # x2013 عدة آلاف & # x2013 في الثانية. ومع ذلك ، فإنه يشغل محرك FME Server على أساس مستمر أيضًا.

إذا تم تكوين نفس سير العمل للتشغيل باستخدام خدمة الإعلام ، فلن يستخدم محرك FME في جميع الأوقات ، ولكنه لن يكون مناسبًا للأنظمة التي تحتوي على رسائل متعددة في الثانية.

كمهمة اختيارية ، دع & # x2019s حاول تكوين النظام لاستخدام الإشعارات بدلاً من ذلك إذا كان WebSockets.

1. إلغاء الوظيفة من التمرين أعلاه

ضمن المهام & gt Running في واجهة مستخدم الويب ، ضع علامة اختيار بجوار الوظيفة واضغط على زر إلغاء. سيؤدي هذا إلى إيقاف تشغيل الوظيفة الحالية ، حيث لم نعد بحاجة إليها.

2. أضف موضوعًا

في جزء الإعلام من واجهة مستخدم ويب ، أضف موضوعًا باسم النقاط.

3. إضافة منشور Web Sockets

أضف الآن منشورًا جديدًا بالإعدادات التالية:

اسم المنشور MapPoints موضوعات للنشر إلى النقاط عنوان بروتوكول WebSocket الهدف عنوان URL ws: // localhost: 7078 / websocket (أو استخدم مضيفك الخاص) معرف التدفق sample_stream_in

4. قم بتحرير تطبيق خريطة الويب

في محرر نصوص افتح الملف

قم بالتعليق على رسالة الاتصال الافتراضية للإرسال (السطر 86) وقم بإلغاء التعليق على الرسالة أدناه:

5. افتح مساحة العمل المتقدمة

افتح مساحة العمل Exercise4e-Begin-WebSockets-Advanced.fmw وقم بتحرير المعلمة server_url إذا لزم الأمر.

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

في إعدادات الخدمة ، اضبط مساحة العمل للاشتراك في نقاط الموضوع وتأكد من تعيين قارئ الإشعارات على قارئ TEXTLINE.

انقر فوق "موافق" لإغلاق مربع الحوار ونشر لإنهاء نشر مساحة العمل.

6. استخدم تطبيق الويب في وضع الإعلام

أعد تحميل تطبيق الويب في متصفحك أو ببساطة أعد فتح ملف index.html.

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

افحص محفوظات المهام في واجهة مستخدم الويب. سترى وظيفة يتم تشغيلها في كل مرة تنقر فيها.


التنسيقات

يدعم FME بشكل عام أكثر من 325 تنسيق ملف ، وهذا الرقم في تزايد مستمر. يختلف عدد التنسيقات المدعومة حسب الإصدار الذي تشتريه. يتم دعم التنسيقات الأساسية بالفعل في أدنى إصدار أساسي (ESRI SHP و MapInfo TAB و AutoCAD DWG / DXF و Microstation DGN V7 و V8 و KML وما إلى ذلك). انظر إلى قائمة التنسيقات المدعومة ، أو انتقل إلى القائمة الكاملة.

الإصدار الأساسي

  • Esri SHP
  • علامة التبويب MapInfo
  • أوتوكاد DWG / DXF
  • ميكروستاتيون DGN V7 i V8.0
  • ملف KML
  • و اكثر

إد محترف.

  • Esri SHP
  • علامة التبويب MapInfo
  • أوتوكاد DWG / DXF
  • ميكروستاتيون DGN V7 i V8.0
  • ملف KML
  • GML
  • ريان
  • يلهم
  • مايكروسوفت اكسل
  • انترجراف MGE
  • و اكثر

طبعة Esri

  • Esri SHP
  • Esri ArcSDE
  • طبقة Esri ArcGIS
  • تغطية Esri ArcGIS
  • قاعدة البيانات الجغرافية Esri (ArcSDE)
  • علامة التبويب MapInfo
  • أوتوكاد DWG / DXF
  • ميكروستاتيون DGN V7 i V8.0
  • ملف KML
  • GML
  • ريان
  • يلهم
  • مايكروسوفت اكسل
  • انترجراف MGE
  • و اكثر

إصدار قاعدة البيانات

  • Esri SHP
  • Esri ArcSDE
  • طبقة Esri ArcGIS
  • تغطية Esri ArcGIS
  • قاعدة البيانات الجغرافية Esri (ArcSDE)
  • علامة التبويب MapInfo
  • أوتوكاد DWG / DXF
  • ميكروستاتيون DGN V7 i V8.0
  • ملف KML
  • GML
  • ريان
  • يلهم
  • مايكروسوفت اكسل
  • انترجراف MGE
  • أوراكل المكاني
  • مكاني خادم Microsoft SQL
  • تيراتا
  • و اكثر

إحضار البيانات إلى تنسيق موحد

قصتي:
إذا كنت تتذكر ، فإن الطبقات التي حددتها هيئة مياه State College Borough Water Authority في قائمة رغبات GIS الخاصة بها جاءت من عدة مصادر. لقد أضفنا GPS وبيانات المدارس وبيانات الغابات وبيانات Center County ورسم CAD. تم استيرادها من عدد من المصادر وتشتمل على الكثير من أنواع البيانات المختلفة. الآن ، نرغب في تسليم المشروع ، وللقيام بذلك سنمنحهم مصدر بيانات موحد.

ب. تحميل البيانات في FME Workbench

Workbench هو مكان العمل الحقيقي لحزمة FME. لديها نظام إدارة قاعدة بيانات القوة الصناعية الذي تم تحسينه لمجموعات البيانات المكانية. يمكن تحقيق نفس الشيء باستخدام ArcMap و ArcCatalogue. في هذه الحزم ، يجب معالجة كل جزء من البيانات بشكل منفصل ويتم تشغيله مرة واحدة فقط. في Workbench ، يمكن حفظ الإجراء وتشغيله مرة أخرى حسب الحاجة. يحتفظ Workbench أيضًا بملفات السجل الشاملة بحيث يمكن تسجيل إجراءات العمل وتدفقه وتوثيقها.

  1. افتح FME Workbench (إذا كانت لديك مشكلة في الدعم ، فسيتم فتح ملف تعليمات الدورةr ، وليس FME ، هو الشخص الذي يجب الاتصال به).
  2. اسحب ملف Building Plots Shape File إلى مساحة العمل أو استخدم الزر "إضافة قارئ" أو مربع الحوار.
  3. انقر فوق الزر أو القائمة إضافة كاتب وانتقل إلى دليل وقم بإعداد قاعدة بيانات Esri Geodatabase ، قاعدة بيانات جغرافية شخصية قائمة على الملف ، قم بتسمية قاعدة البيانات الجغرافية "SCBWAGIS"
  4. إضافة ميزة وتعيين الميزة. قم بتسمية المتغير بشيء وصفي ، على سبيل المثال "مضلعات مؤامرة البناء."
  5. قم بتعيين هندسة المعالم لتناسب الهندسة الواردة في هذه الحالة "المضلعات".
  6. قم بتوصيل سهم سير العمل به. (لتعيين وجهة ، لا يوجد زر أو قائمة منسدلة في التطبيق. ابحث عن العلبة الصفراء الصغيرة والسهم الأخضر الذي يشير إلى اليمين. هذا هو الزر الذي سينقلك إلى المكان الذي تذهب إليه لتعيين الوجهة بالنسبة لطبقات المباني والشوارع إلى قاعدة بيانات FileBasedGeodatabase ما عليك سوى سحبها عبرها.)
  7. افعل نفس الشيء مع Streets. يتم سحب تدفق العمل في مجموعة بيانات ، وتعيين وجهة في الكاتب ، وتوصيل الاثنين بسهم.
  8. استمر في إضافة مصادر البيانات وتعيين الاتصالات بقاعدة البيانات الجغرافية وفقًا للتوصيل الأول. .
  9. قم بتشغيل النموذج لملء قاعدة البيانات الجغرافية (عند تشغيله ، سيكون لديه عدد من الميزات كتسمية على خط السهم (انظر الشكل 8.1 أعلاه).
  10. احفظ مساحة عمل FME بحيث يمكن تشغيلها مرة أخرى إذا تم تحديث البيانات.
  11. وثق عملك ، واحفظ ملف السجل من FME بقاعدة البيانات الجغرافية. احفظ أي بيانات وصفية تلقيتها للطبقات التي قمت بتضمينها (في هذه الحالة لن تكون أيًا منها). سوف تحتاج إلى إنشاء بيانات تعريف إذا لم يكن هناك أي شيء يقوم بذلك لإحدى الطبقات فقط باستخدام منشئ البيانات التعريفية Esri في ArcCatalogue.

انظر حولك في FME وسترى الكثير والكثير من الميزات التي ليس لدينا وقت للنظر فيها ، ولكن يمكنك تحديد البيانات وتجميعها وتحويلها وتعميمها وتبسيطها وتعديلها بطريقة أخرى أثناء تحميلها. يمكن أن يكون هذا مفيدًا بشكل خاص إذا كنت تقوم بنقل البيانات من برنامج مختلف. لقد حان الوقت أيضًا لتعميم البيانات على نطاق مماثل. إن تكرار هذه البرامج مفيد حقًا إذا كنت تتلقى بيانات من مصدر آخر على أساس منتظم. على سبيل المثال ، لدى قسم الأشغال بيانات عن المباني التي تملكها وتسيطر عليها الحكومة ، ولدى قسم التخطيط معلومات عن المباني الجديدة ولديك أيضًا بيانات قطعة الأرض. قد ترسل لك هذه الأقسام المختلفة بيانات جديدة على أساس التحديث أو قد ترسل إليك تحديثًا أسبوعيًا للبيانات. عليك دمجها كل أسبوع للتأكد من أنك تعمل على نفس البيانات. سيكون من الجيد أن تكون جميع البيانات بنفس التنسيق ، ولكن نظرًا لأن لها مصادر مختلفة ، فمن المحتمل جدًا ألا تكون موحدة. إذا كان لديك الكثير من التفاعلات مع البيانات القائمة على CAD والتي ليست في إحداثيات جغرافية ولكنها في وحدات مساحة CAD عشوائية ، فمن الأفضل أحيانًا إنشاء إسقاط CAD مخصص بحيث يعرف ArcGIS كيفية إعادة طرحها ، بدلاً من تحويلها. يأخذ الإسقاط المخصص إسقاطًا مسطحًا مثل UTM ثم يوفر إزاحة مخصصة (False Easting و False Northing) لضبطه. قد يتطلب الأمر أيضًا مؤشر قياس مخصص لضمان مقياس مماثل. هذا أمر يستحق القيام به حقًا إذا كان لديك الكثير من رسومات CAD في نفس إحداثيات المصدر أو إذا كان لديك سلسلة تحديثات متكررة.

ج. استخدام الصيغ المفتوحة للتبادل أو التبادل؟

في المثال أعلاه ، استخدمنا سيناريو عمل استشاري مع مجموعة متنوعة من السلطات الأخرى لإنشاء نظام المعلومات الجغرافية لمجلس المياه. عندما نقوم بتسليمها ، فإنهم يريدون الحصول على البيانات في نظم المعلومات الجغرافية الخاصة بهم بأقل قدر من العمل. بافتراض أن لديهم نظام ArcGIS ، فإن قاعدة البيانات الجغرافية هي أفضل خيار للتسليم. إنه أغنى من معيار المصدر المفتوح ، ملف الشكل. لا تحتوي ملفات الأشكال في أي مكان بالقرب من مقدار المعلومات حول المجالات والطوبولوجيا والوقت (الزمني) الذي يمكن أن تحتويه قاعدة البيانات الجغرافية أو تغطية ArcInfo. If you want exchange files on a regular basis, as when a corporation updates files and passes them on to another entity, then it pays to have inbuilt translation methodology like FME Workbench. If the data are to be put on the web for anybody, then a widespread propriety file like ArcGIS or even ArcInfo Coverage e00 export file are okay, but open source data would be better. Most GIS systems have routines to deal with common propriety file types, and Esri is now the de facto statndard. How about if the downloader runs a rarer GIS? Has anyone received GRASS or SmallWorld files? These can be difficult to work with and not everyone has the Interoperability Extension or FME. Open source files are fine for simple geometries without topology and are probably the best in many situations. However, they are not universally the best. Sometimes, a more complex spatial entity is better preserved in a more complex data type. Make a lfinal ist of file types you have incorporated into your project and add it to your document e-portfolio.

That's it for Part I!

You have just completed Part I of this module, Part II, you will load GPS data you've acquired.


Step 5: Implement and test your solution

Periodically test your disaster recovery setup to ensure that it functions correctly. There’s no value in maintaining a disaster recovery solution if you cannot use it when you need it. Some companies switch between regions every few months. Switching regions on a regular schedule tests your assumptions and processes and ensures that they meet your recovery needs. This also ensures that your organization is familiar with the policies and procedures for emergencies.

Regularly test your disaster recovery solution in real-world conditions.

If you discover that you are missing an object or template and still need to rely on the information stored in your primary workspace, modify your plan to remove these obstacles, replicate this information in the secondary system, or make it available in some other way.

Test any required organizational changes to your processes and to configuration in general. Your disaster recovery plan impacts your deployment pipeline, and it is important that your team knows what needs to be kept in sync. After you set up your disaster recovery workspaces, you must ensure that your infrastructure (manual or code), jobs, notebook, libraries, and other workspace objects are available in your secondary region.

Talk with your team about how to expand standard work processes and configuration pipelines to deploy changes to all workspaces. Manage user identities in all workspaces. Remember to configure tools such as job automation and monitoring for new workspaces.

Plan for and test changes to configuration tooling:

  • Ingestion: Understand where your data sources are and where those sources get their data. Where possible, parameterize the source and ensure that you have a separate configuration template for working with your secondary deployments and secondary regions. Prepare a plan for failover and test all assumptions.
  • Execution changes: If you have a scheduler to trigger jobs or other actions, you may need to configure a separate scheduler that works with the secondary deployment or its data sources. Prepare a plan for failover and test all assumptions.
  • Interactive connectivity: Consider how configuration, authentication, and network connections might be affected by regional disruptions for any use of REST APIs, CLI tools, or other services such as JDBC/ODBC. Prepare a plan for failover and test all assumptions.
  • Automation changes: For all automation tools, prepare a plan for failover and test all assumptions.
  • Outputs: For any tools that generate output data or logs, prepare a plan for failover and test all assumptions.

Test failover

Disaster recovery can be triggered by many different scenarios. It can be triggered by an unexpected break. Some core functionality may be down, including the cloud network, cloud storage, or another core service. You do not have access to shut down the system gracefully and must try to recover. However, the process could be triggered by a shutdown or planned outage, or even by periodic switching of your active deployments between two regions.

When you test failover, connect to the system and run a shutdown process. Ensure that all jobs are complete and the clusters are terminated.

A sync client (or CI/CD tooling) can replicate relevant Databricks objects and resources to the secondary workspace. To activate your secondary workspace, your process might include some or all of the following:

  1. Run tests to confirm that the platform is up to date.
  2. Disable pools and clusters on the primary region so that if the failed service returns online, the primary region does not start processing new data.
  3. Recovery process:
    1. Check the date of the latest synced data. See Disaster recovery industry terminology . The details of this step vary based on how you synchronize data and your unique business needs.
    2. Stabilize your data sources and ensure that they are all available. Include all external data sources, such as AWS RDS, as well as your Delta Lake, Parquet, or other files.
    3. Find your streaming recovery point. Set up the process to restart from there and have a process ready to identify and eliminate potential duplicates (Delta Lake Lake makes this easier).
    4. Complete the data flow process and inform the users.

    Test restore (failback)

    Failback is easier to control and can be done in a maintenance window. This plan can include some or all of the following:

    1. Get confirmation that the primary region is restored.
    2. Disable pools and clusters on the secondary region so it will not start processing new data.
    3. Sync any new or modified assets in the secondary workspace back to the primary deployment. Depending on the design of your failover scripts, you might be able to run the same scripts to sync the objects from the secondary (disaster recovery) region to the primary (production) region.
    4. Sync any new data updates back to the primary deployment. You can use the audit trails of logs and Delta tables to guarantee no loss of data.
    5. Shut down all workloads in the disaster recovery region.
    6. Change the jobs and users URL to the primary region.
    7. Run tests to confirm that the platform is up to date.
    8. Start relevant pools (or increase the min_idle_instances to a relevant number) .
    9. Start relevant clusters (if not terminated).
    10. Change the concurrent run for jobs, and run relevant jobs. These could be one-time runs or periodic runs.
    11. As needed, set up your secondary region again for future disaster recovery.

    Undergraduate Programs

    The mission of the undergraduate programs is to provide state-of-the-art biomedical engineering education to students in order that they may continue their education in graduate, medical, and professional schools or pursue careers in industry. To this end, our responsibility is as much to the future as it is to the present. Through a strong research and educational environment, we strive to empower our students to explore and define their own frontiers as well as instill the ethical principles that will foster rewarding professional endeavors. The B.S. in Biomedical Engineering degree program is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.

    The biomedical engineering program normally leads to the bachelor of science degree and requires at least 129 credits. The B.S. program is recommended for students who plan careers in engineering or who plan to attend graduate school in engineering. If a student wishes to take a more flexible program with less emphasis on engineering, a B.A. program is also available. Either the B.S. or the B.A. program can meet the needs of a student who plans graduate study in a nonengineering area.

    The undergraduate program provides a strong foundation in mathematics, engineering, and science. It emphasizes preparation for advanced study in an area related to biomedical engineering and is broad enough to accommodate students who plan graduate work in biology, medicine, engineering, biophysics, physiology, or biomedical engineering.

    Our fundamental focus is to instill a passion for learning, scientific discovery, innovation and entrepreneurial spirit, and societal impact on an extraordinary group of students who will become:

    • Adept at applying their engineering and biological training to solving problems related to health and healthcare that are globally relevant and based on ethically sound principles.
    • Leaders in their respective careers in biomedical engineering or interrelated areas of industry, government, academia, and clinical practice.
    • Engaged in life-long learning by continuing their education in graduate or professional school or through opportunities for advanced career or professional training.

    Each student plans a curriculum suited to his or her goals with the assistance of a faculty advisor. Upon completion of the B.S. in biomedical engineering, students will demonstrate:

    • an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
    • an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
    • an ability to communicate effectively with a range of audiences
    • an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
    • an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
    • an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
    • an ability to acquire and apply new knowledge as needed, using appropriate learning strategies.

    The program also encourages individual study and research and gives academic credit for them. Students are welcome to work in laboratories on the Homewood campus or at the Medical Institutions in East Baltimore.