المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : برنامج لتحويل الاحداثيات من نادي نظم المعلومات الجغرافية



حمود العنزي
10-02-2005, 03:41 PM
الاخوة الاعضاء

السلام عليكم ورحمة الله وبركاتة

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

حمود العنزي

http://www.qatarpictures.com/files/4/asd.JPG


بأنتظار ملاحظاتكم

رمضان شافعي
10-02-2005, 06:44 PM
مشكور أخي علي الاستجابة

ولكن هكذا يصبح البرنامج مفيد والجهد مشكور


فهكذا يستطيع اي احد الحصول عليه دون الي برامج مساعدة


شكرا وتقبل الله منكم

م. نصيف
10-03-2005, 09:49 AM
شكراً جزيلاً أخي حمود وأثابك الله على حسن نيتك بنشر الخير والمنفعة للجميع



وليس شرط يختلف اللون
المعنى بالبرنامج
حتى لدي تظهر بهذا الشكل والبرنامج في أحسن حال ويختصر أوقات كثيرة في تحويل الإحداثيات
http://www.up2up.com/uploads/841abfba28.jpg

عبدالعزيز الحسين
11-24-2005, 10:08 PM
شكر جزيلا وجزاك الله كل خير اخي حمود علي هذه المساهمة
وكثر الله من امثالك
واعذرني علي الشكر المتاخر لعلمي المتاخر عن موقعكم الجميل مثلكم

المهلب
01-25-2006, 10:10 AM
أشكر أعضاء هذا المنتدى الرائع واشكر لكل من ساهم لنشر العلم والمعرفة واوجه شكري الخاص للاخ المبرمج الذي ساهم في تبسيط آلية تحويل الأحداثيات من DMS to DD والعكس.
ولكن ما هي المعادلة التي تم من خلالها تحويل DMS الى DD

فهد الأحمدي
01-27-2006, 07:43 PM
الشكل التالي يوضح الفروقات بين المرجع العالمي WGS84 وبين عدة مراجع إخرى لنقطة معلومة الإحداثيات ويلاحظ أن فرق الإزالة قد بلغ في بعض المراجع 1000 متر


http://www.gisclub.net/vb/uploaded/shift.jpg


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

MSY
01-27-2006, 11:49 PM
شكراً جزيلاً أخي حمود وأثابك الله على حسن نيتك بنشر الخير والمنفعة للجميع

رشيد
02-08-2006, 03:02 AM
هذا ماكنت أحتاج اليه لك الشكر الجزيل سأجربه و اتيك بالخبر اليقين.
أخوكم رشيد من المحيط الأطلسي

فيصل الزهراني
02-08-2006, 08:29 AM
أشكر كل من ساهم في تصميم هذا البرنامج الرائع والى الامام باذن الله .

نصر الدين اسماعيل
03-05-2006, 03:32 PM
مجهود مقدر ومعلومة قيمة
نصر

م. احمد الشمري
03-08-2006, 07:28 AM
السلام عليكم ورحمة الله وبركاته

مشكور اخ فهد على هذه الصورة الرائعة حقيقتا والتي توضح مقدار الفرق بين مختلف الانظمة

abu nahil
05-21-2006, 07:38 PM
لمن يرغب في كودالتحويل وهو حق مشروع للاستخدام ونسال الله الاجر

ConsoleTest1---------------------------------------
'Purpose: To convert Degree, minutes, seconds and decimal degrees to there opposites
'Organisation: Curtin University
'Project: Assignment 1
'Date: 5 May 2006
'Author: Abdullah Almahrouqi
'
'Mainline Variables:
' deg (integer) - degrees input from user
' min (integer) - minute input from user
' sec (integer) - second input from user
' decinput (single) - user input in decimal degrees
' decinput2(integer) - user input in decimal degrees


Public Class Form1
Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

Public Sub New()
MyBase.New()

'This call is required by the Windows Form Designer.
InitializeComponent()

'Add any initialization after the InitializeComponent() call

End Sub

'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub

'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents Label6 As System.Windows.Forms.Label
Friend WithEvents Button3 As System.Windows.Forms.Button
Friend WithEvents output As System.Windows.Forms.TextBox
Friend WithEvents Decimaldeg As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Decimaldeg = New System.Windows.Forms.TextBox
Me.Label1 = New System.Windows.Forms.Label
Me.Button1 = New System.Windows.Forms.Button
Me.Button2 = New System.Windows.Forms.Button
Me.output = New System.Windows.Forms.TextBox
Me.Label6 = New System.Windows.Forms.Label
Me.Button3 = New System.Windows.Forms.Button
Me.SuspendLayout()
'
'Decimaldeg
'
Me.Decimaldeg.Location = New System.Drawing.Point(8, 8)
Me.Decimaldeg.Name = "Decimaldeg"
Me.Decimaldeg.Size = New System.Drawing.Size(88, 20)
Me.Decimaldeg.TabIndex = 0
'
'Label1
'
Me.Label1.Font = New System.Drawing.Font("Showcard Gothic", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label1.ForeColor = System.Drawing.Color.Black
Me.Label1.Location = New System.Drawing.Point(29, 40)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(67, 24)
Me.Label1.TabIndex = 1
Me.Label1.Text = "Input"
'
'Button1
'
Me.Button1.BackColor = System.Drawing.Color.DarkKhaki
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Font = New System.Drawing.Font("Perpetua Titling MT", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Button1.Location = New System.Drawing.Point(118, 118)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(175, 56)
Me.Button1.TabIndex = 9
Me.Button1.Text = "Convert to DD to DMS"
Me.Button1.UseVisualStyleBackColor = False
'
'Button2
'
Me.Button2.AccessibleRole = System.Windows.Forms.AccessibleRole.IpAddress
Me.Button2.BackColor = System.Drawing.Color.Wheat
Me.Button2.Font = New System.Drawing.Font("MS Reference Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Button2.Location = New System.Drawing.Point(118, 18)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(175, 56)
Me.Button2.TabIndex = 10
Me.Button2.Text = "Convert DMS to DD"
Me.Button2.UseVisualStyleBackColor = False
'
'output
'
Me.output.Location = New System.Drawing.Point(8, 154)
Me.output.Name = "output"
Me.output.Size = New System.Drawing.Size(96, 20)
Me.output.TabIndex = 11
'
'Label6
'
Me.Label6.Font = New System.Drawing.Font("Impact", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label6.Location = New System.Drawing.Point(28, 188)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(67, 27)
Me.Label6.TabIndex = 12
Me.Label6.Text = "Output"
'
'Button3
'
Me.Button3.BackColor = System.Drawing.Color.DarkOrchid
Me.Button3.Font = New System.Drawing.Font("Papyrus", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Button3.ForeColor = System.Drawing.Color.Black
Me.Button3.Location = New System.Drawing.Point(190, 229)
Me.Button3.Name = "Button3"
Me.Button3.Size = New System.Drawing.Size(103, 34)
Me.Button3.TabIndex = 13
Me.Button3.Text = "Exit"
Me.Button3.UseVisualStyleBackColor = False
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(292, 266)
Me.Controls.Add(Me.Button3)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.output)
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Label1)
Me.Controls.Add(Me.Decimaldeg)
Me.Name = "Form1"
Me.Text = "Form1"
Me.ResumeLayout(False)
Me.PerformLayout()

End Sub

#End Region



Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim DMSDeg As Double ' degrees input when entering degrees minutes and seconds
Dim DMSmin As Double ' minutes input when entering degrees minutes and seconds
Dim DMSsec As Double ' seconds input when entering degrees minutes and seconds

DMSDeg = Val(deg.Text) 'the value of the text entered in the degrees section
DMSmin = Val(min.Text / 60) ' the value of the text entered in the degrees section divided by 60
DMSsec = Val(sec.Text / 3600) ' the value of the text entered in the degrees section divided by 360
output.Text = DMSDeg & +DMSmin + DMSsec ' displaying the output in the textbox by adding the 3 values above

If DMSDeg <= 0 And DMSmin <= 0 And DMSsec <= 0 Then 'this will occur if no value is entered

MsgBox(" you have clicked the incorrect button please re-enter your information or select the other button")
output.Text = ("undefined")

Else
output.Text = DMSDeg + DMSmin / 60 + DMSsec / 3600 ' output box has angle in decimal degrees

End If

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
End
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim decinput As Single ' A decimal munber e.g 10.51
Dim decinput2 As Integer ' will round up or down e.g 10.51 will round up(whole number)11
Dim decinput3 As Integer 'used to find out the minutes
Dim decinput4 As Integer ' used to find out the seconds

decinput = Val(Decimaldeg.Text) 'value of the number entered into the decimal degrees box
decinput2 = Val(Decimaldeg.Text) ' this is the value entered into the decimal degrees box as a whole munber
decinput3 = Val(Decimaldeg.Text) ' the value of decinput3
decinput4 = Val(Decimaldeg.Text) ' the value of decinput4


' do an if then statement

If decinput2 > decinput Then ' if decinput 2 is greater then decinput then
decinput2 = (decinput2 - 1) ' decinput2 will equal it self -1. for example if deciaml degree entered is 10.51
'decinput2 will round up to 11 making it bigger so 1 is subtracted
End If
decinput4 = (((decinput2 - 1) - decinput2) * 60) 'this finds out the seconds
decinput3 = (decinput - decinput2) * 60 'this finds out the minutes

If decinput <= 0 Then
MsgBox("Invalid User Input - Ensure correct button was clicked or value was typed in correct box")
output.Text = (" Undefined Result ") ' if nothing is entered then this message will come up in the utput box
Else
output.Text = decinput2 & "&ordm; " & Format(decinput3, "#") & "' " & decinput4 & "''" ' ' this will show the output in degrees minutes and seconds in the answer box
End If



End Sub

ثامراللوزي
08-08-2006, 03:22 PM
الله يعطيك العافية يااخ حمود وشكراً

يامن_عكش
09-02-2006, 12:27 PM
السلام عليكم ورحمة الله وبركاته
شكراً لك اخي الكريم
وجعله الله في ميزان حسناتك وافاد به كل من يحتاجه

يامن_عكش
09-02-2006, 12:32 PM
السلام عليكم ورحمة الله وبركاته
الاخ حمود العنزي
ارجو بعذ اذنك وضع ملف اكروبات او ورد بشرح كافة الرموز وطريقة الاستخدام وشكرا

يامن_عكش
09-02-2006, 12:38 PM
الاخ فد
السلام عليكم ورحمة الله وبركاته
الصورة عند لا تظهر بشكل واضح

رضوان أحمد
09-20-2006, 01:18 AM
السلام عليكم
نشكر الاخوة الذين قاموا بتصميم هذه الاداة
ولكم هديةمن اخوكم الجديد وهي اول مشاركة لي وهو عبارة عن برنامج للتحويل من الدرجات الى سمتية والعكس

محمد حسن عبيد
09-21-2006, 04:16 PM
بارك الله في الأخوة القائمين على المنتدى عامة وفي الأخ صاحب البرنامج خاصة
لكن حتى تتم الفائدة بهذا البرنامج، يا ليت يضاف له إمكانية إدخال Input وإخراج Output البيانات على هيئة معينة، ASCII مثلا
فهذا أكثر نفعا خاصة لمن يريدون تحويل عدد كبير من النقاط

م. نصيف
10-08-2006, 01:21 AM
نشكر الجميع من غير تخصيص في الإستفادة من هذا البرنامج ،،

ولدي مشاركة بسيطة،، وهي إذا كان ليس لديك البرنامج ، ولديك إحداثيات سيتنية على هيئة
درجات (دد) دقائق (ق ق) ثواني (ث ث) وتوريد أن تطبقها على برنامج Arc-GIS علماً بأن البرنامج لا يقبل إلا على هيئة
دد.دددددددد (أي dd.ddddddd ) درجات فقط
الحل

أكتب هذه المعادلة
دد.ددددددددد = (((ث ث ÷ 60 ) + ق ق ) ÷60 ) + د د
dd.ddddd= (((ss/60)+mm)/60)+dd
:rolleyes: :rolleyes:
أي إقسم الثوان على 60 ،، ثم إجمعها مع الدقائق ينتج عندك دد ق ق. ق ق ق ق ق ق ق'
ثم إقسم الناتج على 60، ثم إجمعها مع الدرجات ينتج عندك دد . دددددددد
وهذا ما يحتاجه البرنامج..
:D :D :D

ودمتم سالمين

محمد فتحى
12-25-2006, 05:23 PM
المعادلة اخى بكل بساطة هى
الدرجة + (الدقائق/60 ) + ( الثوانى/3600 )
مثلا اذا كانت الارقام كالتالى 35 درجة 20دقيقة 30 ثانية
35 + (20/60) + (30/3600) = 35.34

م.سعود الشمري
04-20-2007, 04:41 PM
الاخ العزيز... شكرا على هذا الجهد المميز وهذا البرنامج الرائع...اسئل الله عز وجل ان يجزيك كل الاجر والدعاء من من جميع الاخوه في المنتدى...
اخوك

مشرف الطائى
12-25-2007, 04:44 PM
بارك الله فيك وجزاك الله خير والله حليت مشكله