PDA

View Full Version : مشکل در خواندن داده های ثبت شده از GPS



محمد زارع
سه شنبه 09 مرداد 1386, 23:40 عصر
با سلام و خسته نباشید
من برای یک قسمت از برنامم احتیاج به خوندن اطلاعاتی که توسط GPS در یک فایل متنی ثبت شده دارم، البته باید بگم این اطلاعات فقط با یک فرمت مشابه زیر که با 6 حرف "GPGGA$"شروع میشه به درد من میخوره و با بقیه خطوطی که با غیر از این آغاز بشه اصلاً کاری ندام.
نمونه داده ها:
GPGGA$,161229.487,3723.2475,N,12158.3416,W,1,7,1,9 ,M,10,12,16,0000*18
من برای این کار یک الگوریتم رو پیاده سازی کردم که شامل مراحل زیره:
1- بعد از گرفتن نام فایل از کاربر، تعداد خطوط اون رو محاسبه میکنه.
2- برای هر خط، موقعیت مکانی کاماها رو تعیین کرده و در یک آرایه از نوع Integer قرار میده.
3- با معلوم بودن محل کاماها، هر تعداد کاراکتری که بین دو کامای خاص قرار گرفته رو در محل مخصوص به خودش توی جدول قرار میده. مثلاً در نمونه بالا عددی که بین دو کامای سوم و چهارم قرار گرفته (N) رو در محل مخصوص به خودش قرار میده.
به نظرم اصل کاری که داره انجام میشه خیلی ساده است و تقریباً هم داره خوب جواب میده ولی اشکال اینه که سرعتش پایینه من کار رو با یک فایل که تعداد خطوطش حدود 900 خطه امتحان کردم، اصلاً سرعتش خوب نبود، نکته جالب اینکه تعداد خطوط فایل اصلی در حدود 30,000 خطه که با این حساب باید سیستم هنگ کنه.:-(
من نمونه سورس برنامه رو قرار میدم. یه فایل متنی هم به نام "GPS1.TXT" همراهش میگذارم. لطفاً برنامه رو اجرا کنید و سورس رو هم نگاه کنید و اگه راهd بنظرتون رسید حتماً کمک کنید.
خیلی متشکر و ممنونم.
زارع
Mohammad.Zarea@Gmail.com

محمد زارع
چهارشنبه 10 مرداد 1386, 08:17 صبح
دوستان لطفاً کمک کنید قضیه خیلی حیاتیه!

titbasoft
چهارشنبه 10 مرداد 1386, 10:44 صبح
در مورد Regular Expressions با کیورد Regex در سایت جستجو کنید
مثلا:
http://barnamenevis.org/forum/showthread.php?t=27331
http://barnamenevis.org/forum/showthread.php?t=48176
http://barnamenevis.org/forum/showthread.php?t=39358

محمد زارع
شنبه 27 مرداد 1386, 09:55 صبح
سلام

من بالاخره تونستم با سرعت خیلی بالا داده ها رو توی یک جدول لود کنم ولی باز هم به مشکل کوچولو دارم و اون اینکه باید روی 4 سل از هر ردیف یه سری محاسبه انجام بدم و توی 4 سل دیگه تو همون ردیف قرارشون بدم و این یه خورده وقت گیره(در حدود 5 دقیقه!!!)
حالا دارم دنبال یه استراتژی خوب میگردم تا بتونم این زمان رو لااقل نصف کنم.
از همه درخواست کمک دارم.

با تشکر.
زارع.