private string GetLevel(AddressLevel addressLevel) { switch (addressLevel.CoordinateLevel) { case 0: return("İL"); case 1: return("İLÇE"); case 2: return("MAHALLE"); case 3: return("CADDE"); case 4: return("SOKAK"); case 5: return("POI"); case 6: return("KAPI"); default: return(""); } }
public Geocoder() { cultureInfo = new System.Globalization.CultureInfo("tr-TR"); addressLevel = new AddressLevel(); geocoderService = new GeocoderService(); hierarchy = new string[7, 2]; }
private void FillScreen(AddressLevel addressLevel) { if (addressLevel.XCoor == string.Empty || addressLevel.XCoor == "0") { MessageBox.Show("Adres bulunamadı"); return; } lblIl.Text = addressLevel.Il; lblIlce.Text = addressLevel.Ilçe; lblMahalle.Text = addressLevel.Mahalle; lblCadde.Text = addressLevel.Cadde; lblSokak.Text = addressLevel.Sokak; lblBulvar.Text = addressLevel.Bulvar; lblPoi.Text = addressLevel.Poi; lblBina.Text = addressLevel.Bina; lblBlok.Text = addressLevel.Blok; lblDaire.Text = addressLevel.Daire; lblKapı.Text = addressLevel.Kapı; lblKat.Text = addressLevel.Kat; lblKöy.Text = addressLevel.Köy; lblXcoor.Text = addressLevel.XCoor; lblYcoor.Text = addressLevel.YCoor; lblLevel.Text = GetLevel(addressLevel); LoadMap(addressLevel); }
static AddressLevel ParseTest(string address) { Tokenizer tokenizer = new Tokenizer(); AddressLevel addressLevel = tokenizer.ParseAddress(address); return(addressLevel); }
public AddressLevel Geocode(AddressLevel addressLevel) { this.addressLevel = addressLevel; try { AddressGeocode(); } catch (Exception ex) { //throw; Log(ex); } for (var i = 6; i >= 0; i--) { if (hierarchy[i, 0] != "9999999") { addressLevel.XCoor = hierarchy[i, 0]; addressLevel.YCoor = hierarchy[i, 1]; addressLevel.CoordinateLevel = i; break; } } return(addressLevel); }
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Trim().Equals(string.Empty)) { MessageBox.Show("Lütfen bir adres giriniz!"); return; } string address = textBox1.Text.Trim(); string fixedAddress = FixAddress(address); AddressLevel addressLevel = tokenizer.ParseAddress(fixedAddress); List <string> list = tokenizer.NotParsedList; list = geocoder.CheckForCity(list, ref addressLevel); if (!addressLevel.Il.Equals(string.Empty)) { list = geocoder.CheckForTown(list, ref addressLevel); } addressLevel = geocoder.Geocode(addressLevel); FillScreen(addressLevel); }
public AddressLevel Geocode(string address) { string fixedAddress = Fixer.Prepare(address); AddressLevel addressLevel = tokenizer.ParseAddress(fixedAddress); List <string> list = tokenizer.NotParsedList; list = geocoder.CheckForCity(list, ref addressLevel); if (!addressLevel.Il.Equals(string.Empty)) { list = geocoder.CheckForTown(list, ref addressLevel); } addressLevel = geocoder.Geocode(addressLevel); return(addressLevel); }
private void LoadMap(AddressLevel addressLevel) { string geocoderSampleName = "Sample"; //string url = string.Format("https://www.google.com/maps/place//@{0},{1},15z", addressLevel.YCoor, addressLevel.XCoor); string url = string.Format("http://www.openstreetmap.org/?mlat={0}&mlon={1}#map=19/{0}/{1}", addressLevel.YCoor, addressLevel.XCoor); //string url = string.Format("http://www.bing.com/maps/default.aspx?sp=point.{0}_{1}_{2}_{3}_{4}_{5}", // addressLevel.YCoor, // addressLevel.XCoor, // "MUSTAFA", //title, // "NOT", //note, // "www.google.com", //linkUrl, // ""); //photoUrl); webBrowser1.Url = new Uri(url); webBrowser1.Show(); }
public GeocoderAPIResultModel CompleteGeocoding(string address) { string fixedAddress = Default.Fixer.Prepare(address); AddressLevel addressLevel = tokenizer.ParseAddress(fixedAddress); List <string> list = tokenizer.NotParsedList; list = CheckForCity(list, ref addressLevel); if (!addressLevel.Il.Equals(string.Empty)) { list = CheckForTown(list, ref addressLevel); } addressLevel = geocoder.Geocode(addressLevel); GeocoderAPIResultModel result = ResultConverter.ConvertAddressLevelToGeocoderAPIResultModel(addressLevel); return(result); }
private List <string> CheckForTown(IEnumerable <string> notParsedList, ref AddressLevel addressLevel) { List <string> result = new List <string>(); decimal ilId = addressLevel.IlId; foreach (var item in notParsedList) { var town = geocoderService.GetTownByNameAndCityId(item.Trim(), addressLevel.IlId); if (town != null) { addressLevel.Ilçe = item.Trim(); } else { result.Add(item); } } return(result); }
private List <string> CheckForCity(IEnumerable <string> notParsedList, ref AddressLevel addressLevel) { List <string> result = new List <string>(); foreach (var item in notParsedList) { var city = geocoderService.GetCityByName(item.Trim()); if (city != null) { addressLevel.Il = item.Trim(); addressLevel.IlId = city.IL_ID; } else { result.Add(item); } } return(result); }
static List <string> CheckForCity(List <string> notParsedList, ref AddressLevel addressLevel) { List <string> result = new List <string>(); foreach (var item in notParsedList) { //var city = GetCityByName(item.Trim()); var city = entities.HINTCITYGEOCITYCR.FirstOrDefault(x => x.IL_ADI == item.Trim()); if (city != null) { addressLevel.Il = item.Trim(); addressLevel.IlId = city.IL_ID; } else { result.Add(item); } } return(result); }
private void FillBindingSourceAccountServiceCounter(AddressLevel addressLevel) { this.bsAccountServiceCounter.Clear(); foreach (Service service in this.m_ApartmentCounter.GetServicetForBindingToCounterBy(addressLevel)) { AccountServiceCounter counter = new AccountServiceCounter { ServiceCode = (int) ((int) service.Code), ServiceName = service.ShortName, ServiceId = service.Id, ServiceTypeName = service.TypeName, OrgName = service.OrgName, Share = 1M }; this.bsAccountServiceCounter.Add(counter); } }
public ObjectList<LocalAddressSynonym> GetLocalAddressSynonyms_NotCompare(AddressLevel level) { return Mappers.LocalAddressSynonymMapper.FindByOrgId_NotCompare(base.Id, level); }
private LocalAddress GetParentByLevel(AddressLevel lvl) { if (base.Level == lvl) { return this; } if (base.Level < lvl) { return Null; } return this.GetParent().GetParentByLevel(lvl); }
private ObjectList<LocalAddress> GetChildrenByLevel(AddressLevel lvl) { if (base.Level > lvl) { return null; } ObjectList<LocalAddress> list = new ObjectList<LocalAddress>(); if (base.Level == lvl) { list.Add(this); return list; } foreach (LocalAddress address in this.GetChildren()) { list.AddRange(address.GetChildrenByLevel(lvl)); } return list; }
public string GetLevelName(AddressLevel _level) { if (base.Level == _level) { return base.Name; } if ((base.Parent != null) && (base.Level < _level)) { return ((LocalAddress) base.Parent).GetLevelName(_level); } return ""; }
public AddressLevel Geocoder(AddressLevel addressLevel) { return(geocoder.Geocode(addressLevel)); }
public AddressLevel ParseAddress(string address) { int counter = 0; int index = 0; NotParsedList = new List <string>(); string[] tokens = Regex.Split(address, " "); AddressLevel addressLevel = new AddressLevel(); addressLevel.OriginalAddress = address; while (counter < tokens.Length) { string tempAddress = " " + tokens[counter] + " "; int type = CheckType(tempAddress, counter, tokens); string token = string.Empty; switch (type) { case (int)Enums.ParsingAdress.Mahalle: for (int i = index; i < counter; i++) { token += " " + tokens[i] + " "; } addressLevel.Mahalle = token.Replace(" ", " ").TrimStart().TrimEnd(); index = counter + 1; ClearNotParsedList(token); break; case (int)Enums.ParsingAdress.Cadde: if (addressLevel.Cadde == "") { for (int i = index; i < counter; i++) { token += " " + tokens[i] + " "; } addressLevel.Cadde = token.Replace(" ", " ").TrimStart().TrimEnd(); ClearNotParsedList(token); string[] caddeLength = Regex.Split(token.Replace(" ", " ").TrimStart().TrimEnd(), " "); if (caddeLength.Length > 1) { for (int i = 0; i < caddeLength.Length; i++) { ClearNotParsedList(caddeLength[i]); if (i == 0) { addressLevel.Cadde1 = caddeLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } else if (i == 1) { addressLevel.Cadde2 = caddeLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } else if (i > 1) { addressLevel.CaddeS += " " + caddeLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } } } } index = counter + 1; break; case (int)Enums.ParsingAdress.Sokak: if (addressLevel.Sokak == "") { for (int i = index; i < counter; i++) { token += " " + tokens[i] + " "; } addressLevel.Sokak = token.Replace(" ", " ").TrimStart().TrimEnd(); ClearNotParsedList(token); string[] sokakLength = Regex.Split(token.Replace(" ", " ").TrimStart().TrimEnd(), " "); if (sokakLength.Length > 1) { for (int i = 0; i < sokakLength.Length; i++) { ClearNotParsedList(sokakLength[i]); if (i == 0) { addressLevel.Sokak1 = sokakLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } else if (i == 1) { addressLevel.Sokak2 = sokakLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } else if (i > 1) { addressLevel.SokakS += " " + sokakLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } } } } index = counter + 1; break; case (int)Enums.ParsingAdress.POI: if (addressLevel.Poi == "") { for (int i = index; i <= counter; i++) { token += " " + tokens[i] + " "; } token = token.Replace(" İŞ.MRK. ", " İŞ MERKEZİ "); token = token.Replace(" TİC.MRK. ", " TİCARET MERKEZİ "); token = token.Replace(" TİC.AŞ. ", " TİCARET "); token = token.Replace(" ORG.SAN. ", " ORGANİZE SANAYİ "); token = token.Replace(" RENT.A.CAR ", " RENT A CAR "); token = token.Replace(" TATİL.KÖYÜ ", " TATİL KÖYÜ "); token = token.Replace(" VİLLALARİ ", " VİLLALARI "); addressLevel.Poi = token.Replace(" ", " ").TrimStart().TrimEnd(); ClearNotParsedList(token); string[] poiLength = Regex.Split(token.Replace(" ", " ").TrimStart().TrimEnd(), " "); if (poiLength.Length > 1) { for (int i = poiLength.Length - 1; i >= 0; i--) //Sondan kırpma işlemi { ClearNotParsedList(poiLength[i]); if (i == 0) { addressLevel.Poi1 = poiLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } else if (i == 1) { addressLevel.Poi2 = poiLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } else if (i == 2) { addressLevel.Poi3 = poiLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } else if (i > 2) { addressLevel.PoiS += " " + poiLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } } } } index = counter + 1; break; case (int)Enums.ParsingAdress.Yolu: for (int i = index; i <= counter; i++) { token += " " + tokens[i] + " "; } addressLevel.Yolu = token.Replace(".GİRİŞİ", "").Replace(".KAVŞAĞI", " KAVŞAĞI").Replace("MEVKİİ", "MEVKİ").Replace(".ÜZERİ", "").Replace(" ", " ").TrimStart().TrimEnd(); ClearNotParsedList(token); index = counter + 1; break; case (int)Enums.ParsingAdress.Köy: for (int i = index; i < counter; i++) { token += " " + tokens[i] + " "; } addressLevel.Köy = token.Replace(" ", " ").TrimStart().TrimEnd(); ClearNotParsedList(token); index = counter + 1; break; case (int)Enums.ParsingAdress.Bulvar: if (addressLevel.Bulvar == "") { for (int i = index; i < counter; i++) { token += " " + tokens[i] + " "; } addressLevel.Bulvar = token.Replace(" ", " ").TrimStart().TrimEnd(); ClearNotParsedList(token); string[] bulvarLength = Regex.Split(token.Replace(" ", " ").TrimStart().TrimEnd(), " "); if (bulvarLength.Length > 1) { for (int i = 0; i < bulvarLength.Length; i++) { ClearNotParsedList(bulvarLength[i]); if (i == 0) { addressLevel.Bulvar1 = bulvarLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } else if (i == 1) { addressLevel.Bulvar2 = bulvarLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } else if (i > 1) { addressLevel.BulvarS += " " + bulvarLength[i].Replace(" ", " ").TrimStart().TrimEnd(); } } } } index = counter + 1; break; case (int)Enums.ParsingAdress.Kapı: addressLevel.Kapı = tokens[counter].Replace("NO:", "").Replace(" ", " ").TrimStart().TrimEnd(); ClearNotParsedList(token); index = counter + 1; break; case (int)Enums.ParsingAdress.Kat: tokens[counter] = tokens[counter].Replace("K:", "").Replace(" ", " ").TrimStart().TrimEnd(); string patternK = @"(-)|(/)"; string[] Ks = Regex.Split(tokens[counter], patternK); addressLevel.Kat = Ks[0]; ClearNotParsedList(Ks[0]); index = counter + 1; break; case (int)Enums.ParsingAdress.Daire: tokens[counter] = tokens[counter].Replace("D:", "").Replace(" ", " ").TrimStart().TrimEnd(); string patternD = @"(-)|(/)"; string[] Ds = Regex.Split(tokens[counter], patternD); addressLevel.Daire = Ds[0]; ClearNotParsedList(Ds[0]); index = counter + 1; break; case (int)Enums.ParsingAdress.Blok: for (int i = index; i < counter; i++) { token += " " + tokens[i] + " "; } addressLevel.Blok = token.Replace(" ", " ").TrimStart().TrimEnd(); ClearNotParsedList(token); index = counter + 1; break; case (int)Enums.ParsingAdress.Bina: for (int i = index; i <= counter; i++) { token += " " + tokens[i] + " "; } addressLevel.Bina = token.Replace(" ", " ").TrimStart().TrimEnd(); ClearNotParsedList(token.Replace(" APT. ", "")); index = counter + 1; break; default: if (!tempAddress.Equals(string.Empty)) { NotParsedList.Add(tempAddress); } break; } counter++; } return(addressLevel); }
public GeocoderAPIResultModel Tokenizer(string address) { AddressLevel addressLevel = tokenizer.ParseAddress(address); return(ResultConverter.ConvertAddressLevelToGeocoderAPIResultModel(addressLevel)); }
public void FillAreaAddresses1(Area area, AreaAddressMode mode, AddressLevel lev) { System.Collections.Generic.IList<LocalAddress> adr = Mappers.LocalAddressMapper.FindAddressByLevel(lev); this.FillAreaAddresses2(LocalAddress.Null, base.Nodes, adr, lev); }
private static List <string> CheckForTown(IEnumerable <string> notParsedList, ref AddressLevel addressLevel) { List <string> result = new List <string>(); decimal ilId = addressLevel.IlId; foreach (var item in notParsedList) { var town = entities.HINTTOWNGEOTOWNCR.FirstOrDefault(x => x.ILCE_ADI == item.Trim() && x.IL_ID == ilId); if (town != null) { addressLevel.Ilçe = item.Trim(); } else { result.Add(item); } } return(result); }
public static ObjectList<LocalAddress> FindAddressByCurrentLevel(AddressLevel level) { return Mappers.LocalAddressMapper.FindAddressByCurrentLevelByHouses(level); }
private string GetSocr(AddressLevel level) { if (level == AddressLevel.Дом) { return " д"; } if (level == AddressLevel.MaxAddress) { return " кв"; } return ""; }
public void FillAreaAddresses2(LocalAddress parent, System.Windows.Forms.TreeNodeCollection coll, System.Collections.Generic.IList<LocalAddress> adr, AddressLevel level) { if (level <= AddressLevel.MaxAddress) { foreach (LocalAddress address in adr) { if (address.ParentId == parent.Id) { System.Windows.Forms.TreeNode node = new System.Windows.Forms.TreeNode(address.NameSocr); node.set_Tag(address); coll.Add(node); node.Nodes.Add(""); this.FillAreaAddresses2(address, node.Nodes, adr, level + AddressLevel.MinAddress); } } } }
public static GeocoderAPIResultModel ConvertAddressLevelToGeocoderAPIResultModel(AddressLevel model) { GeocoderAPIResultModel result = new GeocoderAPIResultModel(); result.Bina = model.Bina; result.Blok = model.Blok; result.Bulvar = model.Bulvar; result.Bulvar1 = model.Bulvar1; result.Bulvar2 = model.Bulvar2; result.BulvarS = model.BulvarS; result.Cadde = model.Cadde; result.Cadde1 = model.Cadde1; result.Cadde2 = model.Cadde2; result.CaddeS = model.CaddeS; result.CoordinateLevel = model.CoordinateLevel; result.Daire = model.Daire; result.Il = model.Il; result.Ilçe = model.Ilçe; result.Kapı = model.Kapı; result.Kat = model.Kat; result.Köy = model.Köy; result.Mahalle = model.Mahalle; result.OriginalAddress = model.OriginalAddress; result.Poi = model.Poi; result.Poi1 = model.Poi1; result.Poi2 = model.Poi2; result.Poi3 = model.Poi3; result.PoiS = model.PoiS; result.PostaKodu = model.PostaKodu; result.Sokak = model.Sokak; result.Sokak1 = model.Sokak1; result.Sokak2 = model.Sokak2; result.SokakS = model.SokakS; result.XCoor = model.XCoor; result.YCoor = model.YCoor; result.Yolu = model.Yolu; return(result); }
private void button1_Click(object sender, EventArgs e) { List <SAMPLEADDRESS> samples = geocoderService.GetSampleaddresss(); Stopwatch timer = new Stopwatch(); foreach (var item in samples) { bool checkIfExist = geocoderService.CheckIfExist(item); if (checkIfExist) { continue; } SAMPLEADDRESSRESULT result = new SAMPLEADDRESSRESULT(); RequestData request = new RequestData(); request.Address = item.ADDRESS + " " + item.CITY + " " + item.TOWN; timer.Reset(); timer.Start(); List <YandexResult> yandexResults = yandexGeocoder.GeocodeAndParse(request); timer.Stop(); if (yandexResults.Count == 1) { string[] coordinates = yandexResults[0].Position.Split(' '); string xCoor = coordinates[0]; string yCoor = coordinates[1]; result.XCOORYANDEX = xCoor; result.YCOORYANDEX = yCoor; result.YANDEXTIME = timer.Elapsed.ToString(); } timer.Reset(); timer.Start(); List <GoogleResult> googleResults = googleGeocoder.GeocodeAndParse(request); timer.Stop(); if (googleResults.Count == 1) { string xCoor = googleResults[0].Longtitute; string yCoor = googleResults[0].Latitute; result.XCOORGOOGLE = xCoor; result.YCOORGOOGLE = yCoor; result.GOOGLETIME = timer.Elapsed.ToString(); } timer.Reset(); timer.Start(); AddressLevel addressLevel = Geocode(request.Address); timer.Stop(); if (addressLevel.XCoor != string.Empty || addressLevel.XCoor != "0") { string xCoor = addressLevel.XCoor; string yCoor = addressLevel.YCoor; result.XCOORMY = xCoor; result.YCOORMY = yCoor; result.MYTIME = timer.Elapsed.ToString(); } result.ID = item.ID; try { geocoderService.InsertSampleAddressResult(result); } catch { continue; } } }
public static ObjectList<LocalAddress> GetLevelAddressesByUser(AddressLevel level) { return Mappers.LocalAddressMapper.FindAddressByLevel(level); }
public ObjectList<Service> GetServicetForBindingToCounterBy(AddressLevel addressLevel) { return Mappers.ServiceMapper.GetServicetForBindingToCounterBy(this.ApartmentId, this.CounterServiceTypeId, addressLevel); }
public static ObjectList<LocalAddress> GetRelationsByLevel(ObjectList<LocalAddress> addresses, AddressLevel lvl) { ObjectList<LocalAddress> list = new ObjectList<LocalAddress>(); foreach (LocalAddress address in addresses) { LocalAddress parentByLevel = address.GetParentByLevel(lvl); if ((parentByLevel == Null) || (parentByLevel == null)) { list.AddRange(address.GetChildrenByLevel(lvl)); } else if (!list.Contains(parentByLevel)) { list.Add(parentByLevel); } } return list; }
public AreaAddressesForm(ObjectList<LocalAddress> AddressesSource, ObjectList<LocalAddress> AddressesDest, AddressLevel ChildNods) : this(AddressesSource, AddressesDest) { AreaAddressesTree.ChildNods = ChildNods; }
public LocalAddress GetLevelAddress(AddressLevel level) { if (base.Level == level) { return this; } if ((base.Parent != null) && (base.Level < level)) { return ((LocalAddress) base.Parent).GetLevelAddress(level); } return null; }