You will join a strategic consulting practice advising large clients on technology transformation programs including cloud migration, mobility, and information management. As an application modernization solution architect, you will lead engagements to assess clients' application portfolios, evaluate architecture and modernization needs, and help transform applications. Responsibilities include project delivery, proposal development, and commercial presentations. Qualifications include architect certification, strong application architecture and development experience, knowledge of technologies like J2EE and .NET, project leadership skills, and fluency in Dutch, French and English.
The document requests 1-2 resources for a NetApp Application Architect/Systems Administrator position in Chicago, IL paying a negotiable salary for a minimum of 6 months, with an anticipated end date of December 31, 2012. The responsibilities include implementing and configuring a wide range of NetApp solutions and performing knowledge transfer. Preferred qualifications include extensive experience with NetApp products and technologies, such as deduplication, thin provisioning, SnapMirror, and virtualized environments.
Yuvaraj Shanmugam has over 18 years of experience in application architecture, development, and maintenance using technologies like Java, J2EE, web services, mainframe applications, and databases. He has worked as an application architect at Syntel and a technical architect at HTC Global Services, leading teams and designing and developing various applications. He has extensive experience with technologies such as Java, databases like DB2 and PostgreSQL, mainframe tools, SOA, and big data technologies.
The document discusses automation and programmable logic controllers (PLCs). It describes how automation delegates human control functions to equipment to achieve higher productivity, superior product quality, efficient energy usage, and improved safety. It then defines PLCs, explaining that they are industrial computers that monitor inputs, make decisions based on programs, and control outputs to automate processes. PLCs have input and output modules, a central processing unit, memory, and power supply. They use ladder logic programming and have advantages like increased reliability but also disadvantages like high initial costs. The document also briefly introduces supervisory control and data acquisition (SCADA) systems.
Proposal Tugas Akhir Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN TITIK PENGAMATAN GEOLOGI (Studi Kasus : LEMBAR NANGAPINOH, KALIMANTAN BARAT)
Sistem informasi geografis dirancang untuk menyajikan informasi lokasi contoh dan titik pengamatan geologi di Lembar Nangapinoh, Kalimantan Barat untuk mempermudah pengambilan keputusan, penyajian informasi, dan manajemen data geologis oleh Pusat Survei Geologi. Sistem ini dirancang menggunakan metode rekayasa sistem, analisis, perancangan, pengkodean, pengujian, dan pemeliharaan.
SIG adalah sistem informasi geografis yang mengelola, menyimpan, memproses, menganalisis dan menampilkan data yang berhubungan dengan permukaan bumi serta memberikan informasi spasial untuk pengambilan keputusan pembangunan berkelanjutan.
You will join a strategic consulting practice advising large clients on technology transformation programs including cloud migration, mobility, and information management. As an application modernization solution architect, you will lead engagements to assess clients' application portfolios, evaluate architecture and modernization needs, and help transform applications. Responsibilities include project delivery, proposal development, and commercial presentations. Qualifications include architect certification, strong application architecture and development experience, knowledge of technologies like J2EE and .NET, project leadership skills, and fluency in Dutch, French and English.
The document requests 1-2 resources for a NetApp Application Architect/Systems Administrator position in Chicago, IL paying a negotiable salary for a minimum of 6 months, with an anticipated end date of December 31, 2012. The responsibilities include implementing and configuring a wide range of NetApp solutions and performing knowledge transfer. Preferred qualifications include extensive experience with NetApp products and technologies, such as deduplication, thin provisioning, SnapMirror, and virtualized environments.
Yuvaraj Shanmugam has over 18 years of experience in application architecture, development, and maintenance using technologies like Java, J2EE, web services, mainframe applications, and databases. He has worked as an application architect at Syntel and a technical architect at HTC Global Services, leading teams and designing and developing various applications. He has extensive experience with technologies such as Java, databases like DB2 and PostgreSQL, mainframe tools, SOA, and big data technologies.
The document discusses automation and programmable logic controllers (PLCs). It describes how automation delegates human control functions to equipment to achieve higher productivity, superior product quality, efficient energy usage, and improved safety. It then defines PLCs, explaining that they are industrial computers that monitor inputs, make decisions based on programs, and control outputs to automate processes. PLCs have input and output modules, a central processing unit, memory, and power supply. They use ladder logic programming and have advantages like increased reliability but also disadvantages like high initial costs. The document also briefly introduces supervisory control and data acquisition (SCADA) systems.
Proposal Tugas Akhir Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN TITIK PENGAMATAN GEOLOGI (Studi Kasus : LEMBAR NANGAPINOH, KALIMANTAN BARAT)
Sistem informasi geografis dirancang untuk menyajikan informasi lokasi contoh dan titik pengamatan geologi di Lembar Nangapinoh, Kalimantan Barat untuk mempermudah pengambilan keputusan, penyajian informasi, dan manajemen data geologis oleh Pusat Survei Geologi. Sistem ini dirancang menggunakan metode rekayasa sistem, analisis, perancangan, pengkodean, pengujian, dan pemeliharaan.
SIG adalah sistem informasi geografis yang mengelola, menyimpan, memproses, menganalisis dan menampilkan data yang berhubungan dengan permukaan bumi serta memberikan informasi spasial untuk pengambilan keputusan pembangunan berkelanjutan.
Dokumen ini membahas rancangan sistem informasi geografis untuk menyajikan informasi lokasi contoh dan titik pengamatan geologi di Lembar Nangapinoh, Kalimantan Barat. Sistem ini akan menampilkan data geologi seperti komposisi mineral, hasil analisis kimia, fosil, dan peta lokasi titik pengamatan untuk memudahkan Pusat Survei Geologi dalam mengupdate data. Dokumen ini menjelaskan proses pembuatan sistem melalui diagram use case,
Presentasi seminar Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN ...Irsan Widyawan
Presentasi Seminar Tugas Akhir Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN TITIK PENGAMATAN GEOLOGI (Studi Kasus : LEMBAR NANGAPINOH, KALIMANTAN BARAT)
Tamppilan Program Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN TITIK PENGAMATAN GEOLOGI (Studi Kasus : LEMBAR NANGAPINOH, KALIMANTAN BARAT)
Bab I Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN TITIK PENGAMA...Irsan Widyawan
Sistem informasi geografis (SIG) direncanakan untuk menyajikan informasi lokasi contoh dan titik pengamatan geologi di Lembar Nangapinoh, Kalimantan Barat untuk memudahkan pengambilan keputusan di Pusat Survei Geologi. SIG akan menampilkan hasil penelitian lapangan dan laboratorium secara komputerisasi dan interaktif. Tujuannya adalah meningkatkan kinerja Pusat Survei Geologi melalui penyajian informasi geolog
Organisasi Nasional Demokrat (NasDem) berdiri pada 1 Februari 2010 di Jakarta untuk mencapai tujuan restorasi Indonesia. Selama satu tahun, NasDem telah mendirikan DPD di 33 provinsi dan mendapat perhatian media, terutama dari stasiun televisi milik pendirinya. Namun, masyarakat biasa belum merasakan manfaat langsung dari keberadaan NasDem selain kegiatan deklarasi, diskusi, dan simposium. Masih dipert
Dokumen tersebut membahas hubungan antara Gerakan Earth Hour 2011 dengan konsep Marketing 3.0. Earth Hour yang menekankan pentingnya melestarikan sumber daya alam dan lingkungan, sejalan dengan orientasi Marketing 3.0 yang berfokus pada nilai-nilai kemanusiaan dan kelestarian lingkungan. Earth Hour 2011 dapat menjadi momentum bagi bisnis untuk menerapkan prinsip-prinsip Marketing 3.0 secara utuh dan sadar agar dapat berkontribusi dalam pe
Earth hour adalah program tahunan yang diadakan WWF untuk mengajak masyarakat dunia mematikan lampu dan peralatan listrik selama satu jam, guna meningkatkan kesadaran akan pentingnya pelestarian lingkungan dan mengurangi emisi karbon. Acara ini telah berkembang pesat sejak dimulai di Australia pada 2007, dengan partisipasi lebih dari satu miliar orang di seluruh dunia pada 2010.
Postingan ini mendokumentasikan perjalanan 21 hari penulis dalam melakukan berbagai aktivitas seperti memasak, olahraga, membeli buku, makan di kereta api, dan menghadiri demo produk rumah tangga. Penulis berusaha konsisten menjalankan tantangan harian walaupun terkadang merasa malas. Ia belajar bahwa ide-ide sering muncul sendiri jika niat untuk melanjutkan tantangan tersebut tetap ada.
Teks tersebut merangkum konsep Cracking Zone dari Profesor Rhenald Kasali. Cracking Zone mengacu pada generasi baru yaitu Gen-C yang terdiri dari orang-orang terkoneksi melalui internet dan smartphone. Generasi ini juga mencakup "crackers" yang mampu merubah aturan industri mereka, seperti CEO XL Axiata yang menurunkan harga tarif telekomunikasi. Untuk merubah Indonesia diperlukan pemimpin-pemimpin yang mampu berinovasi se
This document discusses what it means to be a team leader and the responsibilities involved. It examines what constitutes a team and how team leaders can help their members evolve and improve over time by setting goals and providing feedback on current performance and areas for development. The document explores different aspects of being an effective team leader from the perspective of the author.
Dokumen ini membahas rancangan sistem informasi geografis untuk menyajikan informasi lokasi contoh dan titik pengamatan geologi di Lembar Nangapinoh, Kalimantan Barat. Sistem ini akan menampilkan data geologi seperti komposisi mineral, hasil analisis kimia, fosil, dan peta lokasi titik pengamatan untuk memudahkan Pusat Survei Geologi dalam mengupdate data. Dokumen ini menjelaskan proses pembuatan sistem melalui diagram use case,
Presentasi seminar Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN ...Irsan Widyawan
Presentasi Seminar Tugas Akhir Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN TITIK PENGAMATAN GEOLOGI (Studi Kasus : LEMBAR NANGAPINOH, KALIMANTAN BARAT)
Tamppilan Program Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN TITIK PENGAMATAN GEOLOGI (Studi Kasus : LEMBAR NANGAPINOH, KALIMANTAN BARAT)
Bab I Tugas Akhir SISTEM INFORMASI GEOGRAFIS LOKASI CONTOH DAN TITIK PENGAMA...Irsan Widyawan
Sistem informasi geografis (SIG) direncanakan untuk menyajikan informasi lokasi contoh dan titik pengamatan geologi di Lembar Nangapinoh, Kalimantan Barat untuk memudahkan pengambilan keputusan di Pusat Survei Geologi. SIG akan menampilkan hasil penelitian lapangan dan laboratorium secara komputerisasi dan interaktif. Tujuannya adalah meningkatkan kinerja Pusat Survei Geologi melalui penyajian informasi geolog
Organisasi Nasional Demokrat (NasDem) berdiri pada 1 Februari 2010 di Jakarta untuk mencapai tujuan restorasi Indonesia. Selama satu tahun, NasDem telah mendirikan DPD di 33 provinsi dan mendapat perhatian media, terutama dari stasiun televisi milik pendirinya. Namun, masyarakat biasa belum merasakan manfaat langsung dari keberadaan NasDem selain kegiatan deklarasi, diskusi, dan simposium. Masih dipert
Dokumen tersebut membahas hubungan antara Gerakan Earth Hour 2011 dengan konsep Marketing 3.0. Earth Hour yang menekankan pentingnya melestarikan sumber daya alam dan lingkungan, sejalan dengan orientasi Marketing 3.0 yang berfokus pada nilai-nilai kemanusiaan dan kelestarian lingkungan. Earth Hour 2011 dapat menjadi momentum bagi bisnis untuk menerapkan prinsip-prinsip Marketing 3.0 secara utuh dan sadar agar dapat berkontribusi dalam pe
Earth hour adalah program tahunan yang diadakan WWF untuk mengajak masyarakat dunia mematikan lampu dan peralatan listrik selama satu jam, guna meningkatkan kesadaran akan pentingnya pelestarian lingkungan dan mengurangi emisi karbon. Acara ini telah berkembang pesat sejak dimulai di Australia pada 2007, dengan partisipasi lebih dari satu miliar orang di seluruh dunia pada 2010.
Postingan ini mendokumentasikan perjalanan 21 hari penulis dalam melakukan berbagai aktivitas seperti memasak, olahraga, membeli buku, makan di kereta api, dan menghadiri demo produk rumah tangga. Penulis berusaha konsisten menjalankan tantangan harian walaupun terkadang merasa malas. Ia belajar bahwa ide-ide sering muncul sendiri jika niat untuk melanjutkan tantangan tersebut tetap ada.
Teks tersebut merangkum konsep Cracking Zone dari Profesor Rhenald Kasali. Cracking Zone mengacu pada generasi baru yaitu Gen-C yang terdiri dari orang-orang terkoneksi melalui internet dan smartphone. Generasi ini juga mencakup "crackers" yang mampu merubah aturan industri mereka, seperti CEO XL Axiata yang menurunkan harga tarif telekomunikasi. Untuk merubah Indonesia diperlukan pemimpin-pemimpin yang mampu berinovasi se
This document discusses what it means to be a team leader and the responsibilities involved. It examines what constitutes a team and how team leaders can help their members evolve and improve over time by setting goals and providing feedback on current performance and areas for development. The document explores different aspects of being an effective team leader from the perspective of the author.
Null Bangalore | Pentesters Approach to AWS IAMDivyanshu
#Abstract:
- Learn more about the real-world methods for auditing AWS IAM (Identity and Access Management) as a pentester. So let us proceed with a brief discussion of IAM as well as some typical misconfigurations and their potential exploits in order to reinforce the understanding of IAM security best practices.
- Gain actionable insights into AWS IAM policies and roles, using hands on approach.
#Prerequisites:
- Basic understanding of AWS services and architecture
- Familiarity with cloud security concepts
- Experience using the AWS Management Console or AWS CLI.
- For hands on lab create account on [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
# Scenario Covered:
- Basics of IAM in AWS
- Implementing IAM Policies with Least Privilege to Manage S3 Bucket
- Objective: Create an S3 bucket with least privilege IAM policy and validate access.
- Steps:
- Create S3 bucket.
- Attach least privilege policy to IAM user.
- Validate access.
- Exploiting IAM PassRole Misconfiguration
-Allows a user to pass a specific IAM role to an AWS service (ec2), typically used for service access delegation. Then exploit PassRole Misconfiguration granting unauthorized access to sensitive resources.
- Objective: Demonstrate how a PassRole misconfiguration can grant unauthorized access.
- Steps:
- Allow user to pass IAM role to EC2.
- Exploit misconfiguration for unauthorized access.
- Access sensitive resources.
- Exploiting IAM AssumeRole Misconfiguration with Overly Permissive Role
- An overly permissive IAM role configuration can lead to privilege escalation by creating a role with administrative privileges and allow a user to assume this role.
- Objective: Show how overly permissive IAM roles can lead to privilege escalation.
- Steps:
- Create role with administrative privileges.
- Allow user to assume the role.
- Perform administrative actions.
- Differentiation between PassRole vs AssumeRole
Try at [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
Comparative analysis between traditional aquaponics and reconstructed aquapon...bijceesjournal
The aquaponic system of planting is a method that does not require soil usage. It is a method that only needs water, fish, lava rocks (a substitute for soil), and plants. Aquaponic systems are sustainable and environmentally friendly. Its use not only helps to plant in small spaces but also helps reduce artificial chemical use and minimizes excess water use, as aquaponics consumes 90% less water than soil-based gardening. The study applied a descriptive and experimental design to assess and compare conventional and reconstructed aquaponic methods for reproducing tomatoes. The researchers created an observation checklist to determine the significant factors of the study. The study aims to determine the significant difference between traditional aquaponics and reconstructed aquaponics systems propagating tomatoes in terms of height, weight, girth, and number of fruits. The reconstructed aquaponics system’s higher growth yield results in a much more nourished crop than the traditional aquaponics system. It is superior in its number of fruits, height, weight, and girth measurement. Moreover, the reconstructed aquaponics system is proven to eliminate all the hindrances present in the traditional aquaponics system, which are overcrowding of fish, algae growth, pest problems, contaminated water, and dead fish.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
An improved modulation technique suitable for a three level flying capacitor ...IJECEIAES
This research paper introduces an innovative modulation technique for controlling a 3-level flying capacitor multilevel inverter (FCMLI), aiming to streamline the modulation process in contrast to conventional methods. The proposed
simplified modulation technique paves the way for more straightforward and
efficient control of multilevel inverters, enabling their widespread adoption and
integration into modern power electronic systems. Through the amalgamation of
sinusoidal pulse width modulation (SPWM) with a high-frequency square wave
pulse, this controlling technique attains energy equilibrium across the coupling
capacitor. The modulation scheme incorporates a simplified switching pattern
and a decreased count of voltage references, thereby simplifying the control
algorithm.
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
Mechanical Engineering on AAI Summer Training Report-003.pdf
Lampiran b (coding)
1. Form Main
Private Sub Chem_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path &
"Database.mdb"
CrystalReport1.WindowTitle = "Chemical Analyses"
CrystalReport1.ReportFileName = App.path &
"RptChemanal.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
'With CrystalReport1
'.DataFiles(0) = App.path & "Database.mdb"
'.DiscardSavedData = True
'.WindowState = crptMaximized
'.SelectionFormula = ""
'.Action = 1
'End With
End Sub
Private Sub Form_Load()
Dim dc As New DataConnection
dc.Database = (App.path & "Nangapinoh")
If dc.Connect Then
Dim L1 As MapObjects2.MapLayer
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("kalimantan")
L1.Symbol.Color = moCyan
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset =
dc.FindGeoDataset("lembar_nangapinoh")
L1.Symbol.Color = moGreen
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("sungai")
L1.Symbol.Color = moRed
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset =
dc.FindGeoDataset("titik_pengamatan")
L1.Symbol.Color = moBlack
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset =
dc.FindGeoDataset("analisis_kimia")
L1.Symbol.Color = moMagenta
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset =
dc.FindGeoDataset("fossil_determination")
L1.Symbol.Color = moBrown
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("K-
Ar_Geochronology")
L1.Symbol.Color = moBlue
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("pan-
concentrates")
L1.Symbol.Color = moYellow
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset =
dc.FindGeoDataset("sampel_batuan")
L1.Symbol.Color = moGray
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("stream-
sediments")
L1.Symbol.Color = moPurple
mapDisp.Layers.Add L1
Set L1 = New MapObjects2.MapLayer
L1.GeoDataset =
dc.FindGeoDataset("thin_section")
L1.Symbol.Color = moOrange
mapDisp.Layers.Add L1
Else
MsgBox "direktori peta tidak ditemukan"
End If
Dim i As Integer
frmIntro.Show vbModal
2. 'Me.Top = 0
'Me.Left = 0
barGraphics.Visible = False
strMapUnits = "Tidak Diketahui"
Dim tl As MapObjects2.TrackingLayer
Set tl = mapDisp.TrackingLayer
With tl
.SymbolCount = 3
.Symbol(0).SymbolType = moPointSymbol
.Symbol(0).Style = moTriangleMarker
.Symbol(0).Color = moRed
.Symbol(0).Size = 4
.Symbol(1).SymbolType = moLineSymbol
.Symbol(1).Style = moSolidLine
.Symbol(1).Color = moRed
.Symbol(1).Size = 2
.Symbol(2).SymbolType = moFillSymbol
.Symbol(2).Style = moTransparentFill
.Symbol(2).OutlineColor = moRed
.Symbol(2).Size = 2
End With
picMapTip.ZOrder 0
lblMapTip.ZOrder 0
picSplitter.BackColor = frmMain.BackColor
legMapDisp.ZOrder 0
mapDisp.ZOrder
m_mapTip.Initialize mapDisp, tmrMapTip,
picMapTip, lblMapTip
Call DataLoader
'Link legend to the Map control
legMapDisp.setMapSource mapDisp
legMapDisp.LoadLegend True
legMapDisp.ShowAllLegend
legMapDisp.Active(0) = True
BarState = ""
lblCalendar = Format(Date, "D MMMM YYYY")
End Sub
Private Sub Form_Resize()
'This procedure resizes the map when the form is
resized.
Dim border As Double, sideBorder As Double
Dim topBorder As Double, statusbarHeight As
Double
border = 30
topBorder = 480
sideBorder = mapDisp.Left
statusbarHeight = 400
mapDisp.Top = topBorder
mapDisp.Left = sideBorder
If ScaleHeight > topBorder + border +
statusbarHeight Then
mapDisp.Height = ScaleHeight - topBorder - border
- statusbarHeight
picSplitter.Height = mapDisp.Height
End If
If ScaleWidth > (border * 2) + sideBorder Then
mapDisp.Width = ScaleWidth - (border * 2) -
sideBorder
End If
'ngatur ukuran legenda
'legMapDisp.Height = mapDisp.Height
Dim lPanelLeft As Long, lPanelTop As Long
lPanelTop = sbrStatus.Top + 60
lPanelLeft = sbrStatus.Panels(3).Left
chkTipLayer.Move lPanelLeft + 60, lPanelTop + 30
cboTipField.Move lPanelLeft +
sbrStatus.Panels(3).Width - cboTipField.Width - 30,
lPanelTop
cboTipLayer.Move cboTipField.Left -
cboTipLayer.Width - 30, lPanelTop
End Sub
Private Sub Form_Unload(Cancel As Integer)
SDECon.Disconnect
End
End Sub
Private Sub barDisplay_ButtonClick(ByVal Button As
MSComctlLib.Button)
Dim bKey As String
bKey = Button.Key
Call doTask(bKey)
BarState = bKey
End Sub
3. Public Sub doTask(buttonKey As String)
If frmIdentify.Visible Then
Unload frmIdentify
End If
If mapDisp.Layers.Count > 0 And
legMapDisp.getActiveLayer > -1 Then
Set g_ActiveLayer =
mapDisp.Layers(legMapDisp.getActiveLayer)
Else
Set g_ActiveLayer = Nothing
End If
Select Case buttonKey
Case "Print"
frmPrint.Show
frmPrint.ZOrder 0
Case "Map Properties"
frmMapProperties.Show
frmMapProperties.ZOrder 0
Case "Find"
frmFind.Show
frmFind.ZOrder 0
If g_ActiveLayer Is Nothing Then
MsgBox "Tidak ada layer yang aktif.", vbCritical
Exit Sub
End If
'If InStr(g_ActiveLayer.Tag, "[SHAPEFIL") = 0 Then
'MsgBox "Layer aktif bukanlah shapefile.",
vbCritical
'Exit Sub
'End If
Case "Full Extent"
mapDisp.Extent = mapDisp.FullExtent
Case "Layer Extent"
If g_ActiveLayer Is Nothing Then
MsgBox "Tidak ada layer yang aktif.", vbCritical
Exit Sub
End If
mapDisp.Extent = g_ActiveLayer.Extent
Case "Graphics"
barGraphics.Visible = True
barGraphics.ZOrder 0
barGraphics.Refresh
mapDisp.MousePointer = moCross
Case "Zoom In"
If barGraphics.Visible = True Then
barGraphics.Visible = False
mapDisp.MousePointer = moZoomIn
Case "Zoom Out"
If barGraphics.Visible = True Then
barGraphics.Visible = False
mapDisp.MousePointer = moZoomOut
Case "Pan"
If barGraphics.Visible = True Then
barGraphics.Visible = False
mapDisp.MousePointer = moPan
Case "Identify"
If barGraphics.Visible = True Then
barGraphics.Visible = False
mapDisp.MousePointer = moIdentify
Case "Hitung Luas"
If barGraphics.Visible = True Then
barGraphics.Visible = False
mapDisp.MousePointer = moCross
Dim Pl As MapObjects2.Polygon
Set Pl = mapDisp.TrackPolygon
mapDisp.TrackingLayer.AddEvent Pl, 1
MsgBox "Luas area = " & Pl.Area * 2.5 * 2.5 & "
Km2"
mapDisp.TrackingLayer.ClearEvents
Case "Hitung Jarak"
If barGraphics.Visible = True Then
barGraphics.Visible = False
mapDisp.MousePointer = moCross
Dim Ln As MapObjects2.Line
Set Ln = mapDisp.TrackLine
mapDisp.TrackingLayer.AddEvent Ln, 0
MsgBox "Panjang jarak = " & Ln.Length * 2.5 &
" Km"
mapDisp.TrackingLayer.ClearEvents
Case "Export Peta"
mapDisp.ExportMap moExportEMF, App.path &
"peta.emf", 1
legMapDisp.ExportToBmp App.path &
"legenda.bmp"
4. Case "About"
Dim datax As String
Dim szOtherStuffx As String
Dim szOtherStuffy As String
szOtherStuffx = "20030110 - nawaydiW nasrI"
szOtherStuffy = "honipagnaN GIS - rihkA saguT"
datax = StrReverse(szOtherStuffy) & Chr(13) &
StrReverse(szOtherStuffx)
ShellAbout Me.hWnd, App.Title, datax, ByVal 0&
End Select
End Sub
Private Sub Fossils_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path &
"Database.mdb"
CrystalReport1.WindowTitle = "Fossil
Determinations"
CrystalReport1.ReportFileName = App.path &
"RptFossdet.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub Geochronology_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path &
"Database.mdb"
CrystalReport1.WindowTitle = "K-Ar
Geochronology"
CrystalReport1.ReportFileName = App.path &
"RptKargeo.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub Pan_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path &
"Database.mdb"
CrystalReport1.WindowTitle = "Pan-Concentrates"
CrystalReport1.ReportFileName = App.path &
"RptPan.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub Stream_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path &
"Database.mdb"
CrystalReport1.WindowTitle = "Stream-Sedimets"
CrystalReport1.ReportFileName = App.path &
"RptStream.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub legMapDisp_LayerDblClick(Index As
Integer)
Set g_ActiveLayer = mapDisp.Layers(Index)
If g_ActiveLayer.LayerType = moImageLayer Then
MsgBox "Sorry, you cannot set properties for an
image layer." & _
vbCrLf & "Try setting properties for a layer
with vector data."
Exit Sub
End If
frmLayerSymbol.Show vbModal
End Sub
Private Sub mnuEdit_Find_Click()
End Sub
Private Sub mnuEdit_Peta_Click()
'Shell untuk manggil executable---vbNormalFocus
untuk mokusin prog yg dipanggil
Shell
"C:ESRIAV_GIS30ARCVIEWBIN32arcview.exe
D:Irsan_PunyaTugas_Akhir_(My_1st_Masterpiece)
AplikasiSIG_Nangapinohnangapinoh.apr",
vbNormalFocus
End Sub
Private Sub mnuFile_Export_Click()
Call doTask("Export Peta")
End Sub
Private Sub mnuHelp_Petunjuk_Click()
Shell "Notepad
D:Irsan_PunyaTugas_Akhir_(My_1st_Masterpiece)
AplikasiSIG_NangapinohHelp.txt", vbNormalFocus
End Sub
Private Sub mnuSearch_Peta_Click()
Call doTask("Find")
End Sub
Private Sub mnuTools_HitJarak_Click()
barDisplay.Buttons("Jarak").Value = 1
Call doTask("Hitung Jarak")
End Sub
Private Sub mnuTools_HitLuas_Click()
5. barDisplay.Buttons("Luas").Value = 1
Call doTask("Hitung Luas")
Private Sub picSplitter_MouseDown(Button As
Integer, Shift As Integer, X As Single, Y As Single)
picSplitter.ZOrder 0
picSplitter.BackColor = 8421504 'dark-gray
picSplitter.Refresh
End Sub
Private Sub picSplitter_MouseMove(Button As
Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
picSplitter.Left = picSplitter.Left + X - 50
If picSplitter.Left > MIN_LEGEND_WIDTH Then
picSplitter.Refresh
frmMain.Refresh
Else
picSplitter.Left = MIN_LEGEND_WIDTH
picSplitter_MouseUp Button, Shift, X, Y
End If
End If
End Sub
Private Sub picSplitter_MouseUp(Button As Integer,
Shift As Integer, X As Single, Y As Single)
picSplitter.BackColor = frmMain.BackColor
legMapDisp.Width = legMapDisp.Left +
picSplitter.Left
mapDisp.Left = picSplitter.Left + picSplitter.Width
mapDisp.Width = frmMain.Width -
legMapDisp.Width - picSplitter.Width - 180
picSplitter.ZOrder 1
End Sub
Private Sub legMapDisp_AfterSetLayerVisible(Index
As Integer, isVisible As Boolean)
mapDisp.Refresh
End Sub
Private Sub mapDisp_AfterTrackingLayerDraw(ByVal
hDC As StdOle.OLE_HANDLE)
Dim i As Long
If collGtextStrings.Count > 0 Then
For i = 1 To collGtextStrings.Count
mapDisp.DrawText collGtextStrings(i),
collGtextPoints(i), symGtext
Next
End If
Select Case BarState
Case "Graphics"
mapDisp.MousePointer = moCross
Case "Spatial Select"
mapDisp.MousePointer = moArrow
Case "Zoom In"
mapDisp.MousePointer = moZoomIn
Case "Zoom Out"
mapDisp.MousePointer = moZoomOut
Case "Pan"
mapDisp.MousePointer = moPan
Case "Identify"
mapDisp.MousePointer = moIdentify
Case "Jarak"
mapDisp.MousePointer = moCross
Case "Luas"
mapDisp.MousePointer = moCross
Case Else
mapDisp.MousePointer = moDefault
End Select
End Sub
Private Sub mapdisp_BeforeLayerDraw(ByVal Index
As Integer, ByVal hDC As StdOle.OLE_HANDLE)
mapDisp.MousePointer = moHourglass
If Index = mapDisp.Layers.Count - 1 Then
updateScale
End If
End Sub
Private Sub mapDisp_DragFiles(ByVal fileNames As
Object, ByVal X As Single, ByVal Y As Single, ByVal
state As Integer, dropValid As Boolean)
If fileNames.Count > 0 Then
dropValid = True
End If
End Sub
Private Sub mapDisp_DropFiles(ByVal fileNames As
Object, ByVal X As Single, ByVal Y As Single)
6. Dim dcx As New MapObjects2.DataConnection
Dim shpfile As Variant
Dim i As Integer
Dim ml As MapObjects2.MapLayer
shpfile = (Dir(fileNames.Item(0), vbDirectory))
shpfile = CStr(Left(shpfile, Len(shpfile) - 4))
dcx.Database = Left(fileNames.Item(0),
Len(fileNames.Item(0)) - Len(shpfile) - 5)
If dcx.Connect Then
For i = 0 To fileNames.Count - 1
Set ml = New MapObjects2.MapLayer
shpfile = Dir(fileNames.Item(i), vbDirectory)
shpfile = CStr(Left(shpfile, Len(shpfile) - 4))
Set ml.GeoDataset =
dcx.FindGeoDataset(shpfile)
mapDisp.Layers.Add ml
legMapDisp.LoadLegend
Next i
Dim ptcoll As New Collection
Dim linecoll As New Collection
Dim polycoll As New Collection
Dim imagecoll As New Collection
For i = 0 To mapDisp.Layers.Count - 1
If mapDisp.Layers(i).LayerType = moImageLayer
Then
imagecoll.Add mapDisp.Layers(i)
ElseIf mapDisp.Layers(i).LayerType =
moMapLayer Then
Select Case mapDisp.Layers(i).shapeType
Case moShapeTypePoint
ptcoll.Add mapDisp.Layers(i)
Case moShapeTypeLine
linecoll.Add mapDisp.Layers(i)
Case moShapeTypePolygon
polycoll.Add mapDisp.Layers(i)
End Select
End If
Next i
mapDisp.Layers.Clear
Dim p As MapObjects2.MapLayer
For Each p In polycoll
mapDisp.Layers.Add p
Next p
Dim l As MapObjects2.MapLayer
For Each l In linecoll
mapDisp.Layers.Add l
Next l
For Each p In ptcoll
mapDisp.Layers.Add p
Next p
Dim im As MapObjects2.ImageLayer
For Each im In imagecoll
mapDisp.Layers.Add im
Next im
End If
mapDisp.Extent = mapDisp.FullExtent
mapDisp.Refresh
End Sub
Private Sub mapDisp_MouseDown(Button As Integer,
Shift As Integer, X As Single, Y As Single)
Dim curRectangle As Rectangle
If barDisplay.Buttons.Item("Zoom In").Value = 1
Then
Set curRectangle = mapDisp.TrackRectangle
Set mapDisp.Extent = curRectangle
ElseIf barDisplay.Buttons("Zoom Out").Value = 1
Then
Dim Loc As New Point
Set Loc = mapDisp.ToMapPoint(X, Y)
Dim MapWidth As Double, MapHeight As Double
Set curRectangle = mapDisp.Extent
MapWidth = mapDisp.Extent.Width
MapHeight = mapDisp.Extent.Height
curRectangle.Right = Loc.X + MapWidth
curRectangle.Left = Loc.X - MapWidth
curRectangle.Top = Loc.Y + MapHeight
curRectangle.Bottom = Loc.Y - MapHeight
Set mapDisp.Extent = curRectangle
ElseIf barDisplay.Buttons("Pan").Value = 1 Then
mapDisp.Pan
ElseIf barDisplay.Buttons("Identify").Value = 1 Then
Call frmIdentify.Identify(X, Y)
7. frmIdentify.ZOrder 0
ElseIf barDisplay.Buttons("Jarak").Value = 1 Then
Dim Ln As MapObjects2.Line
Set Ln = mapDisp.TrackLine
mapDisp.TrackingLayer.AddEvent Ln, 0
MsgBox "Panjang jarak =" & Ln.Length * 25 & "
Km"
mapDisp.TrackingLayer.ClearEvents
ElseIf barDisplay.Buttons("Luas").Value = 1 Then
Dim Pl As MapObjects2.Polygon
Set Pl = mapDisp.TrackPolygon
mapDisp.TrackingLayer.AddEvent Pl, 1
MsgBox "Luas area ini=" & Pl.Area * 25 * 25 & "
Km2"
mapDisp.TrackingLayer.ClearEvents
If barGraphics.Visible Then
Dim tl As MapObjects2.TrackingLayer
Set tl = mapDisp.TrackingLayer
tl.SymbolCount = 3
mapDisp.TrackingLayer.Refresh True
End If
End If
End Sub
Private Sub mapDisp_MouseMove(Button As Integer,
Shift As Integer, X As Single, Y As Single)
Dim p As MapObjects2.Point
Set p = mapDisp.ToMapPoint(X, Y)
sbrStatus.Panels(2).text = "Long:" & p.X & " Lat:"
& p.Y If chkTipLayer.Value = 1 And
cboTipLayer.ListCount > 0 Then
m_mapTip.MouseMove X, Y
End If
End Sub
Private Sub mnuClearGraphics_Click()
mapDisp.TrackingLayer.ClearEvents
Set collGtextStrings = New VBA.Collection
Set collGtextPoints = New VBA.Collection
mapDisp.TrackingLayer.Refresh True
End Sub
Private Sub mnuTools_MapProperties_Click()
Call doTask("Map Properties")
End Sub
Private Sub mnuFile_PrintPeta_Click()
Call doTask("Print")
End Sub
Private Sub mnuHelp_About_Click()
Call doTask("About")
End Sub
Private Sub mnuHelp_Summary_Click()
Call doTask("Summary")
End Sub
Private Sub mnuTools_FullExtent_Click()
Call doTask("Full Extent")
End Sub
Private Sub mnuTools_Identify_Click()
barDisplay.Buttons("Identify").Value = 1
Call doTask("Identify")
End Sub
Private Sub mnuTools_Pan_Click()
barDisplay.Buttons("Pan").Value = 1
Call doTask("Pan")
End Sub
Private Sub mnuTools_ZoomIn_Click()
barDisplay.Buttons("Zoom In").Value = 1
Call doTask("Zoom In")
End Sub
Private Sub mnuTools_ZoomOut_Click()
barDisplay.Buttons("Zoom Out").Value = 1
Call doTask("Zoom Out")
End Sub
Private Sub mnuAddLayer_Click()
Call AddFile
If chkTipLayer.Value = 1 Then refreshMapTips
End Sub
Private Sub mnuLegendEditor_Click()
Dim Index As Integer
Index = legMapDisp.getActiveLayer
If Index = -1 Then
8. MsgBox "Tidak ada layer yang aktif.",
vbExclamation, "Warning"
Exit Sub
End If
Set g_ActiveLayer = mapDisp.Layers(Index)
If mapDisp.Layers(Index).LayerType =
moImageLayer Then
MsgBox "Sorry, you cannot set properties for an
image layer.", _
vbCritical, "Stop"
Exit Sub
End If
frmLayerSymbol.Show vbModal
End Sub
Private Sub mnuRemoveAllLayers_Click()
mapDisp.Layers.Clear
Call updateScale
legMapDisp.LoadLegend
frmMain.Refresh
If frmMain.chkTipLayer.Value = 1 Then
refreshMapTips
End Sub
Private Sub mnuRemoveLayer_Click()
Dim Index As Long
Index = legMapDisp.getActiveLayer
If Index <> -1 Then
mapDisp.Layers.Remove Index
legMapDisp.LoadLegend 'Refresh legend
Else
MsgBox "Tidak ada layer yang aktif.",
vbExclamation, "Peringatan"
Exit Sub
End If
If frmMain.chkTipLayer.Value = 1 Then
refreshMapTips
End Sub
Private Sub Rock_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path &
"Database.mdb"
CrystalReport1.WindowTitle = "Rock Samples"
CrystalReport1.ReportFileName = App.path &
"RptRocksamp.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub Thin_Click()
On Error Resume Next
CrystalReport1.DataFiles(0) = App.path &
"Database.mdb"
CrystalReport1.WindowTitle = "Thin Section"
CrystalReport1.ReportFileName = App.path &
"RptThinsect.rpt"
CrystalReport1.ReplaceSelectionFormula ""
CrystalReport1.Action = 1
End Sub
Private Sub addShapeFile(basepath As String, shpfile
As String)
Dim dCon As New DataConnection
Dim gSet As GeoDataset
Dim strShapefileType As String
dCon.Database = basepath
If dCon.Connect Then
shpfile = GetFirstToken(shpfile, ".")
Set gSet = dCon.FindGeoDataset(shpfile)
If gSet Is Nothing Then
MsgBox "Error opening shapefile " & shpfile,
vbCritical
If mapDisp.Layers.Count = 0 Then
sbrStatus.Panels(1).text = "Tidak Ada Skala"
Exit Sub
End If
If strMapUnits = "Unknown" Then
sbrStatus.Panels(1) = "Tidak Ada Satuan Peta"
Exit Sub
End If
Select Case strMapUnits
Case "Decimal Degrees": convFactor =
INCH2DEGREES
9. Case "Meters": convFactor =
INCH2METERS
Case "Feet": convFactor = INCH2FEET
End Select
mapScreenWidth = mapDisp.Width / 1440
mapExtentWidth = mapDisp.Extent.Width *
convFactor
mapScale = Int(mapExtentWidth / mapScreenWidth)
sbrStatus.Panels(1).text = "SKALA 1 : " &
Format(mapScale, "#,000")
End Sub
Form Login
Private Sub cmdOK_Click()
Dim rc As New ADODB.Recordset
If Cmb1.text = "" Then
MsgBox "Jabatan Isi Terlebih Dahulu",
vbInformation, "Pesan"
ElseIf Text2.text = "" And UCase(Cmb1) = "ADMIN"
Then
MsgBox "Password Isi Terlebih Dahulu",
vbInformation, "Pesan"
Else
If UCase(Cmb1) = "ADMIN" Then
rc.Open "select * from usher where jabatan='" &
Cmb1 & "'and password='" & Text2 & "'", db
If rc.EOF = False Then
Unload Me
frmMain.Show
'frmMain.mnuFile.Enabled = False
Else
MsgBox "Password Anda Salah!", vbCritical,
"Peringatan!"
Cmb1 = ""
Text2 = ""
Cmb1.SetFocus
End If
Else
Unload Me
frmMain.Show
frmMain.mnuInput.Enabled = False
frmMain.mnuEdit.Enabled = False
frmMain.mnuTools_User.Enabled = False
frmMain.mnuSearch_Data.Enabled = False
End If
End If
End Sub
Private Sub Form_Load()
Dim topCorner As Integer
Dim leftCorner As Integer
Dim i As Integer
If frmIntro.WindowState <> 0 Then Exit Sub
picMO.Picture = LoadPicture(App.path &
"bitmapslogo.bmp")
Cmb1.AddItem "admin"
Cmb1.AddItem "user"
Text2.PasswordChar = "*"
Left = (Screen.Width - Width) 2
Top = (Screen.Height - Height) 2
End Sub
Form Edit User
Private Sub cmdSimpan_Click()
If rc.state = 1 Then rc.Close
rc.Open "SELECT * FROM Usher WHERE
password='" & txtlama & "'", db
If rc.EOF = True Then
MsgBox "Data tidak ada!", vbCritical, "PESAN"
txtlama = ""
txtbaru = ""
txtlama.SetFocus
Else
db.Execute "UPDATE usher SET usher.
[jabatan]='admin',usher.[password]='" & txtbaru & "'
WHERE usher.[password]='" & txtlama & "';"
MsgBox "Data telah terupdate!", vbInformation,
"PESAN"
End If
End Sub
Private Sub Form_Load()
txtlama = ""
10. txtbaru = ""
txtlama.TabIndex = 0
End Sub
Form Map Properties
Private Sub cboMapUnits_Click()
frmMain.strMapUnits =
cboMapUnits.List(cboMapUnits.ListIndex)
frmMain.updateScale
End Sub
Private Sub CmdAddLayer_Click()
frmMain.AddFile
If frmMain.chkTipLayer.Value = 1 Then
frmMain.refreshMapTips
End Sub
Private Sub cmdOK_Click()
Unload Me
End Sub
Private Sub Form_Load()
Me.Top = frmMain.Top
If (Me.Height + frmMain.Top + frmMain.Height) >
Screen.Height Then
Me.Top = Screen.Height - Me.Height
Else
Me.Top = frmMain.Top + frmMain.Height
End If
Select Case frmMain.mapDisp.ScrollBars
Case True: chkScrollbars.Value = 1
Case False: chkScrollbars.Value = 0
End Select
chkAppearance.Value =
frmMain.mapDisp.Appearance
cboBorderStyle.ListIndex =
frmMain.mapDisp.BorderStyle
Select Case frmMain.strMapUnits
Case "Unknown": cboMapUnits.ListIndex = 0
Case "Decimal Degrees": cboMapUnits.ListIndex
= 1
Case "Meters": cboMapUnits.ListIndex = 2
Case "Feet": cboMapUnits.ListIndex = 3
End Select
picMapBackColor.BackColor =
frmMain.mapDisp.BackColor
Left = (Screen.Width - Width) 2
Top = (Screen.Height - Height) 2
End Sub
Private Sub cboBorderStyle_Click()
Dim status As Integer
status = Left(cboBorderStyle.text, 1)
frmMain.mapDisp.BorderStyle = status
End Sub
Private Sub chkAppearance_Click()
If chkAppearance.Value = 1 Then
frmMain.mapDisp.Appearance = mo3D
ElseIf chkAppearance.Value = 0 Then
frmMain.mapDisp.Appearance = moFlat
End If
End Sub
Private Sub chkScrollbars_Click()
If chkScrollbars.Value = 0 Then
frmMain.mapDisp.ScrollBars = False
ElseIf chkScrollbars.Value = 1 Then
frmMain.mapDisp.ScrollBars = True
End If
End Sub
Private Sub picMapBackColor_Click()
11. CommonDialog1.ShowColor
picMapBackColor.BackColor =
CommonDialog1.Color
frmMain.mapDisp.BackColor =
picMapBackColor.BackColor
End Sub
Form Identify
Sub Identify(X As Single, Y As Single)
Dim curCount As Long, layerCount As Long, layer_c
As Long
Dim Loc As New MapObjects2.Point
Dim theTol As Double
Dim featCount As Long, fCount As Long
Dim aLayer As Object
Dim recs As MapObjects2.Recordset
Dim aName As String, theItem As String
Dim aField As Object
layer_c = frmMain.mapDisp.Layers.Count
ReDim layerName(layer_c)
ReDim Recs2(layer_c)
Screen.MousePointer = 11
cboIDList.Clear
lstFeatList.Clear
lblFeatFound.Caption = "Proses Mencari . . ."
lblTheme.Caption = "Theme:"
lblShapeType.Caption = "Shape:"
Set Loc = frmMain.mapDisp.ToMapPoint(X, Y)
Dim xStr As String, yStr As String
If Loc.X > 1000 Or Loc.Y > 1000 Then
xStr = Int(Loc.X): yStr = Int(Loc.Y)
Else
xStr = Loc.X: yStr = Loc.Y
End If
lblLocation.Caption = "Lokasi : (" & xStr & "," + yStr
+ ")"
featCount = 0
layerCount = -1
theTol =
frmMain.mapDisp.ToMapDistance(SEARCHTOLPIXE
LS * Screen.TwipsPerPixelX)
For Each aLayer In frmMain.mapDisp.Layers
If aLayer.Visible And aLayer.LayerType =
moMapLayer Then
Set recs = aLayer.SearchByDistance(Loc, theTol,
"")
layerCount = layerCount + 1
layerName(layerCount) = aLayer.Name
Set Recs2(layerCount) = recs
curCount = -1
If recs.Count <> 0 Then
aName = "Featureid"
For Each aField In recs.Fields
If aField.Type = moString Then
aName = aField.Name
Exit For
End If
Next
End If
While Not recs.EOF
ReDim Preserve layerNum(2, featCount + 1)
curCount = curCount + 1
layerNum(1, featCount) = layerCount
layerNum(2, featCount) = curCount
featCount = featCount + 1
theItem = recs(aName).ValueAsString
If theItem = "" Then
cboIDList.AddItem
recs("FeatureId").ValueAsString
Else
cboIDList.AddItem theItem
End If
recs.MoveNext
Wend
End If
Next aLayer