-
ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
السلام عليكم و رحمه الله و بركاته
لقد ادهشني هذا المنتدى العربي الاسلامي المختص بالجي اى اس حيث ان هذا المجال الجديد لا تتوفر الكتب و المراجع الكافيه للاجابه عن اسالتنا كطلاب.حيث اني فخوره بهذا المنتدى الرائع .
حيث اني طالبه في كليه العلوم في اليمن سنه رابعه و لدى مشروع تخرج عباره عن نظام امني باستخدام الجي اى اس و لدى بعض المشاكل و لم يتبقى لدى سوى ثمانيه ايام تقريبا لاتمام و تسليم المشروع حيث اطلب منكم مساعدتي في تخطى هذه المشاكل و جزاكم الله خير الجزاء.
من هذه المشاكل هو كيفيه ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in لمنطقه معينه عن طريق احداثيات هذه النقطه.
ارجو مساعدتي باسرع و قت ممكن و سيجعلها الله في ميزان حسناتكم .*
-
رد : ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
السلام عليكم ايها الاخوه
ما في اي رد عن سوالي ؟
لاني مستعجله. رجاءاً من الاخ فهد المطلق مساعدتي.
-
رد : ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
المقصود ب اكسس هل هي
spatial database or non-spatial database
-
اعتقد ان هذا الملف مفيد فهو يشرح كيفية عمل تطبيق باستخدام ماب لوبجكت
http://sendinto.com/zx5x70fhdckq/mapobject.pdf.html
هذا الكود للربط مع mdb
Private Sub Command9_Click()
Dim tbl As New MapObjects2.Table
tbl.Database = "D:\Foremanv.foremanv dcidocuments\My Documents\MapObjects\SensorReplacement.mdb"
tbl.Database = "SensorReplacement.mdb"
tbl.Name = "Sensor Replacement"
Dim recs As MapObjects2.Recordset
Set recs = tbl.Records
كود Point
Dim currentPoint As Point3d
currentPoint = vertices(n)
Set pt = New MapObjects2.Point
/*currentPoint is a point of a element of microstation */
/* this part not work*/
pt.X = currentPoint.X
pt.Y = currentPoint.Y
poligono.Parts.Add (pt)
Next n
كود draw points on a map which will have the illusion of movement using VB in MapObject
code shown below:
'start of module level variable
Global lola00001(3, 1)
Global intCountingTimer As Integer
'end of module level variable
Private Sub Form_Load()
lola00001(0, 0) = 50.46197
lola00001(1, 0) = 61.597
lola00001(2, 0) = 41.66
lola00001(3, 0) = 52.557
lola00001(0, 1) = -104.5667
lola00001(1, 1) = -91.697
lola00001(2, 1) = -87.557
lola00001(3, 1) = -81.77
intCountingTimer = 0
End Sub
Private Sub Timer1_Timer()
Dim dblLatitude As Double
Dim dblLongitude As Double
Dim pt As New Point
intCountingTimer = intCountingTimer + 1
If intCountingTimer <= 4 Then
dblLatitude = lola00001((intCountingTimer - 1), 0)
dblLongitude = lola00001((intCountingTimer - 1), 1)
With Map1.TrackingLayer.Symbol(0)
.SymbolType = moPointSymbol
.Size = 4
.Style = mosquaresymbolmarker
.Color = moRed
End With
Dim p As MapObjects2.Point
pt.X = dblLongitude
pt.Y = dblLatitude
With Me.Map1.TrackingLayer
.AddEvent pt, 0
.Refresh False, Me.Map1.Extent
End With
Else
End If
End Sub
C#
/ Offset all of the events by a random amount
//
CMoRectangle extent(m_map.GetExtent());
double maxDist = extent.GetWidth() / 20.0;
CMoTrackingLayer tLayer(m_map.GetTrackingLayer());
int eventCount = tLayer.GetEventCount();
CMoGeoEvent event;
for (int i = 0; i < eventCount; i++)
{
event = tLayer.GetEvent(i);
double xOffset = maxDist * ((double)rand()/(double)RAND_MAX - 0.5);
double yOffset = maxDist * ((double)rand()/(double)RAND_MAX - 0.5);
event.Move(xOffset, yOffset);
}
you can also use event.MoveTo(x, y).
كود Drawing points on the map
dim iIndex as integer
dim pt as new point
do while not recset.eof
pt.x = recset.field("long").value
pt.y = recset.field("lat").value
iIndex = 0
with frmMain.trackinglayer (or whatever form called)
.addevent pt, 0 (or other MO symbol)
.event(iIndex).tag = unique field from table
end with
loop
then, on updates you can either:
1)trackinglayer.clear and re-read events into it
2)pt.MoveTo pt.x, pt.y (reset pt with new values)
وهذا كود للشكل بلغة C#
http://sendinto.com/28kpu7b4or7j/14081.zip.html
م.نجد جمال الحناحنه
مهندس جيوماتيكس
Sr.GIS Engineer
Pre-Sales GIS Engineer
-
رد : ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
جزاك الله خير الجزاء اخي نجد جمال و لكن ظهرت لي اخطاء في سطران global . انا ابرمج باستخدام الاداه ماب كنترول فهل كود الربط اداه الماب كنترول هو نفسه كود الربط للاداه ماب اوبجيكت , لاني اريد ان اربط اداه الماب كنترول بقاعده بيانات اكسس 2003 و من ثم اخذ الاحداثي السيني و الصادي من قاعده البيانات و تلوين النقطه على اداه الماب كنترول بلون معين و عمل فلاش و زوم للمنقطه حول النقطه باستخدام الفيجول بيسك 6.
شاكره لك تعاونك و إنشاء الله في ميزان حسناتك
-
رد : ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
يعني انك تستخدمين الماب كنترول.وليس الماب اوبجكت .
سوال :هل انت متمكنة وتستطعين البرمجة باستخام
Microsoft Visual Studio 2005
vb.net
م.نجد جمال الحناحنه
مهندس جيوماتيكس
Sr.GIS Engineer
Pre-Sales GIS Engineer
-
رد : ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
الاخت الكريمة انت اظاهر انك تريدين عمل
tracking system
وذلك باستخدام mdb as database and zoom to point and flash marker
انا كنت افضل من البداية ان تعطي ىالفكرة العامة من المشروع ليتسنى لنا المساعدة اذا امكن
هذا رابط ل
MapControl
http://www.pelagis.net/gis_con/paper...tartedinVB.pdf
م.نجد جمال الحناحنه
مهندس جيوماتيكس
Sr.GIS Engineer
Pre-Sales GIS Engineer
-
رد : ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
السلام عليكم الاخ نجد جمال اشكرك جزيل الشكر على تعاونك معي ، حيث اني اطلعت على الكتاب بشكل سريع و هو فعلا رائع و به الكثير من الاشياء الرائعه و لكن لم اجد فيه عمل فلاش لنقطه و ربط الماب كنترول بقاعده بيانات الاكسس.
اما عن سوالك عن تمكني من البرمجه في الدوت نت فانا اقول لك يمكنني ذلك و لكن برمجه الجي اى اس لا افهم فيها حيث انا ابرمج في الفيجول بيسك 6.
اكرر شكري لك على تعاونك.
-
رد : ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
الاخت الكريمة
في البداية عملية ربط الاكسس سهلة عبارة عن ربطها وكانه لم نستخدم ماب كنترول
Imports System
Imports System.Data
Imports System.Data.OleDb
public class MainClass
Shared Sub Main()
Dim connString As String = "provider= microsoft.jet.oledb.4.0; " & _
"data source=Employee.mdb;"
Dim conn As New OleDbConnection(connString)
Try
conn.Open()
Console.WriteLine("Connection Opened")
' Display connection properties
Console.WriteLine("Connection Properties")
Console.WriteLine("- ConnectionString : {0}", conn.ConnectionString)
Console.WriteLine("- Database : {0}",conn.Database)
Console.WriteLine("- DataSource : {0}",conn.DataSource)
Console.WriteLine("- ServerVersion : {0}",conn.ServerVersion)
Console.WriteLine("- State : {0}", conn.State)
Catch ex As OleDbException
' Display error
Console.WriteLine("Error: " & ex.ToString())
Finally
' Close Connection
conn.Close()
Console.WriteLine("Connection Closed")
End Try
End Sub
End Class
ولرسم النقاط:
Drawing a point in a MapControl object using VB 6
Private Sub ObtainPoint()
Dim pApp As IMxApplication
Dim pDisplay As IDisplay
Set pApp = Application
Set pDisplay = pApp.Display
' Generate a point at selected coordinates
Set pPoint = New Point
pPoint.PutCoords x, y
Call Point(pPoint) ' Create a point
End Sub
Private Sub Point(pGeometry As IGeometry)
On Error GoTo Error_Desc 'If there is an error, go to error subroutine
If (Not TypeOf ThisDocument.Parent Is IMxApplication) Then Exit Sub
Set pMxDocument = ThisDocument
Set pDocumentDefaultSymbols = pMxDocument
Set pMarkerElement = New MarkerElement
Dim pSSym As ISimpleMarkerSymbol
Dim pColor As IRgbColor
Set pColor = New RgbColor
pColor.RGB = vbRed
Set pSSym = New SimpleMarkerSymbol
pSSym.Color = pColor
pSSym.Style = esriSMSCircle
pSSym.Size = 10
pSSym.Outline = True
pSSym.OutlineSize = 1.15
pMarkerElement.Symbol = pSSym
'Set pElement = pMarkerElement
Set pElement = pMarkerElement
pElement.Geometry = pGeometry
Set pActiveView = pMxDocument.ActiveView
Set pGraphicsContainer = pActiveView.GraphicsContainer
pGraphicsContainer.DeleteAllElements
pGraphicsContainer.AddElement pElement, 0
pMxDocument.ActiveView.Extent = pElement.Geometry.Envelope
pActiveView.PartialRefresh esriViewGraphics, Nothing, pActiveView.Extent
'********************** Zoom In Info ***********************
Set pMxDocument = Application.Document
Set pActiveView = pMxDocument.FocusMap
Set pDisplayTransform = pActiveView.ScreenDisplay.DisplayTransformation
Set pEnvelope = pDisplayTransform.VisibleBounds
Set pCenterPoint = New Point
Exit Sub ' Exit Subroutine
Error_Desc: ' Error Routine.
If Err.Number <> 0 Then
MsgBox Err.Description, vbCritical
End If
End Sub
كيفية الربط هو عمل
for Loop
واخذ قيمة x,y
from Access Database
وادخالها محل x,y
التي في ماب كنترول.
وهذا موقع مفيد:
http://support2.dundas.com/OnlineDoc...lElements.html
م.نجد جمال الحناحنه
مهندس جيوماتيكس
Sr.GIS Engineer
Pre-Sales GIS Engineer
-
رد : ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
السلام عليكم و رحمه الله و بركاته
شكرا جزيلا للاخ نجد جمال على المعلومات.
لكن ربما لم تفهم قصدي فانا لا اريد رسم نقاط و انما اريد عمل فلاش لنقطه على الماب كنترول عن طريق احداثيات النقطه ،حيث يتم جلب هذه الاحداثيات من قاعده البيانات اكسس . حيث قمت بربط الفيجول بيسك بقاعده البيانات اكسس عن طريق الاداه Ado و استطيع التعامل معها و لكن لا ادري كيف اربط النقاط التي على الماب كنترول بالاحداثيات التي في قاعده البيانات اكسس .حيث اذا علمت كيف اربط النقاط التي على الماب كنترول بقاعده البيانات اكسس بعد ذلك اريد عمل فلاش و زوم للنقطه التي تم جلب احداثياتها من قاعده البيانات. فانا عند تطبيق الكود الذي تكتبه لي اواجه العديد من المشاكل و الاخطاء و لا استطيع معرفه كيف حل و معالجه هذه الاخطاء لاني ليس لدي فكره في برمجه الجي اى اس و لم ندرس هذه الماده لانها عندنا تخص قسم الجغرافيا و لو كنت اعلم اني ساواجه هذه المشاكل لما كنت اخترت هذا المشروع ، ايضا لم استطع التواصل مع مختصين في مجال برمجه الجي اى اس عندنا فلو امكن ان تكتب لي الكود في برنامج مع اني اعلم اني قد ثقلت عليك بطلباتي و انا جدا اسفه و لكن انا مزنوقه جدا جدا.
و جزاك الله خير الجزاء على مساعدتي.
-
رد : ربط اداه الماب كنترول بقاعده بيانات اكسس و عمل flash و zoom in
السلام عليكم ورحمه الله و بركاته
لو امكن برنامج فيه برمجه ادوات الجي اى اس بالغه السي شارب.
فانا مزنوقه و قررت التحويل من لغه الفيجول بيسك للغه السي شارب .
اقصد ببرمجه ادوات الجي اى اس التالي
zoom in , zoom out,fixed zoom in , fixed zoom out ,full extent,select feature,clear selected feature,,select element,measure,find ,identify,go to xy,go to next extent,go back to previous extent,pan
ضوابط المشاركة
- لا تستطيع إضافة مواضيع جديدة
- لا تستطيع الرد على المواضيع
- لا تستطيع إرفاق ملفات
- لا تستطيع تعديل مشاركاتك
-
قوانين المنتدى