Ekran Koordinatları - Harita üzerinden Veritabanı oluşturma
Eğer elinizde bir veri odaklı bir resim varsa ve bu resim üzerinden bir veritabanı oluşturmak istiyorsanız C#'ı kullanabilirsiniz. C#'da ImageBox'un içerisine yerleştireceğiniz resimin boyutunu ayarladıktan sonra, ekran koordinatlarını da kullanarak bir veritabanı oluşturabilirsiniz.
Aşağıdaki yazılım, C++ Derinlik Tespit ile ilintili bir projedir. Marmara Derinlik Haritasında bulunan derinlik verilerini koordinatlarla ilişkilendirmek için ekranı Maramara Haritasının enlem ve boylamlarına göre öteledim. Ekranın koordinat skalası, enlem ve boylamlara göre çalışmaktadır. Aşağıda bulunan textbox'a ekrandaki sayıyı girdiğinizde bir not defteri sayfasına ekran koordinatları ve girilen sayıyı birlikte kaydetmektedir.
Programın çalışır arayüzünün resmi aşağıdadır.
Aşağıdaki yazılım, C++ Derinlik Tespit ile ilintili bir projedir. Marmara Derinlik Haritasında bulunan derinlik verilerini koordinatlarla ilişkilendirmek için ekranı Maramara Haritasının enlem ve boylamlarına göre öteledim. Ekranın koordinat skalası, enlem ve boylamlara göre çalışmaktadır. Aşağıda bulunan textbox'a ekrandaki sayıyı girdiğinizde bir not defteri sayfasına ekran koordinatları ve girilen sayıyı birlikte kaydetmektedir.
Programın çalışır arayüzünün resmi aşağıdadır.
Kaynak Kodu :
//C++ Programming Language
// zafercavdar
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace MarmaraHaritası
{
public partial class Form1 : Form
{
string winDir = System.Environment.GetEnvironmentVariable("windir");
public Form1()
{
InitializeComponent();
timer1.Start();
this.AcceptButton = button1;
}
private void label2_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
double n1, n2, n3 = 0;
double m_koordinat = 0;
n1 = 28;
int px = System.Windows.Forms.Cursor.Position.X;
int m = (px * 300) / 518;
n2 = x2 + (m / 60);
n3 = x3 + (m % 60);
double temp = n3 / 60.0;
n2 += temp;
temp = n2 / 60.0;
n1 += temp;
int temp2 = System.Windows.Forms.Cursor.Position.Y;
double eksi = (temp2 * 0.02333333 ) / 52 ;
m_koordinat = gps_enlem - eksi;
label1.Text = n1 + "";
label2.Text = m_koordinat + "";
}
double x1 = 28;
double x2 = 30;
double x3 = 0;
double gps_enlem = 41.02333333;
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "clc")
{
StreamWriter writer = new StreamWriter("C:\\Users\\zafercvdr\\Desktop\\map_data.txt");
writer.WriteLine("");
richTextBox1.Text = "";
}
else
{
double n1, n2, n3 = 0;
double m_koordinat = 0;
n1 = x1;
StreamWriter writer = new StreamWriter("C:\\Users\\zafercvdr\\Desktop\\map_data.txt", true);
int px = System.Windows.Forms.Cursor.Position.X;
int m = (px * 300) / 518;
n2 = x2 + (m / 60);
n3 = x3 + (m % 60);
double temp = n3 / 60.0;
n2 += temp;
temp = n2 / 60.0;
n1 += temp;
int temp2 = System.Windows.Forms.Cursor.Position.Y;
double eksi = (temp2 * 0.02333333) / 52;
m_koordinat = gps_enlem - eksi;
writer.WriteLine("X : " + n1 + " Y : " + m_koordinat + " Depth : " + textBox1.Text);
richTextBox1.Text += "X : " + n1 + " Y : " + m_koordinat + " Depth : " + textBox1.Text + "\n";
writer.Close();
}
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
// zafercavdar
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace MarmaraHaritası
{
public partial class Form1 : Form
{
string winDir = System.Environment.GetEnvironmentVariable("windir");
public Form1()
{
InitializeComponent();
timer1.Start();
this.AcceptButton = button1;
}
private void label2_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e)
{
double n1, n2, n3 = 0;
double m_koordinat = 0;
n1 = 28;
int px = System.Windows.Forms.Cursor.Position.X;
int m = (px * 300) / 518;
n2 = x2 + (m / 60);
n3 = x3 + (m % 60);
double temp = n3 / 60.0;
n2 += temp;
temp = n2 / 60.0;
n1 += temp;
int temp2 = System.Windows.Forms.Cursor.Position.Y;
double eksi = (temp2 * 0.02333333 ) / 52 ;
m_koordinat = gps_enlem - eksi;
label1.Text = n1 + "";
label2.Text = m_koordinat + "";
}
double x1 = 28;
double x2 = 30;
double x3 = 0;
double gps_enlem = 41.02333333;
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "clc")
{
StreamWriter writer = new StreamWriter("C:\\Users\\zafercvdr\\Desktop\\map_data.txt");
writer.WriteLine("");
richTextBox1.Text = "";
}
else
{
double n1, n2, n3 = 0;
double m_koordinat = 0;
n1 = x1;
StreamWriter writer = new StreamWriter("C:\\Users\\zafercvdr\\Desktop\\map_data.txt", true);
int px = System.Windows.Forms.Cursor.Position.X;
int m = (px * 300) / 518;
n2 = x2 + (m / 60);
n3 = x3 + (m % 60);
double temp = n3 / 60.0;
n2 += temp;
temp = n2 / 60.0;
n1 += temp;
int temp2 = System.Windows.Forms.Cursor.Position.Y;
double eksi = (temp2 * 0.02333333) / 52;
m_koordinat = gps_enlem - eksi;
writer.WriteLine("X : " + n1 + " Y : " + m_koordinat + " Depth : " + textBox1.Text);
richTextBox1.Text += "X : " + n1 + " Y : " + m_koordinat + " Depth : " + textBox1.Text + "\n";
writer.Close();
}
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}