public void AddPlacename(string name, float lat, float lon, Hashtable metaData) { WorldWindPlacenameFile p = null; foreach (WorldWindPlacenameFile tempFile in this.m_placenameFiles) { if (lat < tempFile.north && lat >= tempFile.south && lon >= tempFile.west && lon < tempFile.east) { p = tempFile; break; } } if (p == null) { return; } if (p.m_placeNames.Count == 50000) { //split WorldWindPlacenameFile[] splitFiles = p.SplitPlacenameFiles(); this.m_placenameFiles.Remove(p); foreach (WorldWindPlacenameFile newFile in splitFiles) { this.m_placenameFiles.Add(newFile); } this.AddPlacename(name, lat, lon, metaData); } else { p.AddPlacename(name, lat, lon, metaData); } }