نمایش نتایج 1 تا 5 از 5

نام تاپیک: راهنمایی در فهمیدن کد

  1. #1

    راهنمایی در فهمیدن کد

    سلام ممکنه راهنمایی کنین ببینین این کد چی کار میکنه؟

    public static synchronized double distance(Coordinate c1, Coordinate c2, double[] returnVals) {
    // TODO check this now, might be different way of getting distance in new Simphony
    GeodeticCalculator calculator = new GeodeticCalculator(ContextManager.roadProjection.g etCRS());
    calculator.setStartingGeographicPoint(c1.x, c1.y);
    calculator.setDestinationGeographicPoint(c2.x, c2.y);
    double distance = calculator.getOrthodromicDistance();
    if (returnVals != null && returnVals.length == 2) {
    returnVals[0] = distance;
    double angle = Math.toRadians(calculator.getAzimuth()); // Angle in range -PI to PI
    // Need to transform azimuth (in range -180 -> 180 and where 0 points north)
    // to standard mathematical (range 0 -> 360 and 90 points north)
    if (angle > 0 && angle < 0.5 * Math.PI) { // NE Quadrant
    angle = 0.5 * Math.PI - angle;
    } else if (angle >= 0.5 * Math.PI) { // SE Quadrant
    angle = (-angle) + 2.5 * Math.PI;
    } else if (angle < 0 && angle > -0.5 * Math.PI) { // NW Quadrant
    angle = (-1 * angle) + 0.5 * Math.PI;
    } else { // SW Quadrant
    angle = -angle + 0.5 * Math.PI;
    }
    returnVals[1] = angle;
    }
    return distance;
    }

    /**
    * Converts a distance lat/long distance (e.g. returned by DistanceOp) to meters. The calculation isn't very
    * accurate because (probably) it assumes that the distance is between two points that lie exactly on a line of
    * longitude (i.e. one is exactly due north of the other). For this reason the value shouldn't be used in any
    * calculations which is why it's returned as a String.
    *
    * @param dist
    * The distance (as returned by DistanceOp) to convert to meters
    * @return The approximate distance in meters as a String (to discourage using this approximate value in
    * calculations).
    * @throws Exception
    * @see com.vividsolutions.jts.operation.distance.Distance Op
    */
    public static synchronized String distanceToMeters(double dist) throws Exception {
    // Works by creating two coords (close to a randomly chosen object) which are a certain distance apart
    // then using similar method as other distance() function
    GeodeticCalculator calculator = new GeodeticCalculator(ContextManager.roadProjection.g etCRS());
    Coordinate c1 = ContextManager.buildingContext.getRandomObject().g etCoords();
    calculator.setStartingGeographicPoint(c1.x, c1.y);
    calculator.setDestinationGeographicPoint(c1.x, c1.y + dist);
    return String.valueOf(calculator.getOrthodromicDistance() );
    }

  2. #2

    نقل قول: راهنمایی در فهمیدن کد

    کسی نیست منو راهنمایی کنه

  3. #3
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: راهنمایی در فهمیدن کد

    توضیحاتش خیلی کامله و خودش گفته که دو نقطه بر حسب مختصات میگیره و فاصله بر حسب متر بر میگردونه. چند تا محاسبه ساده هم داره و از کلاس GeodeticCalculater استفاده کرده و اون چند تا if هم بر اساس زاویه دو نقطه مشخص میکنه در کدوم ناحیه از چهار ناحیه صفحه قرار میگیره و کلا نکته خاص برنامه نویسی نداره.

    شما خودتون چه تلاشی برای فهمیدنش کردید و چی رو فهمیدید و دقیقا چی رو نمیدونید؟

  4. #4

    نقل قول: راهنمایی در فهمیدن کد

    نقل قول نوشته شده توسط vahid-p مشاهده تاپیک
    توضیحاتش خیلی کامله و خودش گفته که دو نقطه بر حسب مختصات میگیره و فاصله بر حسب متر بر میگردونه. چند تا محاسبه ساده هم داره و از کلاس GeodeticCalculater استفاده کرده و اون چند تا if هم بر اساس زاویه دو نقطه مشخص میکنه در کدوم ناحیه از چهار ناحیه صفحه قرار میگیره و کلا نکته خاص برنامه نویسی نداره.

    شما خودتون چه تلاشی برای فهمیدنش کردید و چی رو فهمیدید و دقیقا چی رو نمیدونید؟
    با سلام و تشکر من کار getAzimuth رو متوجه نمی شم و اینکه اگه بخوام این کد رو پیشرفته تر کنم دقیقا" باید کجا هارو دستکاری کنم مثلا" من بخوام این کد قابلیت تشخیص 4راه رو داشته باشه و یا بخوام فرمول شیب خط رو به این کد اضافه کنم دقیقا" نمی دونم کجای برنامه و چطوری باید این کارو بکنم
    این برنامه کدهای زیادی داره من فقط تکه ی مربوط به مختصات رو اوردم چون فکر میکنم این فقط باید تغییر داده بشه

  5. #5
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: راهنمایی در فهمیدن کد

    اینجوری که من با سرچ از مستندش فهمیدم، جهت خط بین دو نقطه رو میده که عددی بین -180 تا 180 بر حسب درجه هست.

    اینکه چطور 4 راه رو تشخیص بدید رو نمیدونم. در انجمن الگوریتم بپرسید شاید جواب بهتری بگیرید. یا در اینترنت سرج کنید ببینید کاری قبلا انجام شده یا نه.
    تازه خیلی به ساختار دادتون بستگی داره و... . مثلا اگر از ساختار گراف استفاده شده باشه خب هر نودی با درجه 4 یک چهار راه میشه چیز خاصی هم نداره.

    این سوالات جزئی زیاد جاش تو انجمن جاوا نیست، یعنی مشکل برنامه نویسی جاوا نیست، بحث سر الگوریتمش هست و...

تاپیک های مشابه

  1. سوال: راهنمایی در فهمیدن یک تکه کد
    نوشته شده توسط nesyan در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 31 تیر 1394, 13:33 عصر
  2. راهنمایی در تکمیل کد
    نوشته شده توسط yekta64 در بخش توسعه وب (Web Development)
    پاسخ: 1
    آخرین پست: یک شنبه 24 آبان 1388, 11:59 صبح
  3. راهنمایی در تکمیل کد
    نوشته شده توسط yekta64 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: دوشنبه 18 آبان 1388, 13:21 عصر
  4. سوال: درخواست راهنمایی در مورد کد
    نوشته شده توسط smk311 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 2
    آخرین پست: دوشنبه 05 مرداد 1388, 12:08 عصر
  5. سوال: راهنمایی در مورد کد نویسی در فلش
    نوشته شده توسط mahbang در بخش توسعه وب (Web Development)
    پاسخ: 6
    آخرین پست: یک شنبه 26 آبان 1387, 22:34 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •