├── .gitignore ├── Cargo.toml ├── LICENSE.md ├── README.md ├── src ├── error.rs ├── lib.rs ├── test.rs └── unprocessed_series.rs └── test_data ├── cities.arrow ├── global_large_lakes.feature_collection.implicit_4326.json ├── lat_lon_countries.csv ├── stations.dbf ├── stations.prj ├── stations.shp ├── stations.shx ├── stations_shapefile.shp.zip ├── test_spatialite.sqlite └── us_states.feature_collection.implicit_4326.json /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /Cargo.lock 3 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "polars_gdal" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | gdal = "0.14" 8 | gdal-sys = "0.8" 9 | polars = { version = "0.26", features = ["dtype-binary", "dtype-date", "dtype-datetime", "rows"] } 10 | thiserror = { version = "1" } 11 | 12 | [dev-dependencies] 13 | polars = { version = "0.26", features = ["ipc"] } 14 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Patrick Hayes 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Read and write GDAL-compatible geospatial data into [Polars](https://www.pola.rs) and [GeoPolars](https://github.com/geopolars/geopolars). 2 | 3 | Supports reading and writing the following geospatial formats into / from a Polars Dataframe: 4 | 5 | 1. GeoJSON 6 | 2. ShapeFiles 7 | 3. CSV with lat / lon 8 | 4. FlatGeobuf 9 | 5. KML 10 | 6. GPX 11 | 7. PostGIS (via network) 12 | 8. SpatialLite 13 | 9. ... and [many more](https://gdal.org/drivers/vector/index.html) 14 | 15 | 16 | ### Example 1: Dataframe from a file 17 | ```rust # ignore 18 | use polars_gdal::df_from_resource; 19 | let df = df_from_resource("my_shapefile.shp", None).unwrap(); 20 | println!("{}", df); 21 | ``` 22 | 23 | ### Example 2: DataFrame from raw bytes 24 | ```rust # ignore 25 | use polars_gdal::df_from_bytes; 26 | 27 | let geojson = r#"{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"foo"},"geometry":{"type":"Point","coordinates":[1,2]}},{"type":"Feature","properties":{"name":"bar"},"geometry":{"type":"Point","coordinates":[3,4]}}]}"#.as_bytes(); 28 | 29 | let df = df_from_bytes(geojson, None, None).unwrap(); 30 | println!("{}", df); 31 | ``` 32 | 33 | ### Example 3: DataFrame from GDAL Layer with filtering query 34 | ```rust # ignore 35 | use polars_gdal::{df_from_layer, gdal}; 36 | use gdal::vector::sql; 37 | 38 | let dataset = gdal::Dataset::open("my_shapefile.shp")?; 39 | let query = "SELECT kind, is_bridge, highway FROM my_shapefile WHERE highway = 'pedestrian'"; 40 | let mut result_set = dataset.execute_sql(query, None, sql::Dialect::DEFAULT).unwrap().unwrap(); 41 | 42 | let df = df_from_layer(&mut result_set, None).unwrap(); 43 | println!("{}", df); 44 | ``` 45 | 46 | ### Example 4: DataFrame from Latitude / Longitude CSV with custom parsing options 47 | ```rust # ignore 48 | let mut params = polars_gdal::Params::default(); 49 | let csv_parsing_options = ["EMPTY_STRING_AS_NULL=YES", "KEEP_GEOM_COLUMNS=NO", "X_POSSIBLE_NAMES=Lon*", "Y_POSSIBLE_NAMES=Lat*"]; 50 | params.open_options = Some(&csv_parsing_options); 51 | 52 | let df = df_from_resource("lat_lon_countries.csv", Some(params)).unwrap(); 53 | println!("{}", df); 54 | ``` 55 | 56 | ### Example 5: DataFrame from a PostGIS table 57 | ```rust # ignore 58 | use polars_gdal::{df_from_resource, Params}; 59 | 60 | let mut params = Params::default(); 61 | params.layer_name = Some("some_table_name"); 62 | 63 | let df = df_from_resource("postgresql://user:pass@host/db_name", Some(params)).unwrap(); 64 | println!("{}", df); 65 | ``` 66 | 67 | ### Example 6: GeoJSON bytes from a Dataframe 68 | ```rust # ignore 69 | use polars_gdal::{gdal, gdal_bytes_from_df, WriteParams}; 70 | 71 | let df: DataFrame = ...; 72 | let json_driver = gdal::DriverManager::get_driver_by_name("GeoJSON")?; 73 | let geojson_bytes = gdal_bytes_from_df(&df, &json_driver, None)?; 74 | ``` 75 | 76 | ### Example 7: Write a shapefile to disk from a DataFrame 77 | ```rust # ignore 78 | use polars_gdal::{gdal, gdal_resource_from_df, WriteParams}; 79 | 80 | let df: DataFrame = ...; 81 | let shapefile_driver = gdal::DriverManager::get_driver_by_name("ESRI Shapefile")?; 82 | let _dataset = gdal_resource_from_df(&df, &shapefile_driver, "/some/path/on/disk/my_shapefile.shp", None)?; 83 | ``` 84 | -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- 1 | use thiserror::Error; 2 | use gdal::errors::GdalError; 3 | use polars::error::PolarsError as PolarsError; 4 | 5 | #[derive(Error, Debug)] 6 | pub enum Error { 7 | 8 | /// GDAL Error 9 | #[error("GDAL Error: {0}")] 10 | Gdal(#[from] GdalError), 11 | 12 | /// Polars Error 13 | #[error("Polars Error: {0}")] 14 | Polars(#[from] PolarsError), 15 | 16 | /// Empty GDAL dataset 17 | #[error("Empty GDAL data")] 18 | EmptyData, 19 | 20 | /// The readonly bitflag must be set 21 | #[error("GDAL READONLY bitflag must be set for this operation.")] 22 | ReadonlyMustSet, 23 | 24 | /// The update bitflag must NOT be set 25 | #[error("GDAL update bitfla is not supported for this operation.")] 26 | UpdateNotSupported, 27 | 28 | //// Hard feature limit reached 29 | #[error("Feature limit of {0} features reached")] 30 | FeatureLimitReached(usize), 31 | 32 | /// Geomery column name collision 33 | #[error("Field named `{0}` not allowed as it would conflict with the geometry column")] 34 | GeometryColumnCollision(String), 35 | 36 | /// Feature ID column name collision 37 | #[error("Field named `{0}` not allowed as it would conflict with the feature id column")] 38 | FidColumnCollision(String), 39 | 40 | /// Geometry column was the wrong type. 41 | #[error("The dataframe geometry column `{0}` was not the right type. Expected type `{1}`, got type `{2}`.")] 42 | GeometryColumnWrongType(String, polars::datatypes::DataType, polars::datatypes::DataType), 43 | 44 | /// Unable to automatically determine geometry type. 45 | #[error("Unable to automatically determine the the geometry type from the first row. Got Error \"{0}\". Hint: Use `polars_gdal::WriteParams::geometry_type` to specify manually.")] 46 | UnableToDetermineGeometryType(String), 47 | 48 | /// Empty Dataframe 49 | #[error("Empty dataframe with no rows")] 50 | EmptyDataframe, 51 | 52 | /// Cannot find geometry column in dataframe 53 | #[error("Cannot find geometry column `{0}` in dataframe")] 54 | CannotFindGeometryColumn(String), 55 | } 56 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | #![doc = include_str!("../README.md")] 2 | 3 | mod error; 4 | mod unprocessed_series; 5 | 6 | #[cfg(test)] 7 | mod test; 8 | 9 | pub use error::*; 10 | pub extern crate gdal; 11 | pub extern crate polars; 12 | 13 | use gdal::errors::GdalError; 14 | use gdal::spatial_ref::SpatialRef; 15 | use gdal::vector::FieldValue as GdalValue; 16 | use gdal::vector::LayerAccess; 17 | use gdal::vector::OGRFieldType; 18 | use gdal::Dataset; 19 | use gdal::LayerOptions; 20 | use polars::prelude::*; 21 | use std::collections::HashMap; 22 | use std::path::Path; 23 | use std::sync::atomic::AtomicU64; 24 | use std::sync::atomic::Ordering; 25 | use unprocessed_series::*; 26 | 27 | /// Parameters to configure the conversion of a GDAL dataset to a Polars DataFrame. 28 | #[derive(Debug, Default)] 29 | pub struct ReadParams<'a> { 30 | /// GDal bitflags used by [`Dataset::open_ex`]. Flags are combined with a bitwise OR `|`. 31 | /// 32 | /// # Example 33 | /// ``` 34 | /// use polars_gdal::gdal; 35 | /// 36 | /// let mut params = polars_gdal::ReadParams::default(); 37 | /// params.open_flags = gdal::GdalOpenFlags::GDAL_OF_READONLY | gdal::GdalOpenFlags::GDAL_OF_VERBOSE_ERROR; 38 | /// ``` 39 | pub open_flags: gdal::GdalOpenFlags, 40 | 41 | /// List of allowed GDAL drivers. See 42 | pub allowed_drivers: Option<&'a [&'a str]>, 43 | 44 | /// Array of "KEY=value" strings to pass to the GDAL driver. See 45 | /// 46 | /// # Example 47 | /// ``` 48 | /// use polars_gdal::gdal; 49 | /// 50 | /// let mut params = polars_gdal::ReadParams::default(); 51 | /// let csv_parsing_options = ["EMPTY_STRING_AS_NULL=YES", "KEEP_GEOM_COLUMNS=NO", "X_POSSIBLE_NAMES=Lon*", "Y_POSSIBLE_NAMES=Lat*"]; 52 | /// params.open_options = Some(&csv_parsing_options); 53 | /// ``` 54 | pub open_options: Option<&'a [&'a str]>, 55 | 56 | /// Array of strings that are filenames that are auxiliary to the main filename (eg .dbf .proj and .shx files are auxiliary to .shp files). 57 | /// 58 | /// If left as None, a probing of the file system will be done. 59 | pub sibling_files: Option<&'a [&'a str]>, 60 | 61 | /// For multi-layer files, the specific layer to read. If None, the first layer will be read. 62 | pub layer_name: Option<&'a str>, 63 | 64 | /// For muti-layer files, the specific muti-layer to read. If None, the first layer will be read. 65 | /// 66 | /// This has no effect is `layer_name` is set. 67 | pub layer_index: Option, 68 | 69 | /// The Feature ID column name. By default, the feature-id column is not included. 70 | pub fid_column_name: Option<&'a str>, 71 | 72 | /// The Geometry colum name. By default `geomery` will be used. 73 | /// 74 | /// Changing this is not recommended since the `geopolars` crates assumes geometries will be stored in the `geometry` column. 75 | pub geometry_column_name: Option<&'a str>, 76 | 77 | /// The Geometry format to use, defaults to WKB. In the future, this will default to GeoArrow format. 78 | pub geometry_format: GeometryFormat, 79 | 80 | /// Stop reading after this many features. If None, all features will be read. 81 | pub truncating_limit: Option, 82 | 83 | /// The maximum number of features to read. If this limit is surpassed, an error will be returned. 84 | pub erroring_limit: Option, 85 | 86 | /// Start reading features at this offset. 87 | pub offset: Option, 88 | } 89 | 90 | /// Parameters to configure the conversion of a Polars DataFrame to a GDAL dataset. 91 | #[derive(Debug, Default)] 92 | pub struct WriteParams<'a> { 93 | /// For multi-layer files, the specific layer to read. If None, the first layer will be read. 94 | pub layer_name: Option<&'a str>, 95 | 96 | /// The Geometry colum name. By default `geomery` will be used. 97 | pub geometry_column_name: Option<&'a str>, 98 | 99 | /// The Geometry format to use, defaults to WKB. In the future, this will default to GeoArrow format. 100 | pub geometry_format: GeometryFormat, 101 | 102 | /// The Feature ID column name. 103 | pub fid_column_name: Option<&'a str>, 104 | 105 | /// The SRS of the newly created layer, or `None` for no SRS. 106 | pub srs: Option<&'a SpatialRef>, 107 | 108 | /// The type of geometry for the new layer, or `None` to auto-detect the geometry type. 109 | pub geometry_type: Option, 110 | 111 | /// Additional driver-specific options to pass to GDAL, in the form `name=value`. 112 | pub options: Option<&'a [&'a str]>, 113 | } 114 | 115 | impl<'a> Into> for &ReadParams<'a> { 116 | fn into(self) -> gdal::DatasetOptions<'a> { 117 | gdal::DatasetOptions { 118 | open_flags: self.open_flags, 119 | allowed_drivers: self.allowed_drivers, 120 | open_options: self.open_options, 121 | sibling_files: self.sibling_files, 122 | } 123 | } 124 | } 125 | 126 | /// The geometry format to use when reading or writing to the dataframe. 127 | /// 128 | /// Defaults to WKB, in the future this default will change to GeoArrow format 129 | #[derive(Debug, Clone, Copy)] 130 | pub enum GeometryFormat { 131 | /// Write the geometry as WKB (Well Known Binary) format. 132 | WKB, 133 | 134 | /// Write the geometry as GeoJSON format. 135 | GeoJson, 136 | 137 | /// Write the geometry as GeoJSON format. 138 | WKT, 139 | } 140 | 141 | impl Default for GeometryFormat { 142 | fn default() -> Self { 143 | Self::WKB 144 | } 145 | } 146 | 147 | impl Into for GeometryFormat { 148 | fn into(self) -> UnprocessedDataType { 149 | match self { 150 | Self::WKB => UnprocessedDataType::GeometryWKB, 151 | Self::GeoJson => UnprocessedDataType::String, 152 | Self::WKT => UnprocessedDataType::String, 153 | } 154 | } 155 | } 156 | 157 | /// Given some raw bytes, create a dataframe. 158 | /// 159 | /// Formats supported include GeoJSON, Shapefile, GPKG, and others. 160 | /// See [https://gdal.org/drivers/vector/index.html](https://gdal.org/drivers/vector/index.html) for a full list of supported formats. 161 | /// Some formats require additional libraries to be installed. 162 | /// 163 | /// Adding a filename hint can be very helpful in allowing GDAL to properly parse the datastream. 164 | /// For example, zipped shapefiles can't be parsed without a filename hint in the form of "filename.shp.zip". 165 | /// 166 | /// # Example 167 | /// ``` # ignore 168 | /// use polars_gdal::df_from_bytes; 169 | /// 170 | /// let geojson = r#"{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"foo"},"geometry":{"type":"Point","coordinates":[1,2]}},{"type":"Feature","properties":{"name":"bar"},"geometry":{"type":"Point","coordinates":[3,4]}}]}"#.as_bytes(); 171 | /// let df = df_from_bytes(geojson, None).unwrap(); 172 | /// println!("{}", df); 173 | /// ``` 174 | pub fn df_from_bytes( 175 | data: &[u8], 176 | filename_hint: Option<&str>, 177 | params: Option, 178 | ) -> Result { 179 | use gdal_sys::VSIFCloseL; 180 | use gdal_sys::VSIFileFromMemBuffer; 181 | use std::ffi::c_char; 182 | use std::ffi::CStr; 183 | use std::ffi::CString; 184 | 185 | fn _last_null_pointer_err(method_name: &'static str) -> GdalError { 186 | let last_err_msg = _string(unsafe { gdal_sys::CPLGetLastErrorMsg() }); 187 | unsafe { gdal_sys::CPLErrorReset() }; 188 | GdalError::NullPointer { 189 | method_name, 190 | msg: last_err_msg, 191 | } 192 | } 193 | 194 | fn _string(raw_ptr: *const c_char) -> String { 195 | let c_str = unsafe { CStr::from_ptr(raw_ptr) }; 196 | c_str.to_string_lossy().into_owned() 197 | } 198 | 199 | // Parse params and get defaults 200 | let params = params.unwrap_or_default(); 201 | let gdal_options: gdal::DatasetOptions = (¶ms).into(); 202 | let filename_hint = filename_hint.unwrap_or("layer"); 203 | 204 | // Do some safety checks that are requied for the safety of the following unsafe parts 205 | if data.is_empty() { 206 | return Err(Error::EmptyData); 207 | } 208 | if params.open_flags & gdal::GdalOpenFlags::GDAL_OF_READONLY 209 | != gdal::GdalOpenFlags::GDAL_OF_READONLY 210 | { 211 | return Err(Error::ReadonlyMustSet); 212 | } 213 | if params.open_flags & gdal::GdalOpenFlags::GDAL_OF_UPDATE 214 | == gdal::GdalOpenFlags::GDAL_OF_UPDATE 215 | { 216 | return Err(Error::UpdateNotSupported); 217 | } 218 | 219 | // Generate a safe path to the data that is exclusive to this process-id and uses the filename hint 220 | static DF_FROM_BYTS_MEM_FILE_INCREMENTOR: AtomicU64 = AtomicU64::new(0); 221 | let input_mem_path = format!( 222 | "/vsimem/polars_gdal/df_from_bytes/{}/{}/{}", 223 | std::process::id(), 224 | DF_FROM_BYTS_MEM_FILE_INCREMENTOR.fetch_add(1, Ordering::SeqCst), 225 | filename_hint 226 | ); 227 | 228 | // Call into the C function VSIFileFromMemBuffer 229 | // SAFETY: VSIFileFromMemBuffer accepts a pointer to mutable data because in other circumstances it can be used to write data. 230 | // However, we're ensuring that it's only opened in read-only mode, which allows us to safely coerce a immutable &[u8] to a *mut u8. 231 | let path = CString::new(input_mem_path.as_bytes()).unwrap(); 232 | let ptr = data.as_ptr() as *mut u8; 233 | let handle = 234 | unsafe { VSIFileFromMemBuffer(path.as_ptr(), ptr, data.len() as u64, true as i32) }; 235 | if handle.is_null() { 236 | return Err(_last_null_pointer_err("VSIGetMemFileBuffer").into()); 237 | } 238 | 239 | // Load the dataset and layer from the VSI file handler 240 | let dataset = gdal::Dataset::open_ex(&input_mem_path, gdal_options)?; 241 | let mut layer = if let Some(layer_name) = params.layer_name { 242 | dataset.layer_by_name(layer_name)? 243 | } else if let Some(layer_index) = params.layer_index { 244 | dataset.layer(layer_index as isize)? 245 | } else { 246 | dataset.layer(0)? 247 | }; 248 | 249 | // Read the dataframe out of the layer 250 | let df = df_from_layer(&mut layer, Some(params)); 251 | 252 | // Release the VSI handle 253 | unsafe { 254 | VSIFCloseL(handle); 255 | } 256 | 257 | // Return the dataframe 258 | df 259 | } 260 | 261 | /// Given a filepath or a URI, read the resource into a dataframe. 262 | /// 263 | /// The simplest resource is a file on the local filesystem, in which case we would simply pass in a filepath. 264 | /// Fetching resources over http(s) is supported using a URL. 265 | /// Connecting to PostGIS is supported using a `postgres://user:pass@host/dbname` URI in combination with setting `Params::layer_name` to the name of the table. 266 | /// 267 | /// Formats supported include GeoJSON, Shapefile, SpatialLite database, KML, and others. 268 | /// See [https://gdal.org/drivers/vector/index.html](https://gdal.org/drivers/vector/index.html) for a full list of supported formats. 269 | /// Some formats require additional libraries to be installed. 270 | /// 271 | /// # Local file example 272 | /// ``` # ignore 273 | /// use polars_gdal::df_from_resource; 274 | /// let df = df_from_resource("my_shapefile.shp", None).unwrap(); 275 | /// println!("{}", df); 276 | /// ``` 277 | /// 278 | /// # Remote file example 279 | /// ``` # ignore 280 | /// use polars_gdal::df_from_resource; 281 | /// let df = df_from_resource("https://raw.githubusercontent.com/ebrelsford/geojson-examples/master/queens.geojson", None).unwrap(); 282 | /// println!("{}", df); 283 | /// ``` 284 | /// 285 | /// # PostGIS example 286 | /// ``` # ignore 287 | /// use polars_gdal::{df_from_resource, Params}; 288 | /// 289 | /// let mut params = crate::Params::default(); 290 | /// params.layer_name = Some("some_table_name"); 291 | /// let df = df_from_resource("postgresql://user:pass@hostname/dbname", Some(params)).unwrap(); 292 | /// println!("{}", df); 293 | /// ``` 294 | pub fn df_from_resource>( 295 | path: P, 296 | params: Option, 297 | ) -> Result { 298 | let params = params.unwrap_or_default(); 299 | let gdal_options: gdal::DatasetOptions = (¶ms).into(); 300 | 301 | let dataset = Dataset::open_ex(path, gdal_options)?; 302 | 303 | let mut layer = if let Some(layer_name) = params.layer_name { 304 | dataset.layer_by_name(layer_name)? 305 | } else if let Some(layer_index) = params.layer_index { 306 | dataset.layer(layer_index as isize)? 307 | } else { 308 | dataset.layer(0)? 309 | }; 310 | 311 | df_from_layer(&mut layer, Some(params)) 312 | } 313 | 314 | /// Given a GDAL layer, create a dataframe. 315 | /// 316 | /// This can be used to manually open a GDAL Dataset, and then create a dataframe from a specific layer. 317 | /// This is most useful when you want to preprocess the Dataset in some way before creating a dataframe, 318 | /// for example by applying a SQL filter or a spatial filter. 319 | /// 320 | /// # Example 321 | /// ```rust # ignore 322 | /// use polars_gdal::{df_from_layer, gdal}; 323 | /// use gdal::vector::sql; 324 | /// 325 | /// let dataset = gdal::Dataset::open("my_shapefile.shp")?; 326 | /// let query = "SELECT kind, is_bridge, highway FROM my_shapefile WHERE highway = 'pedestrian'"; 327 | /// let mut result_set = dataset.execute_sql(query, None, sql::Dialect::DEFAULT).unwrap().unwrap(); 328 | /// 329 | /// let df = df_from_layer(result_set.deref_mut(), None).unwrap(); 330 | /// println!("{}", df); 331 | /// ``` 332 | pub fn df_from_layer<'l>( 333 | layer: &mut gdal::vector::Layer<'l>, 334 | params: Option, 335 | ) -> Result { 336 | let feat_count = layer.try_feature_count(); 337 | 338 | let params = params.unwrap_or_default(); 339 | let fid_column_name = params.fid_column_name; 340 | let geometry_column_name = params.geometry_column_name.unwrap_or("geometry"); 341 | let geometry_format = params.geometry_format; 342 | 343 | let mut numkeys = 0; 344 | 345 | let mut field_series_map = HashMap::new(); 346 | let mut geom_series = UnprocessedSeries { 347 | name: geometry_column_name.to_owned(), 348 | nullable: false, 349 | datatype: geometry_format.into(), 350 | data: Vec::with_capacity(feat_count.unwrap_or(100) as usize), 351 | }; 352 | 353 | let mut fid_series = UnprocessedSeries { 354 | name: fid_column_name.unwrap_or("").to_owned(), 355 | nullable: false, 356 | datatype: UnprocessedDataType::Fid, 357 | data: Vec::with_capacity(feat_count.unwrap_or(100) as usize), 358 | }; 359 | 360 | for (idx, feature) in &mut layer.features().enumerate() { 361 | if let Some(offset) = params.offset { 362 | if idx < offset { 363 | continue; 364 | } 365 | } 366 | if let Some(limit) = params.truncating_limit { 367 | if idx >= limit { 368 | break; 369 | } 370 | } 371 | if let Some(limit) = params.erroring_limit { 372 | if idx >= limit { 373 | return Err(Error::FeatureLimitReached(limit)); 374 | } 375 | } 376 | 377 | // Process FID 378 | if fid_column_name.is_some() { 379 | if let Some(fid) = feature.fid() { 380 | fid_series.data.push(GdalData::Fid(fid)); 381 | } 382 | } 383 | 384 | // Process Geometry 385 | let geometry = feature.geometry(); 386 | if geometry.is_empty() { 387 | geom_series.data.push(GdalData::Value(None)); 388 | } else { 389 | match geometry_format { 390 | GeometryFormat::WKB => { 391 | let wkb = geometry.wkb()?; 392 | geom_series.data.push(GdalData::Geometry(wkb)); 393 | } 394 | GeometryFormat::WKT => { 395 | let wkt = geometry.wkt()?; 396 | geom_series 397 | .data 398 | .push(GdalData::Value(Some(GdalValue::StringValue(wkt)))); 399 | } 400 | GeometryFormat::GeoJson => { 401 | let geojson = geometry.json()?; 402 | geom_series 403 | .data 404 | .push(GdalData::Value(Some(GdalValue::StringValue(geojson)))); 405 | } 406 | } 407 | } 408 | 409 | // Process all data fields 410 | let mut field_count = 0; 411 | for (name, value) in feature.fields() { 412 | let entry = field_series_map.entry(name.clone()).or_insert_with(|| { 413 | let mut series = UnprocessedSeries { 414 | name: name.clone(), 415 | nullable: false, 416 | datatype: gdal_type_to_unprocessed_type(&value), 417 | data: Vec::with_capacity(feat_count.unwrap_or(100) as usize), 418 | }; 419 | 420 | // Fill data with nulls for past features 421 | if idx != 0 { 422 | for _ in 0..idx { 423 | series.data.push(GdalData::Value(None)); 424 | } 425 | series.nullable = true; 426 | } 427 | numkeys += 1; 428 | series 429 | }); 430 | 431 | if value.is_none() && !entry.nullable { 432 | entry.nullable = true; 433 | } 434 | 435 | entry.data.push(GdalData::Value(value)); 436 | field_count += 1; 437 | } 438 | 439 | // If field_count doesn't match numkeys, top up any missing fields with nulls 440 | if field_count != numkeys { 441 | for entry in field_series_map.values_mut() { 442 | if entry.data.len() < idx + 1 { 443 | entry.data.push(GdalData::Value(None)); 444 | 445 | if !entry.nullable { 446 | entry.nullable = true; 447 | } 448 | } 449 | } 450 | } 451 | } 452 | 453 | // If there's naming conflicts, rename conflicting fields 454 | if let Some(mut conflicting_series) = field_series_map.remove(geometry_column_name) { 455 | conflicting_series.name = format!("{}_original", geometry_column_name); 456 | field_series_map.insert(conflicting_series.name.clone(), conflicting_series); 457 | } 458 | if let Some(fid_column_name) = fid_column_name { 459 | if let Some(mut conflicting_series) = field_series_map.remove(fid_column_name) { 460 | conflicting_series.name = format!("{}_original", fid_column_name); 461 | field_series_map.insert(conflicting_series.name.clone(), conflicting_series); 462 | } 463 | } 464 | 465 | // Process the HashMap into a Vec of Series 466 | let mut series_vec = Vec::with_capacity(field_series_map.len() + 2); 467 | 468 | // Process the Feature ID first 469 | if fid_column_name.is_some() { 470 | series_vec.push(fid_series.process()); 471 | } 472 | 473 | // Process the field series 474 | for (_, unprocessed_series) in field_series_map { 475 | if let UnprocessedDataType::Null = unprocessed_series.datatype { 476 | continue; 477 | } 478 | series_vec.push(unprocessed_series.process()); 479 | } 480 | 481 | // Process the geometry series 482 | series_vec.push(geom_series.process()); 483 | 484 | Ok(DataFrame::new(series_vec)?) 485 | } 486 | 487 | /// Given a dataframe, create a GDAL layer 488 | /// 489 | /// Given a pre-existing GDAL Dataset, create a new layer from a Polars dataframe. 490 | /// 491 | /// # Example 492 | /// ```rust # ignore 493 | /// let df: DataFrame = ...; 494 | /// let json_driver = gdal::DriverManager::get_driver_by_name("GeoJSON")?; 495 | /// let mut dataset: gldal::Dataset = json_driver.create_vector_only("my_json_file.json")?; 496 | /// layer_from_df(&df, &mut dataset)?; 497 | /// dataset.flush_cache(); 498 | /// ``` 499 | pub fn gdal_layer_from_df<'a>( 500 | df: &DataFrame, 501 | dataset: &'a mut gdal::Dataset, 502 | params: Option, 503 | ) -> Result, Error> { 504 | let params = params.unwrap_or_default(); 505 | 506 | let geometry_column_name = params.geometry_column_name.unwrap_or("geometry"); 507 | let row_count = df.height(); 508 | 509 | if row_count == 0 { 510 | return Err(Error::EmptyDataframe); 511 | } 512 | 513 | // All prop columns as (col-index, name, field-type) 514 | let props: Vec<(usize, &str, OGRFieldType::Type)> = df 515 | .get_columns() 516 | .iter() 517 | .enumerate() 518 | .map(|(i, c)| (i, c.name(), polars_type_id_to_gdal_type_id(c.dtype()))) 519 | .filter(|(_i, n, t)| *n != geometry_column_name && t.is_some()) 520 | .map(|(i, n, t)| (i, n, t.unwrap())) 521 | .collect::>(); 522 | 523 | let geom_idx = df 524 | .find_idx_by_name(geometry_column_name) 525 | .ok_or_else(|| Error::CannotFindGeometryColumn(geometry_column_name.to_owned()))?; 526 | 527 | let mut row = df.get_row(0)?; 528 | 529 | let geom_type = match params.geometry_type { 530 | Some(geom_type) => geom_type, 531 | None => { 532 | let first_geom = polars_anyvalue_to_gdal_geometry( 533 | &row.0[geom_idx], 534 | params.geometry_format, 535 | geometry_column_name, 536 | ) 537 | .map_err(|e| Error::UnableToDetermineGeometryType(format!("{}", e)))?; 538 | first_geom.geometry_type() 539 | } 540 | }; 541 | 542 | let mut layer = dataset.create_layer(LayerOptions { 543 | name: geometry_column_name, 544 | srs: params.srs, 545 | ty: geom_type, 546 | options: params.options, 547 | })?; 548 | 549 | let fields_def: Vec<(&str, OGRFieldType::Type)> = 550 | { props.iter().map(|(_, n, t)| (*n, *t)).collect() }; 551 | layer.create_defn_fields(&fields_def)?; 552 | 553 | for idx in 0..row_count { 554 | df.get_row_amortized(idx, &mut row)?; 555 | let geom = polars_anyvalue_to_gdal_geometry( 556 | &row.0[geom_idx], 557 | params.geometry_format, 558 | geometry_column_name, 559 | )?; 560 | let mut field_values = Vec::with_capacity(props.len()); 561 | let mut field_names = Vec::with_capacity(props.len()); 562 | for (i, n, _) in props.iter() { 563 | let val = polars_value_to_gdal_value(&row.0[*i]); 564 | if let Some(val) = val { 565 | field_values.push(val); 566 | field_names.push(*n); 567 | } 568 | } 569 | layer.create_feature_fields(geom, &field_names, &field_values)? 570 | } 571 | 572 | Ok(layer) 573 | } 574 | 575 | /// Given a dataframe, get bytes in a GDAL geospatial format 576 | /// 577 | /// Currently, only vector drivers are supported. For raster support, use `gdal_layer_from_df`. 578 | /// 579 | /// # Example 580 | /// ```rust # ignore 581 | /// let df: DataFrame = ...; 582 | /// let json_driver = gdal::DriverManager::get_driver_by_name("GeoJSON")?; 583 | /// let geojson_bytes = gdal_bytes_from_df(&df, &json_driver, None)?; 584 | /// println!("{}", String::from_utf8(geojson_bytes)?); 585 | /// ``` 586 | pub fn gdal_bytes_from_df( 587 | df: &DataFrame, 588 | driver: &gdal::Driver, 589 | params: Option, 590 | ) -> Result, Error> { 591 | // Generate a safe path to the data that is exclusive to this process-id and uses the filename hint 592 | static BYTES_FROM_DF_MEM_FILE_INCREMENTOR: AtomicU64 = AtomicU64::new(0); 593 | let input_mem_path = format!( 594 | "/vsimem/polars_gdal/bytes_from_df/{}/{}/layer", 595 | std::process::id(), 596 | BYTES_FROM_DF_MEM_FILE_INCREMENTOR.fetch_add(1, Ordering::SeqCst), 597 | ); 598 | 599 | // TODO: Support rasters 600 | let mut dataset = driver.create_vector_only(&input_mem_path)?; 601 | 602 | let _layer = gdal_layer_from_df(df, &mut dataset, params)?; 603 | dataset.flush_cache(); 604 | 605 | let mut owned_bytes = vec![]; 606 | gdal::vsi::call_on_mem_file_bytes(&input_mem_path, |bytes| { 607 | owned_bytes.extend_from_slice(bytes) 608 | })?; 609 | 610 | Ok(owned_bytes) 611 | } 612 | 613 | /// Given a dataframe, write to a GDAL resource path and return the dataset. 614 | /// 615 | /// If given a path to local disk, the file will be written to local disk. 616 | /// If given a URI for a GDAL supported remote resource, the dataframe will be written to that resource in the specified geospatial format. 617 | /// 618 | /// Currently, only vector drivers are supported. For raster support, use `gdal_layer_from_df`. 619 | /// 620 | /// # Example 621 | /// ```rust # ignore 622 | /// use polars_gdal::{gdal, gdal_resource_from_df}; 623 | /// 624 | /// let df: DataFrame = ...; 625 | /// let shapefule_driver = gdal::DriverManager::get_driver_by_name("ESRI Shapefile")?; 626 | /// let dataset = gdal_resource_from_df(&df, &shapefule_driver, "/some/path/my_shapefile.shp", None)?; 627 | /// println!("{}", String::from_utf8(geojson_bytes)?); 628 | /// ``` 629 | pub fn gdal_resource_from_df>( 630 | df: &DataFrame, 631 | driver: &gdal::Driver, 632 | path: P, 633 | params: Option, 634 | ) -> Result { 635 | // TODO: Support rasters 636 | let mut dataset = driver.create_vector_only(path)?; 637 | 638 | let _layer = gdal_layer_from_df(df, &mut dataset, params)?; 639 | dataset.flush_cache(); 640 | 641 | Ok(dataset) 642 | } 643 | 644 | fn polars_value_to_gdal_value( 645 | polars_val: &polars::datatypes::AnyValue, 646 | ) -> Option { 647 | match polars_val { 648 | AnyValue::Int8(val) => Some(GdalValue::IntegerValue(*val as i32)), 649 | AnyValue::Int16(val) => Some(GdalValue::IntegerValue(*val as i32)), 650 | AnyValue::Int32(val) => Some(GdalValue::IntegerValue(*val)), 651 | AnyValue::Int64(val) => Some(GdalValue::Integer64Value(*val)), 652 | AnyValue::UInt8(val) => Some(GdalValue::IntegerValue(*val as i32)), 653 | AnyValue::UInt16(val) => Some(GdalValue::IntegerValue(*val as i32)), 654 | AnyValue::UInt32(val) => Some(GdalValue::IntegerValue(*val as i32)), 655 | AnyValue::UInt64(val) => Some(GdalValue::Integer64Value(*val as i64)), 656 | AnyValue::Float32(val) => Some(GdalValue::RealValue(*val as f64)), 657 | AnyValue::Float64(val) => Some(GdalValue::RealValue(*val)), 658 | AnyValue::Utf8(val) => Some(GdalValue::StringValue(val.to_string())), 659 | AnyValue::Utf8Owned(val) => Some(GdalValue::StringValue(val.to_string())), 660 | AnyValue::Boolean(val) => Some(GdalValue::IntegerValue(*val as i32)), 661 | AnyValue::Date(_val) => todo!(), 662 | AnyValue::Time(val) => Some(GdalValue::Integer64Value(*val)), 663 | AnyValue::Datetime(_val, _unit, _opts) => todo!(), 664 | AnyValue::Duration(val, _) => Some(GdalValue::Integer64Value(*val)), 665 | AnyValue::List(_) => todo!(), 666 | AnyValue::Null => None, 667 | AnyValue::Binary(_) => None, 668 | AnyValue::BinaryOwned(_) => None, 669 | } 670 | } 671 | 672 | fn polars_type_id_to_gdal_type_id(polars_type: &DataType) -> Option { 673 | match polars_type { 674 | DataType::Int8 => Some(OGRFieldType::OFTInteger), 675 | DataType::Int16 => Some(OGRFieldType::OFTInteger), 676 | DataType::Int32 => Some(OGRFieldType::OFTInteger), 677 | DataType::Int64 => Some(OGRFieldType::OFTInteger64), 678 | DataType::UInt8 => Some(OGRFieldType::OFTInteger), 679 | DataType::UInt16 => Some(OGRFieldType::OFTInteger), 680 | DataType::UInt32 => Some(OGRFieldType::OFTInteger), 681 | DataType::UInt64 => Some(OGRFieldType::OFTInteger64), 682 | DataType::Float32 => Some(OGRFieldType::OFTReal), 683 | DataType::Float64 => Some(OGRFieldType::OFTReal), 684 | DataType::Utf8 => Some(OGRFieldType::OFTString), 685 | DataType::Boolean => Some(OGRFieldType::OFTInteger), 686 | DataType::Date => Some(OGRFieldType::OFTDate), 687 | DataType::Time => Some(OGRFieldType::OFTInteger64), 688 | DataType::Datetime(_, _) => Some(OGRFieldType::OFTDateTime), 689 | DataType::Duration(_) => Some(OGRFieldType::OFTInteger64), 690 | DataType::Binary => Some(OGRFieldType::OFTBinary), 691 | DataType::List(dtype) => match dtype.as_ref() { 692 | DataType::Int8 => Some(OGRFieldType::OFTIntegerList), 693 | DataType::Int16 => Some(OGRFieldType::OFTIntegerList), 694 | DataType::Int32 => Some(OGRFieldType::OFTIntegerList), 695 | DataType::Int64 => Some(OGRFieldType::OFTInteger64List), 696 | DataType::UInt8 => Some(OGRFieldType::OFTIntegerList), 697 | DataType::UInt16 => Some(OGRFieldType::OFTIntegerList), 698 | DataType::UInt32 => Some(OGRFieldType::OFTIntegerList), 699 | DataType::UInt64 => Some(OGRFieldType::OFTInteger64List), 700 | DataType::Utf8 => Some(OGRFieldType::OFTStringList), 701 | _ => None, 702 | }, 703 | _ => None, 704 | } 705 | } 706 | 707 | fn polars_anyvalue_to_gdal_geometry( 708 | anyval: &AnyValue, 709 | geometry_format: GeometryFormat, 710 | geom_col: &str, 711 | ) -> Result { 712 | match geometry_format { 713 | GeometryFormat::WKB => match anyval { 714 | AnyValue::Binary(geom) => Ok(gdal::vector::Geometry::from_wkb(geom)?), 715 | _ => { 716 | Err(Error::GeometryColumnWrongType( 717 | geom_col.to_owned(), 718 | polars::datatypes::DataType::Binary, 719 | anyval.dtype(), 720 | )) 721 | } 722 | }, 723 | GeometryFormat::WKT => match anyval { 724 | AnyValue::Utf8(geom) => Ok(gdal::vector::Geometry::from_wkt(geom)?), 725 | AnyValue::Utf8Owned(geom) => Ok(gdal::vector::Geometry::from_wkt(geom.as_str())?), 726 | _ => { 727 | Err(Error::GeometryColumnWrongType( 728 | geom_col.to_owned(), 729 | polars::datatypes::DataType::Utf8, 730 | anyval.dtype(), 731 | )) 732 | } 733 | }, 734 | GeometryFormat::GeoJson => { 735 | todo!("TODO: Support GeoJSON via use of geozero"); 736 | } 737 | } 738 | } 739 | -------------------------------------------------------------------------------- /src/test.rs: -------------------------------------------------------------------------------- 1 | 2 | use super::*; 3 | 4 | #[test] 5 | fn test_df_from_resource() { 6 | // Test GeoJSON 7 | let _df = df_from_resource( 8 | "test_data/us_states.feature_collection.implicit_4326.json", 9 | None, 10 | ) 11 | .unwrap(); 12 | //println!("{}", _df); 13 | 14 | // Test GeoJSON 15 | let _df = df_from_resource( 16 | "test_data/global_large_lakes.feature_collection.implicit_4326.json", 17 | None, 18 | ) 19 | .unwrap(); 20 | //println!("{}", _df); 21 | 22 | // Test Shapefile 23 | let _df = df_from_resource("test_data/stations.shp", None).unwrap(); 24 | // println!("{}", _df); 25 | 26 | // Test CSV with options 27 | //let mut params = crate::ReadParams::default(); 28 | //let csv_parsing_options = [ 29 | // "EMPTY_STRING_AS_NULL=YES", 30 | // "KEEP_GEOM_COLUMNS=NO", 31 | // "X_POSSIBLE_NAMES=Lon*", 32 | // "Y_POSSIBLE_NAMES=Lat*", 33 | //]; 34 | //params.open_options = Some(&csv_parsing_options); 35 | let _df = df_from_resource("test_data/lat_lon_countries.csv", None).unwrap(); 36 | // println!("{}", _df); 37 | 38 | // Test SpatialLite 39 | let _df = df_from_resource("test_data/test_spatialite.sqlite", None).unwrap(); 40 | // println!("{}", _df); 41 | } 42 | 43 | #[test] 44 | fn test_df_from_bytes() { 45 | let geojson = r#"{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"foo"},"geometry":{"type":"Point","coordinates":[1,2]}},{"type":"Feature","properties":{"name":"bar"},"geometry":{"type":"Point","coordinates":[3,4]}}]}"#.as_bytes(); 46 | let _df = df_from_bytes(geojson, None, None).unwrap(); 47 | //println!("{}", _df); 48 | 49 | let shapefile = include_bytes!("../test_data/stations_shapefile.shp.zip"); 50 | let _df = df_from_bytes(shapefile, Some("stations_shapefile.shp.zip"), None).unwrap(); 51 | //println!("{}", _df); 52 | } 53 | 54 | #[test] 55 | fn test_df_from_layer() { 56 | let geojson = r#"{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"foo"},"geometry":{"type":"Point","coordinates":[1,2]}},{"type":"Feature","properties":{"name":"bar"},"geometry":{"type":"Point","coordinates":[3,4]}}]}"#.as_bytes().to_vec(); 57 | 58 | let input_mem_path = format!("/vsimem/polars_gdal/test_geojson/layer"); 59 | gdal::vsi::create_mem_file(&input_mem_path, geojson).unwrap(); 60 | let dataset = gdal::Dataset::open(&input_mem_path).unwrap(); 61 | 62 | let query = "SELECT * FROM layer WHERE name = 'foo'"; 63 | let mut result_set = dataset 64 | .execute_sql(query, None, gdal::vector::sql::Dialect::DEFAULT) 65 | .unwrap() 66 | .unwrap(); 67 | 68 | let _df = df_from_layer(&mut result_set, None).unwrap(); 69 | //println!("{}", _df); 70 | } 71 | 72 | #[allow(dead_code)] 73 | fn test_postgis() { 74 | let mut params = crate::ReadParams::default(); 75 | params.layer_name = Some("parcel_polygon"); 76 | params.truncating_limit = Some(100); 77 | 78 | let df = df_from_resource( 79 | "postgresql://postgres:postgres@localhost/carbon", 80 | Some(params), 81 | ) 82 | .unwrap(); 83 | println!("{}", df); 84 | } 85 | 86 | #[allow(dead_code)] 87 | fn test_https() { 88 | let df = df_from_resource( 89 | "https://raw.githubusercontent.com/ebrelsford/geojson-examples/master/queens.geojson", 90 | None, 91 | ) 92 | .unwrap(); 93 | println!("{}", df); 94 | } 95 | 96 | #[test] 97 | fn test_pure_gdal() { 98 | use crate::gdal; 99 | let dataset = gdal::Dataset::open("test_data/stations_shapefile.shp.zip").unwrap(); 100 | 101 | let json_driver = gdal::DriverManager::get_driver_by_name("GeoJSON").unwrap(); 102 | 103 | gdal::vsi::create_mem_file("/vsimem/polars_gdal/test_geojson/layer/", vec![]).unwrap(); 104 | 105 | let mut json_dataset = dataset 106 | .create_copy( 107 | &json_driver, 108 | "/vsimem/polars_gdal/test_geojson/layer/test_geojson.json", 109 | &[], 110 | ) 111 | .unwrap(); 112 | json_dataset.flush_cache(); 113 | 114 | let mut json_bytes = vec![]; 115 | gdal::vsi::call_on_mem_file_bytes("/vsimem/polars_gdal/test_geojson/layer/test_geojson.json", |bytes| { 116 | json_bytes.extend_from_slice(bytes); 117 | }).unwrap(); 118 | 119 | // Print JSON bytes as a string 120 | // println!("{}", String::from_utf8(json_bytes).unwrap()); 121 | } 122 | 123 | #[test] 124 | fn test_gdal_layer_from_df() { 125 | use std::io::Cursor; 126 | use polars::prelude::IpcReader; 127 | 128 | let df_bytes = include_bytes!("../test_data/cities.arrow"); 129 | let cursor = Cursor::new(df_bytes); 130 | 131 | let df = IpcReader::new(cursor).finish().unwrap(); 132 | 133 | let json_driver = gdal::DriverManager::get_driver_by_name("GeoJson").unwrap(); 134 | let mut dataset = json_driver.create_vector_only("/vsimem/polars_gdal/test_layer_from_df/layer.json").unwrap(); 135 | 136 | let _layer = gdal_layer_from_df(&df, &mut dataset, None).unwrap(); 137 | dataset.flush_cache(); 138 | 139 | let mut json_bytes = vec![]; 140 | gdal::vsi::call_on_mem_file_bytes("/vsimem/polars_gdal/test_layer_from_df/layer.json", |bytes| { 141 | json_bytes.extend_from_slice(bytes); 142 | }).unwrap(); 143 | // println!("{}", String::from_utf8(json_bytes).unwrap()); 144 | } 145 | 146 | #[test] 147 | fn test_gdal_bytes_from_df() { 148 | use std::io::Cursor; 149 | use polars::prelude::IpcReader; 150 | 151 | let df_bytes = include_bytes!("../test_data/cities.arrow"); 152 | let cursor = Cursor::new(df_bytes); 153 | 154 | let df = IpcReader::new(cursor).finish().unwrap(); 155 | let json_driver = gdal::DriverManager::get_driver_by_name("GeoJson").unwrap(); 156 | let _geojson_bytes = gdal_bytes_from_df(&df, &json_driver, None).unwrap(); 157 | // println!("{}", String::from_utf8(_geojson_bytes).unwrap()); 158 | } 159 | 160 | 161 | -------------------------------------------------------------------------------- /src/unprocessed_series.rs: -------------------------------------------------------------------------------- 1 | use gdal::vector::FieldValue as GdalValue; 2 | use polars::export::chrono; 3 | use polars::prelude::*; 4 | 5 | #[derive(Debug)] 6 | pub(crate) enum GdalData { 7 | Value(Option), 8 | Geometry(Vec), 9 | Fid(u64), 10 | } 11 | 12 | #[derive(Debug)] 13 | pub(crate) enum UnprocessedDataType { 14 | Integer, 15 | IntegerList, 16 | Integer64, 17 | Integer64List, 18 | String, 19 | StringList, 20 | Real, 21 | RealList, 22 | Date, 23 | DateTime, 24 | Null, 25 | GeometryWKB, 26 | Fid, 27 | } 28 | 29 | pub(crate) fn gdal_type_to_unprocessed_type( 30 | gdal_type: &Option, 31 | ) -> UnprocessedDataType { 32 | match gdal_type { 33 | Some(gdal::vector::FieldValue::IntegerValue(_)) => UnprocessedDataType::Integer, 34 | Some(gdal::vector::FieldValue::IntegerListValue(_)) => UnprocessedDataType::IntegerList, 35 | Some(gdal::vector::FieldValue::Integer64Value(_)) => UnprocessedDataType::Integer64, 36 | Some(gdal::vector::FieldValue::Integer64ListValue(_)) => UnprocessedDataType::Integer64List, 37 | Some(gdal::vector::FieldValue::StringValue(_)) => UnprocessedDataType::String, 38 | Some(gdal::vector::FieldValue::StringListValue(_)) => UnprocessedDataType::StringList, 39 | Some(gdal::vector::FieldValue::RealValue(_)) => UnprocessedDataType::Real, 40 | Some(gdal::vector::FieldValue::RealListValue(_)) => UnprocessedDataType::RealList, 41 | Some(gdal::vector::FieldValue::DateValue(_)) => UnprocessedDataType::Date, 42 | Some(gdal::vector::FieldValue::DateTimeValue(_)) => UnprocessedDataType::DateTime, 43 | None => UnprocessedDataType::Null, 44 | } 45 | } 46 | 47 | pub(crate) struct UnprocessedSeries { 48 | pub(crate) name: String, 49 | pub(crate) datatype: UnprocessedDataType, 50 | pub(crate) nullable: bool, 51 | pub(crate) data: Vec, 52 | } 53 | 54 | impl UnprocessedSeries { 55 | pub(crate) fn process(self) -> Series { 56 | let mut series = if self.nullable { 57 | match self.datatype { 58 | UnprocessedDataType::String => { 59 | let ca: Utf8Chunked = self 60 | .data 61 | .into_iter() 62 | .map(|v| match v { 63 | GdalData::Value(Some(GdalValue::StringValue(val))) => Some(val), 64 | GdalData::Value(None) => None, 65 | _ => unreachable!( 66 | "geopadas_gdal: Unexpected non-string value `{:?}` in {}", 67 | &v, &self.name 68 | ), 69 | }) 70 | .collect(); 71 | ca.into_series() 72 | } 73 | UnprocessedDataType::Integer => { 74 | let vec: Vec> = self 75 | .data 76 | .into_iter() 77 | .map(|v| match v { 78 | GdalData::Value(Some(GdalValue::IntegerValue(val))) => Some(val), 79 | GdalData::Value(None) => None, 80 | _ => unreachable!( 81 | "geopadas_gdal: Unexpected non-i32 value `{:?}` in {}", 82 | &v, &self.name 83 | ), 84 | }) 85 | .collect(); 86 | Series::from_iter(vec) 87 | } 88 | UnprocessedDataType::Integer64 => { 89 | let vec: Vec> = self 90 | .data 91 | .into_iter() 92 | .map(|v| match v { 93 | GdalData::Value(Some(GdalValue::Integer64Value(val))) => Some(val), 94 | GdalData::Value(None) => None, 95 | _ => unreachable!( 96 | "geopadas_gdal: Unexpected non-i64 value `{:?}` in {}", 97 | &v, &self.name 98 | ), 99 | }) 100 | .collect(); 101 | Series::from_iter(vec) 102 | } 103 | UnprocessedDataType::Real => { 104 | let vec: Vec> = self 105 | .data 106 | .into_iter() 107 | .map(|v| match v { 108 | GdalData::Value(Some(GdalValue::RealValue(val))) => Some(val), 109 | GdalData::Value(None) => None, 110 | _ => unreachable!( 111 | "geopadas_gdal: Unexpected non-f64 value `{:?}` in {}", 112 | &v, &self.name 113 | ), 114 | }) 115 | .collect(); 116 | Series::from_iter(vec) 117 | } 118 | UnprocessedDataType::Date => { 119 | let vec: Vec> = self 120 | .data 121 | .into_iter() 122 | .map(|v| match v { 123 | GdalData::Value(Some(GdalValue::DateValue(val))) => { 124 | Some(val.naive_utc()) 125 | } 126 | GdalData::Value(None) => None, 127 | _ => unreachable!( 128 | "geopadas_gdal: Unexpected non-date value `{:?}` in {}", 129 | &v, &self.name 130 | ), 131 | }) 132 | .collect(); 133 | let ca = DateChunked::from_naive_date_options(&self.name, vec); 134 | ca.into_series() 135 | } 136 | UnprocessedDataType::DateTime => { 137 | let vec: Vec> = self 138 | .data 139 | .into_iter() 140 | .map(|v| match v { 141 | GdalData::Value(Some(GdalValue::DateTimeValue(val))) => { 142 | Some(val.naive_utc()) 143 | } 144 | GdalData::Value(None) => None, 145 | _ => unreachable!( 146 | "geopadas_gdal: Unexpected non-date value `{:?}` in {}", 147 | &v, &self.name 148 | ), 149 | }) 150 | .collect(); 151 | let ca = DatetimeChunked::from_naive_datetime_options(&self.name, vec, TimeUnit::Nanoseconds); 152 | ca.into_series() 153 | } 154 | UnprocessedDataType::GeometryWKB => { 155 | let ca: BinaryChunked = self 156 | .data 157 | .into_iter() 158 | .map(|v| match v { 159 | GdalData::Geometry(val) => Some(val), 160 | GdalData::Value(None) => None, 161 | _ => unreachable!( 162 | "geopadas_gdal: Unexpected non-geometry value `{:?}` in {}", 163 | &v, &self.name 164 | ), 165 | }) 166 | .collect(); 167 | ca.into_series() 168 | } 169 | UnprocessedDataType::Null => { 170 | panic!("geopolars_gdal: Unexpected null value in {}", &self.name) 171 | } 172 | _ => unimplemented!("geopolars_gdal: Error processing {} - Still need to implement Lists", self.name), 173 | } 174 | } else { 175 | match self.datatype { 176 | UnprocessedDataType::String => { 177 | let vec: Vec = self 178 | .data 179 | .into_iter() 180 | .map(|v| match v { 181 | GdalData::Value(Some(GdalValue::StringValue(val))) => val, 182 | _ => unreachable!( 183 | "geopadas_gdal: Unexpected non-string value `{:?}` in {}", 184 | &v, &self.name 185 | ), 186 | }) 187 | .collect(); 188 | Series::from_iter(vec) 189 | } 190 | UnprocessedDataType::Integer => { 191 | let vec: Vec = self 192 | .data 193 | .into_iter() 194 | .map(|v| match v { 195 | GdalData::Value(Some(GdalValue::IntegerValue(val))) => val, 196 | _ => unreachable!( 197 | "geopadas_gdal: Unexpected non-i32 value `{:?}` in {}", 198 | &v, &self.name 199 | ), 200 | }) 201 | .collect(); 202 | Series::from_iter(vec) 203 | } 204 | UnprocessedDataType::Integer64 => { 205 | let vec: Vec = self 206 | .data 207 | .into_iter() 208 | .map(|v| match v { 209 | GdalData::Value(Some(GdalValue::Integer64Value(val))) => val, 210 | _ => unreachable!( 211 | "geopadas_gdal: Unexpected non-i64 value `{:?}` in {}", 212 | &v, &self.name 213 | ), 214 | }) 215 | .collect(); 216 | Series::from_iter(vec) 217 | } 218 | UnprocessedDataType::Real => { 219 | let vec: Vec = self 220 | .data 221 | .into_iter() 222 | .map(|v| match v { 223 | GdalData::Value(Some(GdalValue::RealValue(val))) => val, 224 | _ => unreachable!( 225 | "geopadas_gdal: Unexpected non-f64 value `{:?}` in {}", 226 | &v, &self.name 227 | ), 228 | }) 229 | .collect(); 230 | Series::from_iter(vec) 231 | } 232 | UnprocessedDataType::Date => { 233 | let vec: Vec = self 234 | .data 235 | .into_iter() 236 | .map(|v| match v { 237 | GdalData::Value(Some(GdalValue::DateValue(val))) => val.naive_utc(), 238 | _ => unreachable!( 239 | "geopadas_gdal: Unexpected non-date value `{:?}` in {}", 240 | &v, &self.name 241 | ), 242 | }) 243 | .collect(); 244 | let ca = DateChunked::from_naive_date(&self.name, vec); 245 | ca.into_series() 246 | } 247 | UnprocessedDataType::DateTime => { 248 | let vec: Vec = self 249 | .data 250 | .into_iter() 251 | .map(|v| match v { 252 | GdalData::Value(Some(GdalValue::DateTimeValue(val))) => val.naive_utc(), 253 | _ => unreachable!( 254 | "geopadas_gdal: Unexpected non-date value `{:?}` in {}", 255 | &v, &self.name 256 | ), 257 | }) 258 | .collect(); 259 | let ca = DatetimeChunked::from_naive_datetime( 260 | &self.name, 261 | vec, 262 | TimeUnit::Nanoseconds, 263 | ); 264 | ca.into_series() 265 | } 266 | UnprocessedDataType::GeometryWKB => { 267 | let ca: BinaryChunked = self 268 | .data 269 | .into_iter() 270 | .map(|v| match v { 271 | GdalData::Geometry(val) => val, 272 | _ => unreachable!( 273 | "geopadas_gdal: Unexpected non-geometry value `{:?}` in {}", 274 | &v, &self.name 275 | ), 276 | }) 277 | .collect(); 278 | ca.into_series() 279 | } 280 | UnprocessedDataType::Fid => { 281 | let vec: Vec = self 282 | .data 283 | .into_iter() 284 | .map(|v| match v { 285 | GdalData::Fid(val) => val, 286 | _ => unreachable!( 287 | "geopadas_gdal: Unexpected non-u64 fid value `{:?}` in {}", 288 | &v, &self.name 289 | ), 290 | }) 291 | .collect(); 292 | Series::from_iter(vec) 293 | } 294 | UnprocessedDataType::Null => { 295 | panic!("geopolars_gdal: Unexpected null value in {}", &self.name) 296 | } 297 | _ => unimplemented!( 298 | "geopolars_gdal: Error processing {} - Still need to implement Lists", 299 | self.name 300 | ), 301 | } 302 | }; 303 | 304 | series.rename(&self.name); 305 | 306 | series 307 | } 308 | } 309 | -------------------------------------------------------------------------------- /test_data/cities.arrow: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phayes/polars_gdal/ae2c0ec0a8773c21479d0822e088979720062229/test_data/cities.arrow -------------------------------------------------------------------------------- /test_data/lat_lon_countries.csv: -------------------------------------------------------------------------------- 1 | "ISO 3166 Country Code","Country","Latitude","Longitude" 2 | "AD","Andorra",42.5,1.5 3 | "AE","United Arab Emirates",24,54 4 | "AF","Afghanistan",33,65 5 | "AG","Antigua and Barbuda",17.05,-61.8 6 | "AI","Anguilla",18.25,-63.17 7 | "AL","Albania",41,20 8 | "AM","Armenia",40,45 9 | "AN","Netherlands Antilles",12.25,-68.75 10 | "AO","Angola",-12.5,18.5 11 | "AP","Asia/Pacific Region",35,105 12 | "AQ","Antarctica",-90,0 13 | "AR","Argentina",-34,-64 14 | "AS","American Samoa",-14.33,-170 15 | "AT","Austria",47.33,13.33 16 | "AU","Australia",-27,133 17 | "AW","Aruba",12.5,-69.97 18 | "AZ","Azerbaijan",40.5,47.5 19 | "BA","Bosnia and Herzegovina",44,18 20 | "BB","Barbados",13.17,-59.53 21 | "BD","Bangladesh",24,90 22 | "BE","Belgium",50.83,4 23 | "BF","Burkina Faso",13,-2 24 | "BG","Bulgaria",43,25 25 | "BH","Bahrain",26,50.55 26 | "BI","Burundi",-3.5,30 27 | "BJ","Benin",9.5,2.25 28 | "BM","Bermuda",32.33,-64.75 29 | "BN","Brunei Darussalam",4.5,114.67 30 | "BO","Bolivia",-17,-65 31 | "BR","Brazil",-10,-55 32 | "BS","Bahamas",24.25,-76 33 | "BT","Bhutan",27.5,90.5 34 | "BV","Bouvet Island",-54.43,3.4 35 | "BW","Botswana",-22,24 36 | "BY","Belarus",53,28 37 | "BZ","Belize",17.25,-88.75 38 | "CA","Canada",60,-95 39 | "CC","Cocos (Keeling) Islands",-12.5,96.83 40 | "CD","Congo, The Democratic Republic of the",0,25 41 | "CF","Central African Republic",7,21 42 | "CG","Congo",-1,15 43 | "CH","Switzerland",47,8 44 | "CI","Cote d'Ivoire",8,-5 45 | "CK","Cook Islands",-21.23,-159.77 46 | "CL","Chile",-30,-71 47 | "CM","Cameroon",6,12 48 | "CN","China",35,105 49 | "CO","Colombia",4,-72 50 | "CR","Costa Rica",10,-84 51 | "CU","Cuba",21.5,-80 52 | "CV","Cape Verde",16,-24 53 | "CX","Christmas Island",-10.5,105.67 54 | "CY","Cyprus",35,33 55 | "CZ","Czech Republic",49.75,15.5 56 | "DE","Germany",51,9 57 | "DJ","Djibouti",11.5,43 58 | "DK","Denmark",56,10 59 | "DM","Dominica",15.42,-61.33 60 | "DO","Dominican Republic",19,-70.67 61 | "DZ","Algeria",28,3 62 | "EC","Ecuador",-2,-77.5 63 | "EE","Estonia",59,26 64 | "EG","Egypt",27,30 65 | "EH","Western Sahara",24.5,-13 66 | "ER","Eritrea",15,39 67 | "ES","Spain",40,-4 68 | "ET","Ethiopia",8,38 69 | "EU","Europe",47,8 70 | "FI","Finland",64,26 71 | "FJ","Fiji",-18,175 72 | "FK","Falkland Islands (Malvinas)",-51.75,-59 73 | "FM","Micronesia, Federated States of",6.92,158.25 74 | "FO","Faroe Islands",62,-7 75 | "FR","France",46,2 76 | "GA","Gabon",-1,11.75 77 | "GB","United Kingdom",54,-2 78 | "GD","Grenada",12.12,-61.67 79 | "GE","Georgia",42,43.5 80 | "GF","French Guiana",4,-53 81 | "GH","Ghana",8,-2 82 | "GI","Gibraltar",36.18,-5.37 83 | "GL","Greenland",72,-40 84 | "GM","Gambia",13.47,-16.57 85 | "GN","Guinea",11,-10 86 | "GP","Guadeloupe",16.25,-61.58 87 | "GQ","Equatorial Guinea",2,10 88 | "GR","Greece",39,22 89 | "GS","South Georgia and the South Sandwich Islands",-54.5,-37 90 | "GT","Guatemala",15.5,-90.25 91 | "GU","Guam",13.47,144.78 92 | "GW","Guinea-Bissau",12,-15 93 | "GY","Guyana",5,-59 94 | "HK","Hong Kong",22.25,114.17 95 | "HM","Heard Island and McDonald Islands",-53.1,72.52 96 | "HN","Honduras",15,-86.5 97 | "HR","Croatia",45.17,15.5 98 | "HT","Haiti",19,-72.42 99 | "HU","Hungary",47,20 100 | "ID","Indonesia",-5,120 101 | "IE","Ireland",53,-8 102 | "IL","Israel",31.5,34.75 103 | "IN","India",20,77 104 | "IO","British Indian Ocean Territory",-6,71.5 105 | "IQ","Iraq",33,44 106 | "IR","Iran, Islamic Republic of",32,53 107 | "IS","Iceland",65,-18 108 | "IT","Italy",42.83,12.83 109 | "JM","Jamaica",18.25,-77.5 110 | "JO","Jordan",31,36 111 | "JP","Japan",36,138 112 | "KE","Kenya",1,38 113 | "KG","Kyrgyzstan",41,75 114 | "KH","Cambodia",13,105 115 | "KI","Kiribati",1.42,173 116 | "KM","Comoros",-12.17,44.25 117 | "KN","Saint Kitts and Nevis",17.33,-62.75 118 | "KP","Korea, Democratic People's Republic of",40,127 119 | "KR","Korea, Republic of",37,127.5 120 | "KW","Kuwait",29.34,47.66 121 | "KY","Cayman Islands",19.5,-80.5 122 | "KZ","Kazakhstan",48,68 123 | "LA","Lao People's Democratic Republic",18,105 124 | "LB","Lebanon",33.83,35.83 125 | "LC","Saint Lucia",13.88,-61.13 126 | "LI","Liechtenstein",47.17,9.53 127 | "LK","Sri Lanka",7,81 128 | "LR","Liberia",6.5,-9.5 129 | "LS","Lesotho",-29.5,28.5 130 | "LT","Lithuania",56,24 131 | "LU","Luxembourg",49.75,6.17 132 | "LV","Latvia",57,25 133 | "LY","Libyan Arab Jamahiriya",25,17 134 | "MA","Morocco",32,-5 135 | "MC","Monaco",43.73,7.4 136 | "MD","Moldova, Republic of",47,29 137 | "ME","Montenegro",42,19 138 | "MG","Madagascar",-20,47 139 | "MH","Marshall Islands",9,168 140 | "MK","Macedonia",41.83,22 141 | "ML","Mali",17,-4 142 | "MM","Myanmar",22,98 143 | "MN","Mongolia",46,105 144 | "MO","Macao",22.17,113.55 145 | "MP","Northern Mariana Islands",15.2,145.75 146 | "MQ","Martinique",14.67,-61 147 | "MR","Mauritania",20,-12 148 | "MS","Montserrat",16.75,-62.2 149 | "MT","Malta",35.83,14.58 150 | "MU","Mauritius",-20.28,57.55 151 | "MV","Maldives",3.25,73 152 | "MW","Malawi",-13.5,34 153 | "MX","Mexico",23,-102 154 | "MY","Malaysia",2.5,112.5 155 | "MZ","Mozambique",-18.25,35 156 | "NA","Namibia",-22,17 157 | "NC","New Caledonia",-21.5,165.5 158 | "NE","Niger",16,8 159 | "NF","Norfolk Island",-29.03,167.95 160 | "NG","Nigeria",10,8 161 | "NI","Nicaragua",13,-85 162 | "NL","Netherlands",52.5,5.75 163 | "NO","Norway",62,10 164 | "NP","Nepal",28,84 165 | "NR","Nauru",-0.53,166.92 166 | "NU","Niue",-19.03,-169.87 167 | "NZ","New Zealand",-41,174 168 | "OM","Oman",21,57 169 | "PA","Panama",9,-80 170 | "PE","Peru",-10,-76 171 | "PF","French Polynesia",-15,-140 172 | "PG","Papua New Guinea",-6,147 173 | "PH","Philippines",13,122 174 | "PK","Pakistan",30,70 175 | "PL","Poland",52,20 176 | "PM","Saint Pierre and Miquelon",46.83,-56.33 177 | "PR","Puerto Rico",18.25,-66.5 178 | "PS","Palestinian Territory",32,35.25 179 | "PT","Portugal",39.5,-8 180 | "PW","Palau",7.5,134.5 181 | "PY","Paraguay",-23,-58 182 | "QA","Qatar",25.5,51.25 183 | "RE","Reunion",-21.1,55.6 184 | "RO","Romania",46,25 185 | "RS","Serbia",44,21 186 | "RU","Russian Federation",60,100 187 | "RW","Rwanda",-2,30 188 | "SA","Saudi Arabia",25,45 189 | "SB","Solomon Islands",-8,159 190 | "SC","Seychelles",-4.58,55.67 191 | "SD","Sudan",15,30 192 | "SE","Sweden",62,15 193 | "SG","Singapore",1.37,103.8 194 | "SH","Saint Helena",-15.93,-5.7 195 | "SI","Slovenia",46,15 196 | "SJ","Svalbard and Jan Mayen",78,20 197 | "SK","Slovakia",48.67,19.5 198 | "SL","Sierra Leone",8.5,-11.5 199 | "SM","San Marino",43.77,12.42 200 | "SN","Senegal",14,-14 201 | "SO","Somalia",10,49 202 | "SR","Suriname",4,-56 203 | "ST","Sao Tome and Principe",1,7 204 | "SV","El Salvador",13.83,-88.92 205 | "SY","Syrian Arab Republic",35,38 206 | "SZ","Swaziland",-26.5,31.5 207 | "TC","Turks and Caicos Islands",21.75,-71.58 208 | "TD","Chad",15,19 209 | "TF","French Southern Territories",-43,67 210 | "TG","Togo",8,1.17 211 | "TH","Thailand",15,100 212 | "TJ","Tajikistan",39,71 213 | "TK","Tokelau",-9,-172 214 | "TM","Turkmenistan",40,60 215 | "TN","Tunisia",34,9 216 | "TO","Tonga",-20,-175 217 | "TR","Turkey",39,35 218 | "TT","Trinidad and Tobago",11,-61 219 | "TV","Tuvalu",-8,178 220 | "TW","Taiwan",23.5,121 221 | "TZ","Tanzania, United Republic of",-6,35 222 | "UA","Ukraine",49,32 223 | "UG","Uganda",1,32 224 | "UM","United States Minor Outlying Islands",19.28,166.6 225 | "US","United States",38,-97 226 | "UY","Uruguay",-33,-56 227 | "UZ","Uzbekistan",41,64 228 | "VA","Holy See (Vatican City State)",41.9,12.45 229 | "VC","Saint Vincent and the Grenadines",13.25,-61.2 230 | "VE","Venezuela",8,-66 231 | "VG","Virgin Islands, British",18.5,-64.5 232 | "VI","Virgin Islands, U.S.",18.33,-64.83 233 | "VN","Vietnam",16,106 234 | "VU","Vanuatu",-16,167 235 | "WF","Wallis and Futuna",-13.3,-176.2 236 | "WS","Samoa",-13.58,-172.33 237 | "YE","Yemen",15,48 238 | "YT","Mayotte",-12.83,45.17 239 | "ZA","South Africa",-29,24 240 | "ZM","Zambia",-15,30 241 | "ZW","Zimbabwe",-20,30 242 | -------------------------------------------------------------------------------- /test_data/stations.dbf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phayes/polars_gdal/ae2c0ec0a8773c21479d0822e088979720062229/test_data/stations.dbf -------------------------------------------------------------------------------- /test_data/stations.prj: -------------------------------------------------------------------------------- 1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]] -------------------------------------------------------------------------------- /test_data/stations.shp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phayes/polars_gdal/ae2c0ec0a8773c21479d0822e088979720062229/test_data/stations.shp -------------------------------------------------------------------------------- /test_data/stations.shx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phayes/polars_gdal/ae2c0ec0a8773c21479d0822e088979720062229/test_data/stations.shx -------------------------------------------------------------------------------- /test_data/stations_shapefile.shp.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phayes/polars_gdal/ae2c0ec0a8773c21479d0822e088979720062229/test_data/stations_shapefile.shp.zip -------------------------------------------------------------------------------- /test_data/test_spatialite.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/phayes/polars_gdal/ae2c0ec0a8773c21479d0822e088979720062229/test_data/test_spatialite.sqlite -------------------------------------------------------------------------------- /test_data/us_states.feature_collection.implicit_4326.json: -------------------------------------------------------------------------------- 1 | {"type":"FeatureCollection","features":[{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3514","diss_me":3514,"adm1_cod_1":"USA-3514","iso_3166_2":"US-MN","wikipedia":"http://en.wikipedia.org/wiki/Minnesota","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Minnesota","name_alt":"MN|Minn.","name_local":null,"type":"State","type_en":"State","code_local":"US32","code_hasc":"US.MN","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"West North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":10,"scaleran_1":2,"datarank":1,"abbrev":"Minn.","postal":"MN","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":9,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-89.59940914585667,48.01027395282483],[-89.48888455722101,48.01343887860651],[-89.52269548211933,47.96053538674391],[-89.61369767938538,47.81925202085796],[-89.72800594761503,47.641976019880644],[-89.84283098016755,47.464725857119504],[-89.95765601272012,47.28690725360326],[-90.13175391311142,47.29274669045219],[-90.30585181350267,47.29801768654602],[-90.47994971389409,47.30385712339489],[-90.65404761428533,47.30912811948872],[-90.85778194859608,47.21282908791278],[-91.06097368036774,47.11704682065988],[-91.26470801467849,47.02126455340681],[-91.46844234898913,46.92496552183104],[-91.59225908076053,46.876260484395914],[-91.71661841507085,46.827607123393136],[-91.8409777493813,46.778385321635085],[-91.96479448115258,46.72970612241613],[-92.01189754918664,46.71172272397854],[-92.27487891311995,46.65614472104869],[-92.26482784703921,46.095222886736394],[-92.29658301468254,46.09628225359836],[-92.5436997139023,45.98569468849382],[-92.7569683499708,45.88991242124092],[-92.89982784704182,45.705763454768714],[-92.68922054723623,45.518436387710665],[-92.76541744665064,45.26708222104298],[-92.76647681351261,44.9961426865367],[-92.79665584997099,44.776026923189534],[-92.50507158076414,44.58391978614452],[-92.38549231644072,44.574928086925695],[-92.06215287959043,44.432585354177775],[-91.949989183301,44.36483755144309],[-91.87960588251946,44.25742808692439],[-91.62770911331273,44.08544892025708],[-91.28959021682704,43.93729258887629],[-91.25729244664456,43.85473948829008],[-91.2546569485977,43.61397899024206],[-91.2281986152642,43.50124685319736],[-92.54000484899342,43.51977285417405],[-94.00102678096545,43.51341665300225],[-95.35993608272867,43.50018748633539],[-96.45266008175645,43.50178945573646],[-96.43943091508982,44.43576345476367],[-96.56061214881424,45.39301768653837],[-96.73576941606751,45.47081655535385],[-96.83470394569031,45.62532908790644],[-96.78072791216141,45.760798855159635],[-96.55689144568913,45.872445787126196],[-96.53945064979075,46.017966620460186],[-96.53890804725165,46.199480088885366],[-96.60135901567634,46.35135712339115],[-96.6854882474475,46.51328522397773],[-96.73365068234358,46.71647695574927],[-96.7458204821483,46.9445250514533],[-96.77969438351562,46.99904368752135],[-96.82041541216165,47.29220408791309],[-96.82465287960952,47.42661448830438],[-96.84423824744817,47.546193752627744],[-96.8939768135291,47.748868720076416],[-97.01515804725352,47.95420502378812],[-97.131042446668,48.137294623398304],[-97.14850908078273,48.31878225360731],[-97.1612214831265,48.51458425556132],[-97.12734758175912,48.64212169045754],[-97.12047461626435,48.75852285419501],[-97.21413814979343,48.90244171812793],[-97.22894344764501,49.000885321643864],[-95.15883724646483,48.9998259547819],[-95.15620174841791,49.38401439065592],[-94.81754024939323,49.38928538674975],[-94.64026424841592,48.84001658791925],[-94.32912044958647,48.670672919298795],[-93.63061011429733,48.60928131773602],[-92.60984554723586,48.45001455341253],[-91.63987891311746,48.13993012144516],[-90.83026424840062,48.27010305438836],[-89.59995174839577,48.01027395282483],[-89.59940914585667,48.01027395282483]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3515","diss_me":3515,"adm1_cod_1":"USA-3515","iso_3166_2":"US-MT","wikipedia":"http://en.wikipedia.org/wiki/Montana","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Montana","name_alt":"MT|Mont.","name_local":null,"type":"State","type_en":"State","code_local":"US30","code_hasc":"US.MT","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Mountain","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Mont.","postal":"MT","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":7,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-111.19418921593007,44.56115631771988],[-111.29154761436796,44.701406154960026],[-111.4000164457486,44.72892385515544],[-111.54238501671271,44.53048635515465],[-111.77149247927873,44.49821442318837],[-112.33613501671589,44.56063955339695],[-112.36259335004932,44.46222178809708],[-112.69014441613137,44.4987311875113],[-112.87481014692638,44.3600833196722],[-113.05208614790365,44.61991242123574],[-113.174843512813,44.76543325456966],[-113.37857784712371,44.78977285417912],[-113.43942684614738,44.86279165300755],[-113.5029371814341,45.124222723972125],[-113.68021318241136,45.2490729843893],[-113.79449561242484,45.56499685320567],[-113.91410071496439,45.70258535418277],[-114.03579871301176,45.730103054378205],[-114.13793718143664,45.58933645281513],[-114.33531531457545,45.470273952814665],[-114.5136506824147,45.56923432065359],[-114.52370174849547,45.825368557308266],[-114.40727474654187,45.88991242124082],[-114.4914298165292,46.14708018654133],[-114.39404557987515,46.41008738869081],[-114.28451738163254,46.6318051214391],[-114.58561011438114,46.64133942319695],[-114.8433204822207,46.7863176539918],[-115.12164974654473,47.09536855731335],[-115.28833207890217,47.250397854188975],[-115.51906734908539,47.345120754579966],[-115.70479244674239,47.504930121442584],[-115.70427568241946,47.68484162046674],[-115.96779964889187,47.95048432066312],[-116.04823401575418,49.00036855732097],[-113.05950171593753,49.0014020859668],[-110.0707694161209,49.00300405536785],[-107.08203711630425,49.00458018655276],[-104.09276221394853,49.00563955341474],[-104.07741431355785,47.17156545672772],[-104.02661638061494,45.956600857113486],[-104.07795691609692,45.04061025652388],[-105.74589128296557,45.051178086927564],[-107.54663408082433,45.04588125261765],[-109.10237891318732,45.05701752377655],[-111.07140601280457,45.04960195574266],[-111.0671943835728,44.54159678809741],[-111.08517778201036,44.506146755545174],[-111.19418921593007,44.56115631771988]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3516","diss_me":3516,"adm1_cod_1":"USA-3516","iso_3166_2":"US-ND","wikipedia":"http://en.wikipedia.org/wiki/North_Dakota","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"North Dakota","name_alt":"ND|N.D.","name_local":null,"type":"State","type_en":"State","code_local":"US38","code_hasc":"US.ND","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"West North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"N.D.","postal":"ND","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":12,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-96.60135901567638,46.3513571233911],[-96.53890804725165,46.19948008888528],[-96.53945064979072,46.017966620460086],[-98.44178931353531,45.96344798439215],[-100.06685807981785,45.96556671811612],[-102.11686214883646,45.96135508888433],[-104.02661638061494,45.956600857113486],[-104.07741431355785,47.17156545672772],[-104.09276221394853,49.00563955341474],[-100.62989864785396,49.00300405536785],[-97.22894344764504,49.00088532164389],[-97.21413814979341,48.902441718127875],[-97.1204746162644,48.75852285419501],[-97.12734758175921,48.64212169045756],[-97.16122148312654,48.51458425556122],[-97.14850908078273,48.31878225360731],[-97.13104244666809,48.13729462339825],[-97.01515804725355,47.954205023788134],[-96.89397681352912,47.74886872007637],[-96.84423824744819,47.54619375262766],[-96.82465287960957,47.42661448830425],[-96.82041541216162,47.29220408791309],[-96.77969438351563,46.999043687521294],[-96.7458204821483,46.94452505145337],[-96.73365068234358,46.71647695574933],[-96.68548824744755,46.51328522397769],[-96.60135901567638,46.3513571233911]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3517","diss_me":3517,"adm1_cod_1":"USA-3517","iso_3166_2":"US-HI","wikipedia":"http://en.wikipedia.org/wiki/Hawaii","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":8,"admin0_lab":2,"name":"Hawaii","name_alt":"HI|Hawaii","name_local":null,"type":"State","type_en":"State","code_local":"US15","code_hasc":"US.HI","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Pacific","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Hawaii","postal":"HI","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":6,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,19.7029399999999],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975],[-155.22452,19.993020000000172],[-155.06226,19.8591],[-154.80741,19.50871000000012],[-154.83147,19.45328],[-155.22217,19.239720000000148],[-155.54211,19.08348],[-155.68817,18.916190000000142],[-155.93665,19.05939]]],[[[-155.99566,20.76404],[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.864300000000128],[-156.71055,20.92676],[-156.61258,21.012490000000128],[-156.25711,20.91745],[-155.99566,20.76404]]],[[[-156.75824,21.17684000000014],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.219579999999894],[-156.75824,21.17684000000014]]],[[[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.579120000000103],[-158.0252,21.71696],[-157.94161,21.6527200000001],[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244]]],[[[-159.80051,22.06533000000013],[-159.74877,22.1382],[-159.5962,22.236180000000104],[-159.36569,22.21494],[-159.34512,21.98200000000014],[-159.46372,21.88299],[-159.80051,22.06533000000013]]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3518","diss_me":3518,"adm1_cod_1":"USA-3518","iso_3166_2":"US-ID","wikipedia":"http://en.wikipedia.org/wiki/Idaho","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Idaho","name_alt":"ID|Idaho","name_local":null,"type":"State","type_en":"State","code_local":"US16","code_hasc":"US.ID","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Mountain","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Idaho","postal":"ID","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":5,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-111.04972774945814,44.48816335710761],[-111.05024451378105,42.00159678808724],[-114.03422258182684,41.99312185319137],[-117.0282517159534,42.000020656902336],[-117.0139631824247,43.79706858985223],[-116.92665585006759,44.0812114528091],[-117.0076069812528,44.21141022396847],[-117.19439144577179,44.27913218848698],[-117.19229855026396,44.4389415553496],[-117.0515319487009,44.66595612240779],[-116.83614457890837,44.86385101986953],[-116.69328508183749,45.186647854180706],[-116.55887468144633,45.444358222020284],[-116.45779557988342,45.57453115496351],[-116.51125484908937,45.726408189469325],[-116.67899654830879,45.807359320654555],[-116.91500281458576,45.99998322202251],[-116.9065278796899,46.177775987322704],[-116.99807267949495,46.33016978615143],[-117.02664974655237,47.72292715106586],[-117.03142981653936,48.99930919045899],[-116.04823401575418,49.00036855732097],[-115.96779964889187,47.95048432066312],[-115.70427568241946,47.68484162046674],[-115.70479244674239,47.504930121442584],[-115.51906734908539,47.345120754579966],[-115.28833207890217,47.250397854188975],[-115.12164974654473,47.09536855731335],[-114.8433204822207,46.7863176539918],[-114.58561011438114,46.64133942319695],[-114.28451738163254,46.6318051214391],[-114.39404557987515,46.41008738869081],[-114.4914298165292,46.14708018654133],[-114.40727474654187,45.88991242124082],[-114.52370174849547,45.825368557308266],[-114.5136506824147,45.56923432065359],[-114.33531531457545,45.470273952814665],[-114.13793718143664,45.58933645281513],[-114.03579871301176,45.730103054378205],[-113.91410071496439,45.70258535418277],[-113.79449561242484,45.56499685320567],[-113.68021318241136,45.2490729843893],[-113.5029371814341,45.124222723972125],[-113.43942684614738,44.86279165300755],[-113.37857784712371,44.78977285417912],[-113.174843512813,44.76543325456966],[-113.05208614790365,44.61991242123574],[-112.87481014692638,44.3600833196722],[-112.69014441613137,44.4987311875113],[-112.36259335004932,44.46222178809708],[-112.33613501671589,44.56063955339695],[-111.77149247927873,44.49821442318837],[-111.54238501671271,44.53048635515465],[-111.4000164457486,44.72892385515544],[-111.29154761436796,44.701406154960026],[-111.19418921593007,44.56115631771988],[-111.08517778201036,44.506146755545174],[-111.04972774945814,44.48816335710761]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3519","diss_me":3519,"adm1_cod_1":"USA-3519","iso_3166_2":"US-WA","wikipedia":"http://en.wikipedia.org/wiki/Washington_(state)","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":6,"admin0_lab":2,"name":"Washington","name_alt":"WA|Wash.","name_local":null,"type":"State","type_en":"State","code_local":"US53","code_hasc":"US.WA","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Pacific","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Wash.","postal":"WA","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":10,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-116.9980726794949,46.33016978615149],[-116.90652787968992,46.17777598732283],[-116.9150028145857,45.99998322202259],[-118.97823605027111,45.99256765398866],[-119.33699968145743,45.88833629005586],[-119.59204952047821,45.932235419287906],[-119.78730891989301,45.85076752377984],[-120.15826818910023,45.740670884781935],[-120.6096359869536,45.753900051448625],[-120.83719315655094,45.67294892026342],[-121.0467410894945,45.637498887711104],[-121.203889120094,45.689898790055224],[-121.56107662009549,45.73276439064131],[-121.78809118715355,45.70098338478181],[-122.17491512107449,45.595150051447945],[-122.42045568910925,45.59199778907822],[-122.65170772361546,45.63008331967734],[-122.72578588930577,45.77033315691756],[-122.75224422263926,45.93807485613678],[-122.9379693202963,46.12909678810388],[-123.22849422264113,46.18625092221856],[-123.47137345441303,46.27725311948467],[-123.77670365460955,46.28203318947163],[-123.99867632678428,46.2830694871044],[-124.079635,46.86475],[-124.39567,47.72017000000011],[-124.68721008300781,48.18443298339838],[-124.56610107421875,48.379714965820426],[-123.12,48.04],[-122.58713802146673,47.09588532163639],[-122.34002132224703,47.35995189064778],[-122.49983068910967,48.18016022398439],[-122.84,49.000000000000114],[-120.00269628968556,49.000885321643864],[-117.03142981653929,48.99930919045897],[-117.02664974655227,47.72292715106596],[-116.9980726794949,46.33016978615149]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3520","diss_me":3520,"adm1_cod_1":"USA-3520","iso_3166_2":"US-AZ","wikipedia":"http://en.wikipedia.org/wiki/Arizona","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Arizona","name_alt":"AZ|Ariz.","name_local":null,"type":"State","type_en":"State","code_local":"US04","code_hasc":"US.AZ","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Mountain","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Ariz.","postal":"AZ","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":7,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-109.04522477907244,36.999912421205295],[-109.04367281021746,31.34189913731541],[-111.02378618044753,31.33465098726333],[-113.30501644575611,32.03897492118551],[-114.81474341516332,32.52527598726806],[-114.72139,32.72083],[-114.58984758182902,32.7162979192351],[-114.47977678104735,32.91633738863692],[-114.6559934151627,33.05390005139793],[-114.6914434477149,33.20368419039579],[-114.74330074751975,33.379874986294965],[-114.54855811242783,33.6095250514],[-114.46918311242757,34.067274888641464],[-114.16597164595498,34.27258535413716],[-114.35490068241404,34.464666652966],[-114.48453101281825,34.653053086886075],[-114.5670841134044,34.82821035413929],[-114.62211951379533,34.963680121392485],[-114.64222164595685,35.05310618747359],[-114.58085588261031,35.24942495375046],[-114.63005184615207,35.4452269557043],[-114.65069658085275,35.63891022393415],[-114.65017981652977,35.85427175551058],[-114.73960588261087,35.99131765394867],[-114.67134131555338,36.11461762139703],[-114.46073401574779,36.11461762139703],[-114.26916948124182,36.043691718076445],[-114.13264034712671,36.00400421807626],[-114.06649451379315,36.15642385512115],[-114.023628913207,36.18975515394948],[-114.03052771691796,36.994098822572425],[-112.41760291222397,37.00942088474699],[-110.4962214831798,37.00732798923906],[-109.04522477907244,36.999912421205295]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3521","diss_me":3521,"adm1_cod_1":"USA-3521","iso_3166_2":"US-CA","wikipedia":"http://en.wikipedia.org/wiki/California","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":8,"admin0_lab":2,"name":"California","name_alt":"CA|Calif.","name_local":null,"type":"State","type_en":"State","code_local":"US06","code_hasc":"US.CA","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Pacific","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Calif.","postal":"CA","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":10,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-114.35490068241404,34.464666652966],[-114.16597164595498,34.27258535413716],[-114.46918311242757,34.067274888641464],[-114.54855811242783,33.6095250514],[-114.74330074751975,33.379874986294965],[-114.6914434477149,33.20368419039579],[-114.6559934151627,33.05390005139793],[-114.47977678104735,32.91633738863692],[-114.58984758182902,32.7162979192351],[-114.72139,32.72083],[-115.99107988163934,32.61258331962517],[-117.12772884811523,32.535327053348965],[-117.29593769127388,33.046224615203755],[-117.944,33.621236431201226],[-118.41060227589759,33.740909223124504],[-118.51989482279981,34.02778157757575],[-119.081,34.078],[-119.43884064201677,34.348477178284156],[-120.36781612204385,34.44722585706751],[-120.6228651536203,34.60861135511499],[-120.74458898988388,35.15682078708329],[-121.71455562400223,36.16172068943115],[-122.54745052146654,37.55181671808242],[-122.51200048891434,37.78361135512762],[-122.95331722068698,38.11379791925668],[-123.72696508852863,38.95147288670779],[-123.86507035382857,39.76692698827361],[-124.39795772362243,40.31301768651804],[-124.17887548892094,41.14224355728959],[-124.21380875715033,41.99947805436335],[-119.9989755865605,41.99260508886846],[-120.00003495342247,38.99539785415601],[-118.11461951380932,37.64442088474959],[-116.3207496814453,36.32204682061666],[-114.64222164595685,35.05310618747359],[-114.62211951379533,34.963680121392485],[-114.5670841134044,34.82821035413929],[-114.48453101281825,34.653053086886075],[-114.35490068241404,34.464666652966]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3522","diss_me":3522,"adm1_cod_1":"USA-3522","iso_3166_2":"US-CO","wikipedia":"http://en.wikipedia.org/wiki/Colorado","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Colorado","name_alt":"CO|Colo.","name_local":null,"type":"State","type_en":"State","code_local":"US08","code_hasc":"US.CO","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Mountain","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Colo.","postal":"CO","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-102.05017371296381,40.00081452082664],[-102.04012264688303,38.459874986315256],[-102.04118201374501,36.99198008884845],[-103.00321631550668,36.995158189434406],[-104.20019751668335,36.99619171808024],[-105.8998612129792,36.99727692315837],[-107.47997148316782,36.99991242120525],[-109.04522477907251,36.99991242120525],[-109.05318294964546,41.001993720049384],[-108.05094438356073,41.002536322588455],[-107.04973934612183,41.002536322588455],[-105.04686418335339,41.003595689450435],[-104.04514238159157,41.00411245377336],[-102.04805497923984,41.00411245377336],[-102.05017371296381,40.033086452792915],[-102.05017371296381,40.00081452082664]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3523","diss_me":3523,"adm1_cod_1":"USA-3523","iso_3166_2":"US-NV","wikipedia":"http://en.wikipedia.org/wiki/Nevada","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Nevada","name_alt":"NV|Nev.","name_local":null,"type":"State","type_en":"State","code_local":"US32","code_hasc":"US.NV","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Mountain","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Nev.","postal":"NV","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":6,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-114.03052771691799,36.994098822572425],[-114.023628913207,36.189755153949406],[-114.06649451379312,36.15642385512115],[-114.13264034712672,36.004004218076275],[-114.26916948124185,36.04369171807643],[-114.46073401574782,36.11461762139703],[-114.67134131555335,36.11461762139703],[-114.73960588261092,35.99131765394861],[-114.65017981652983,35.85427175551057],[-114.65069658085275,35.63891022393419],[-114.63005184615216,35.44522695570424],[-114.58085588261028,35.249424953750335],[-114.64222164595688,35.0531061874735],[-116.32074968144536,36.322046820616606],[-118.11461951380932,37.64442088474949],[-120.00003495342257,38.99539785415594],[-119.99897558656059,41.99260508886846],[-117.0282517159534,41.997359320639305],[-117.0282517159534,42.000020656902336],[-114.03422258182684,41.99312185319137],[-114.03052771691799,36.994098822572425]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3524","diss_me":3524,"adm1_cod_1":"USA-3524","iso_3166_2":"US-NM","wikipedia":"http://en.wikipedia.org/wiki/New_Mexico","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"New Mexico","name_alt":"NM|N.M.","name_local":null,"type":"State","type_en":"State","code_local":"US35","code_hasc":"US.NM","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Mountain","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"N.M.","postal":"NM","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":10,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-103.00161434610561,33.879947821583414],[-103.00161434610561,31.99928742118533],[-103.92977474649996,31.99928742118533],[-105.73000078003582,31.99928742118533],[-106.63012671591179,31.99928742118533],[-106.61953304729195,31.91409882255209],[-106.50734351278624,31.754289455689502],[-108.24,31.75485371816643],[-108.24196631552763,31.342066555297265],[-109.04367281021746,31.34189913731541],[-109.04522477907244,36.999912421205295],[-107.47997148316779,36.999912421205295],[-105.8998612129792,36.997276923158495],[-104.20019751668332,36.996191718080354],[-103.00321631550662,36.99515818943439],[-103.00161434610561,36.49932282159398],[-103.00161434610561,33.879947821583414]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3525","diss_me":3525,"adm1_cod_1":"USA-3525","iso_3166_2":"US-OR","wikipedia":"http://en.wikipedia.org/wiki/Oregon","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":6,"admin0_lab":2,"name":"Oregon","name_alt":"OR|Ore.","name_local":null,"type":"State","type_en":"State","code_local":"US41","code_hasc":"US.OR","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Pacific","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Ore.","postal":"OR","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":6,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-117.02825171595339,42.00002065690239],[-117.02825171595339,41.99735932063942],[-119.9989755865605,41.99260508886846],[-124.21380875715033,41.99947805436335],[-124.53284,42.7659900000001],[-124.14214,43.70838],[-123.89893,45.523410000000126],[-123.99867632678428,46.2830694871044],[-123.77670365460955,46.28203318947163],[-123.47137345441303,46.27725311948467],[-123.22849422264113,46.18625092221856],[-122.9379693202963,46.12909678810388],[-122.75224422263926,45.93807485613678],[-122.72578588930577,45.77033315691756],[-122.65170772361546,45.63008331967734],[-122.42045568910925,45.59199778907822],[-122.17491512107449,45.595150051447945],[-121.78809118715355,45.70098338478181],[-121.56107662009549,45.73276439064131],[-121.203889120094,45.689898790055224],[-121.0467410894945,45.637498887711104],[-120.83719315655094,45.67294892026342],[-120.6096359869536,45.753900051448625],[-120.15826818910023,45.740670884781935],[-119.78730891989301,45.85076752377984],[-119.59204952047821,45.932235419287906],[-119.33699968145743,45.88833629005586],[-118.97823605027111,45.99256765398866],[-116.9150028145857,45.99998322202259],[-116.67899654830876,45.807359320654484],[-116.51125484908931,45.72640818946934],[-116.4577955798834,45.57453115496355],[-116.5588746814463,45.4443582220203],[-116.69328508183747,45.186647854180706],[-116.83614457890837,44.86385101986957],[-117.05153194870093,44.66595612240786],[-117.19229855026396,44.43894155534957],[-117.19439144577171,44.27913218848698],[-117.0076069812527,44.21141022396847],[-116.92665585006762,44.081211452809214],[-117.01396318242467,43.7970685898523],[-117.02825171595339,42.00002065690239]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3526","diss_me":3526,"adm1_cod_1":"USA-3526","iso_3166_2":"US-UT","wikipedia":"http://en.wikipedia.org/wiki/Utah","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Utah","name_alt":"UT","name_local":null,"type":"State","type_en":"State","code_local":"US49","code_hasc":"US.UT","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Mountain","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Utah","postal":"UT","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":4,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-109.05318294964546,41.001993720049384],[-109.04522477907253,36.99991242120524],[-110.49622148317988,37.00732798923914],[-112.41760291222404,37.00942088474695],[-114.03052771691799,36.994098822572425],[-114.03422258182684,41.993121853191376],[-111.05024451378105,42.00159678808722],[-111.05448198122899,41.027935289059904],[-109.05318294964546,41.001993720049384]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3527","diss_me":3527,"adm1_cod_1":"USA-3527","iso_3166_2":"US-WY","wikipedia":"http://en.wikipedia.org/wiki/Wyoming","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Wyoming","name_alt":"WY|Wyo.","name_local":null,"type":"State","type_en":"State","code_local":"US56","code_hasc":"US.WY","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Mountain","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Wyo.","postal":"WY","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":7,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-111.0671943835728,44.54159678809741],[-111.07140601280457,45.04960195574266],[-109.10237891318732,45.05701752377655],[-107.54663408082433,45.04588125261765],[-105.74589128296557,45.051178086927564],[-104.07795691609692,45.04061025652388],[-104.05255794962545,43.00014048926312],[-104.04514238159157,41.00411245377336],[-105.04686418335339,41.003595689450435],[-107.04973934612183,41.002536322588455],[-108.05094438356073,41.002536322588455],[-109.05318294964546,41.001993720049384],[-111.05448198122899,41.02793528905991],[-111.05024451378105,42.00159678808724],[-111.04972774945814,44.48816335710761],[-111.08517778201036,44.506146755545174],[-111.0671943835728,44.54159678809741]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3528","diss_me":3528,"adm1_cod_1":"USA-3528","iso_3166_2":"US-AR","wikipedia":"http://en.wikipedia.org/wiki/Arkansas","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Arkansas","name_alt":"AR|Ark.","name_local":null,"type":"State","type_en":"State","code_local":"US05","code_hasc":"US.AR","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"West South Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Ark.","postal":"AR","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-89.66291948114342,36.02307282159197],[-89.67351314976325,35.94000295668279],[-89.77510901564906,35.79923635511972],[-89.95026628290238,35.70187795668183],[-89.98889441604055,35.536229152970236],[-90.14710181350213,35.40499685316502],[-90.13493201369738,35.11395518649719],[-90.249240281927,35.02083425550724],[-90.26828304722656,34.94145925550691],[-90.44661841506581,34.86683848727745],[-90.4503132799747,34.7218602564826],[-90.58420691604294,34.45409882256226],[-90.6995487129184,34.39746145277036],[-90.87630794957275,34.261474921194306],[-90.9821412829065,34.0551050888367],[-91.20068091506883,33.70639252373114],[-91.22344438349342,33.46932689059217],[-91.1080767484018,33.2068364527656],[-91.15623918329783,33.01000092216586],[-92.00130388056684,33.04387482353317],[-93.09402787959465,33.01051768648877],[-94.05975704626516,33.01211965588982],[-94.00208614782744,33.57991445569678],[-94.23333818233357,33.583609320605646],[-94.42753821488643,33.57038015393893],[-94.47991227901426,33.635983384733464],[-94.45136105017299,34.510710354138],[-94.43017371293331,35.48331248630335],[-94.62861121293412,36.54058645277894],[-93.41258724645789,36.52629791925024],[-92.30717668330243,36.523662421203355],[-91.25147884801174,36.52314565688043],[-90.11219438348897,36.461754055317684],[-90.02909868036363,36.337937323546356],[-90.14180497919222,36.23050202081156],[-90.25399451369786,36.12254995375383],[-90.31538611526061,36.02307282159197],[-89.66291948114342,36.02307282159197]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3529","diss_me":3529,"adm1_cod_1":"USA-3529","iso_3166_2":"US-IA","wikipedia":"http://en.wikipedia.org/wiki/Iowa","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Iowa","name_alt":"IA|Iowa","name_local":null,"type":"State","type_en":"State","code_local":"US19","code_hasc":"US.IA","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"West North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Iowa","postal":"IA","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":4,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-90.15663611525997,42.103735256512124],[-90.21006954624977,41.8349144557298],[-90.39527787958384,41.60841665299452],[-90.46196631545651,41.53645722102809],[-90.69055701369962,41.47878632259035],[-91.0339985827114,41.42956452083234],[-91.12342464879248,41.25758535416499],[-90.9990653144821,41.17981232356573],[-90.95674231643505,41.024757188473956],[-91.0874320137012,40.85171865494462],[-91.15412044957387,40.699841620438804],[-91.4102288480124,40.55114268651894],[-91.43033098017392,40.3685956894479],[-91.56740271682813,40.45220815689615],[-91.75842464879503,40.61411041926658],[-92.85166541214576,40.59243215592015],[-94.00208614782744,40.58501658788626],[-94.89849138057842,40.583440456701354],[-95.79649858273045,40.58395722102428],[-95.86210181352499,40.764928086910416],[-95.83406734900665,40.94380605728874],[-95.85574561235308,41.11630198827902],[-95.95842668331704,41.40470815689996],[-96.02508928097356,41.52428742122335],[-96.09704871294,41.55655935318963],[-96.10446428097387,41.78781138769577],[-96.16743201372152,41.95343435319121],[-96.34894548214672,42.14182078711124],[-96.34682674842276,42.22437388769751],[-96.41031124549332,42.389480088870044],[-96.45529557980339,42.488957221031896],[-96.4537194486185,42.58050202083696],[-96.61564754920508,42.691632188480625],[-96.53521318234277,42.85567902279118],[-96.4833558825379,43.01600515397672],[-96.45953304725134,43.1244998235735],[-96.58707048214768,43.257308254563625],[-96.58601111528569,43.5012468531974],[-96.4526600817565,43.50178945573647],[-95.35993608272871,43.50018748633542],[-94.00102678096546,43.51341665300214],[-92.54000484899348,43.51977285417405],[-91.22819861526426,43.5012468531974],[-91.21391008173555,43.44675405534562],[-91.08373714879232,43.288004055345],[-91.17316321487343,43.21232392025354],[-91.16998511428747,43.00223338477093],[-91.12923824742532,42.91283315690599],[-91.06469438349276,42.75408315690535],[-90.73817684605658,42.65827505143622],[-90.64081844761868,42.50536448828457],[-90.58260494664188,42.4291675888702],[-90.46460181350339,42.37836965592729],[-90.41698198114644,42.27041758886956],[-90.2598081123307,42.18998322200727],[-90.15663611525997,42.103735256512124]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3530","diss_me":3530,"adm1_cod_1":"USA-3530","iso_3166_2":"US-KS","wikipedia":"http://en.wikipedia.org/wiki/Kansas","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Kansas","name_alt":"KS|Kans.","name_local":null,"type":"State","type_en":"State","code_local":"US20","code_hasc":"US.KS","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"West North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Kans.","postal":"KS","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":6,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-94.60481421586371,39.13985932062788],[-94.6153820462674,38.06883942316266],[-94.62279761430128,36.99991242120525],[-95.50016008175271,36.99885305434327],[-97.29984351274949,36.99727692315837],[-99.10006954628534,36.995158189434406],[-100.10021521686225,36.994098822572425],[-101.09979244668396,36.99303945571043],[-102.04118201374501,36.99198008884845],[-102.04012264688303,38.459874986315256],[-102.05017371296381,40.00081452082664],[-102.04805497923984,40.00081452082664],[-100.30022884804795,40.00081452082664],[-99.00007564980055,40.00081452082664],[-96.69977678097625,40.00135712336569],[-95.32288408077542,40.00135712336569],[-95.08530168331355,39.86800608983651],[-94.95510291215416,39.87012482356049],[-94.92655168331291,39.72512075454949],[-95.06729244665982,39.53991242121542],[-94.99109554724546,39.44467275650149],[-94.86779557979705,39.23458222101888],[-94.60481421586371,39.13985932062788]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3531","diss_me":3531,"adm1_cod_1":"USA-3531","iso_3166_2":"US-MO","wikipedia":"http://en.wikipedia.org/wiki/Missouri","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Missouri","name_alt":"MO","name_local":null,"type":"State","type_en":"State","code_local":"US29","code_hasc":"US.MO","note":null,"hasc_maybe":"US.IL|USA-MOS","region":"Midwest","region_cod":null,"region_big":"West North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":10,"scaleran_1":2,"datarank":1,"abbrev":"Mo.","postal":"MO","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-94.61750077999136,36.99991242120525],[-94.62279761430128,36.99991242120525],[-94.6153820462674,38.06883942316266],[-94.60481421586371,39.13985932062788],[-94.86779557979705,39.23458222101888],[-94.99109554724546,39.44467275650149],[-95.06729244665982,39.53991242121542],[-94.92655168331291,39.72512075454949],[-94.95510291215416,39.87012482356049],[-95.08530168331355,39.86800608983651],[-95.32288408077542,40.00135712336569],[-95.45254024939575,40.21514252375718],[-95.60811214881042,40.3431708847603],[-95.77637061235276,40.50140412043801],[-95.79649858273045,40.58395722102428],[-94.89849138057842,40.583440456701354],[-94.00208614782744,40.58501658788626],[-92.85166541214576,40.59243215592015],[-91.75842464879503,40.61411041926658],[-91.56740271682813,40.45220815689615],[-91.43033098017392,40.3685956894479],[-91.51763831253103,40.119877020827104],[-91.42821224644996,39.82090302180248],[-91.2625892809545,39.615049953767794],[-91.0715673489876,39.445189520824414],[-90.84137468134344,39.31077912043325],[-90.74928727899933,39.265278021800256],[-90.66570064976722,39.074772854156265],[-90.64981014683747,38.907547919259756],[-90.53552771682399,38.865767523751785],[-90.3465986803649,38.93031138768433],[-90.1560935127209,38.76944265395973],[-90.2127308825128,38.584776923164725],[-90.30533504917983,38.439256089830806],[-90.36987891311239,38.26355622003844],[-90.22807878290348,38.11328115493366],[-90.03015804722561,37.97199778904769],[-89.91690914585797,37.968277085922665],[-89.65498714878662,37.74867808689835],[-89.5539080472237,37.71904165297896],[-89.47928727899424,37.477221788069144],[-89.51633928094752,37.32692088474823],[-89.38828508172826,37.08140615492954],[-89.28033301467053,37.107347723940066],[-89.10305701369326,36.952292588848294],[-89.13426957879756,36.85175608982445],[-89.115226813498,36.694582221008716],[-89.27397681349862,36.61151235609954],[-89.49835588250994,36.5061957870887],[-89.52427161330432,36.40935415297372],[-89.585120612328,36.26701142022576],[-89.66291948114342,36.02307282159197],[-90.31538611526061,36.02307282159197],[-90.25399451369786,36.12254995375383],[-90.14180497919222,36.23050202081156],[-90.02909868036363,36.337937323546356],[-90.11219438348897,36.461754055317684],[-91.25147884801174,36.52314565688043],[-92.30717668330243,36.523662421203355],[-93.41258724645789,36.52629791925024],[-94.62861121293412,36.54058645277894],[-94.61750077999136,36.99991242120525]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3532","diss_me":3532,"adm1_cod_1":"USA-3532","iso_3166_2":"US-NE","wikipedia":"http://en.wikipedia.org/wiki/Nebraska","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Nebraska","name_alt":"NE|Nebr.","name_local":null,"type":"State","type_en":"State","code_local":"US31","code_hasc":"US.NE","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"West North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Nebr.","postal":"NE","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-95.45254024939575,40.21514252375718],[-95.32288408077542,40.00135712336569],[-96.69977678097625,40.00135712336569],[-99.00007564980055,40.00081452082664],[-100.30022884804795,40.00081452082664],[-102.04805497923984,40.00081452082664],[-102.05017371296381,40.00081452082664],[-102.05017371296381,40.033086452792915],[-102.04805497923984,41.00411245377336],[-104.04514238159157,41.00411245377336],[-104.05255794962545,43.00014048926312],[-102.09991227904473,43.00014048926312],[-100.59974544961165,43.00014048926312],[-98.59418311236405,43.00014048926312],[-98.33595598020155,42.87366242122876],[-97.96820064979643,42.79428742122843],[-97.88192684608515,42.83978851986143],[-97.64434444862326,42.83609365495256],[-97.28715694862183,42.846144721033326],[-97.02838721392027,42.717547919275006],[-96.75426957882803,42.63396129004289],[-96.70876848019503,42.55086558691757],[-96.62303727902282,42.502728990237685],[-96.45529557980339,42.488957221031896],[-96.41031124549332,42.389480088870044],[-96.34682674842276,42.22437388769751],[-96.34894548214672,42.14182078711124],[-96.16743201372152,41.95343435319121],[-96.10446428097387,41.78781138769577],[-96.09704871294,41.55655935318963],[-96.02508928097356,41.52428742122335],[-95.95842668331704,41.40470815689996],[-95.85574561235308,41.11630198827902],[-95.83406734900665,40.94380605728874],[-95.86210181352499,40.764928086910416],[-95.79649858273045,40.58395722102428],[-95.77637061235276,40.50140412043801],[-95.60811214881042,40.3431708847603],[-95.45254024939575,40.21514252375718]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3533","diss_me":3533,"adm1_cod_1":"USA-3533","iso_3166_2":"US-OK","wikipedia":"http://en.wikipedia.org/wiki/Oklahoma","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Oklahoma","name_alt":"OK|Okla.","name_local":null,"type":"State","type_en":"State","code_local":"US40","code_hasc":"US.OK","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"West South Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Okla.","postal":"OK","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-94.62861121293412,36.54058645277894],[-94.43017371293331,35.48331248630335],[-94.45136105017299,34.510710354138],[-94.47991227901426,33.635983384733464],[-94.91014441606023,33.83178538668737],[-95.19059241410824,33.93816132256019],[-95.41812374548935,33.87041351982555],[-95.76949764685796,33.88100718844538],[-95.9774694486166,33.879431057260476],[-96.14890601274487,33.79793732353619],[-96.31613094764138,33.75613108981207],[-96.46271114783728,33.805327053353935],[-96.79661841509122,33.751351019825066],[-96.94795284705798,33.91805919039865],[-97.10406734901173,33.77359772392673],[-97.37658301470292,33.83814158785927],[-97.6570310127509,33.99371348727395],[-97.95709021685369,33.89369375257304],[-98.08832251665889,34.13448008883702],[-98.55397884804097,34.11065725355047],[-98.85189348020361,34.164633287079326],[-99.1874027168586,34.235559190399925],[-99.33607581256231,34.442962551403355],[-99.59908301471181,34.37629995374684],[-99.76152787962131,34.457793687471124],[-100.00019548216133,34.56522899020594],[-100.00019548216133,35.51984772393371],[-100.00019548216133,36.49932282159388],[-101.00083207884502,36.49932282159388],[-102.00149451374486,36.49932282159388],[-103.00161434610563,36.49932282159388],[-103.00321631550668,36.995158189434406],[-102.04118201374501,36.99198008884845],[-101.09979244668396,36.99303945571043],[-100.10021521686225,36.994098822572425],[-99.10006954628534,36.995158189434406],[-97.29984351274949,36.99727692315837],[-95.50016008175271,36.99885305434327],[-94.62279761430128,36.99991242120525],[-94.61750077999136,36.99991242120525],[-94.62861121293412,36.54058645277894]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3534","diss_me":3534,"adm1_cod_1":"USA-3534","iso_3166_2":"US-SD","wikipedia":"http://en.wikipedia.org/wiki/South_Dakota","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"South Dakota","name_alt":"SD|S.D.","name_local":null,"type":"State","type_en":"State","code_local":"US46","code_hasc":"US.SD","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"West North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"S.D.","postal":"SD","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":12,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-96.75426957882803,42.63396129004289],[-97.02838721392027,42.717547919275006],[-97.28715694862183,42.846144721033326],[-97.64434444862326,42.83609365495256],[-97.88192684608515,42.83978851986143],[-97.96820064979643,42.79428742122843],[-98.33595598020155,42.87366242122876],[-98.59418311236405,43.00014048926312],[-100.59974544961165,43.00014048926312],[-102.09991227904473,43.00014048926312],[-104.05255794962545,43.00014048926312],[-104.07795691609692,45.04061025652388],[-104.02661638061494,45.956600857113486],[-102.11686214883646,45.96135508888433],[-100.06685807981785,45.96556671811612],[-98.44178931353531,45.96344798439215],[-96.53945064979072,46.017966620460086],[-96.55689144568922,45.87244578712617],[-96.78072791216147,45.76079885515958],[-96.83470394569034,45.62532908790642],[-96.73576941606754,45.47081655535372],[-96.56061214881424,45.393017686538315],[-96.43943091508979,44.435763454763645],[-96.4526600817565,43.50178945573647],[-96.58601111528569,43.5012468531974],[-96.58707048214768,43.257308254563625],[-96.45953304725134,43.1244998235735],[-96.4833558825379,43.01600515397672],[-96.53521318234277,42.85567902279118],[-96.61564754920508,42.691632188480625],[-96.4537194486185,42.58050202083696],[-96.45529557980339,42.488957221031896],[-96.62303727902282,42.502728990237685],[-96.70876848019503,42.55086558691757],[-96.75426957882803,42.63396129004289]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3535","diss_me":3535,"adm1_cod_1":"USA-3535","iso_3166_2":"US-LA","wikipedia":"http://en.wikipedia.org/wiki/Louisiana","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":5,"admin0_lab":2,"name":"Louisiana","name_alt":"LA","name_local":null,"type":"State","type_en":"State","code_local":"US22","code_hasc":"US.LA","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"West South Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"La.","postal":"LA","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":9,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-89.21767,29.29108],[-89.4083872138898,29.159770819611367],[-89.77928,29.30714],[-90.15463,29.11743],[-90.880225,29.14853],[-91.62678,29.677000000000135],[-92.49906,29.5523],[-93.22637,29.78375000000011],[-93.84842,29.71363],[-93.91847368037912,29.821771755486566],[-93.81687781449335,29.96835195568235],[-93.66711951371155,30.10064362234965],[-93.66448401566464,30.300140489212254],[-93.73750281449298,30.3668030868688],[-93.65019548213593,30.60547068940889],[-93.5861683825263,30.713939520789552],[-93.48984351273424,31.079601955686883],[-93.57823605016944,31.216131089801934],[-93.69412044958403,31.443662421183035],[-93.7793090482171,31.67543122001223],[-93.83486121293095,31.829943752564816],[-93.9989080472414,31.942650051393343],[-94.05975704626513,33.01211965588982],[-93.09402787959465,33.01051768648881],[-92.00130388056687,33.043874823533145],[-91.15623918329783,33.01000092216589],[-91.08479651565432,32.95284678805103],[-91.17579871292025,32.80838532157918],[-91.03082048212548,32.60253225354444],[-91.0720841133105,32.47871552177321],[-90.94297054722921,32.30673635510567],[-91.08161841506836,32.20459788668086],[-91.12817888056327,32.01569468843792],[-91.32131954625419,31.859580186484266],[-91.41128821487433,31.6500322535407],[-91.50229041214038,31.40872915295381],[-91.62453101272678,31.29708222098708],[-91.58378414586463,31.04733002372052],[-90.70166744664232,31.015574856077194],[-89.75921851271931,31.01345612235326],[-89.78779557977674,30.847290554318647],[-89.8539414131103,30.683243720008136],[-89.79045691603972,30.556791490189937],[-89.65868201369545,30.440881252559336],[-89.62323198114325,30.27525828706382],[-89.60470598016661,30.17629791922485],[-89.41373,29.89419],[-89.43,29.48864],[-89.21767,29.29108]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3536","diss_me":3536,"adm1_cod_1":"USA-3536","iso_3166_2":"US-TX","wikipedia":"http://en.wikipedia.org/wiki/Texas","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":4,"admin0_lab":2,"name":"Texas","name_alt":"TX|Tex.","name_local":null,"type":"State","type_en":"State","code_local":"US48","code_hasc":"US.TX","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"West South Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Tex.","postal":"TX","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":5,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-93.57823605016944,31.216131089801934],[-93.48984351273424,31.079601955686883],[-93.5861683825263,30.713939520789552],[-93.65019548213593,30.60547068940889],[-93.73750281449298,30.3668030868688],[-93.66448401566464,30.300140489212254],[-93.66711951371155,30.10064362234965],[-93.81687781449335,29.96835195568235],[-93.91847368037912,29.821771755486566],[-93.84842,29.71363],[-94.69000281449689,29.4799321558757],[-95.60017981645365,28.738556220000362],[-96.5939434476424,28.307290554308565],[-97.14003414588689,27.829981187444673],[-97.37022681353096,27.380189520776185],[-97.37976111528883,26.69015412038283],[-97.33002254920791,26.21020925547191],[-97.14003414588689,25.869945787046277],[-97.53003618039355,25.83979258880396],[-98.24017371294855,26.059934190367358],[-99.0201777819621,26.370018622334726],[-99.30010901568716,26.839912421164684],[-99.52022477903438,27.53999888763883],[-100.11026628294297,28.109912421169724],[-100.45580074746255,28.696233221953378],[-100.95744971393594,29.38097178803673],[-101.662290412181,29.779422919223236],[-102.47986324747075,29.759863389600753],[-103.11010901570234,28.96980825450646],[-103.9398258125807,29.269841620393095],[-104.45682267944477,29.571993720003775],[-104.7055413480656,30.121805121373143],[-105.03732988159555,30.64409882254705],[-105.6315830147359,31.083839423134748],[-106.1427662829671,31.399737453735042],[-106.50734351278624,31.754289455689502],[-106.61953304729195,31.91409882255209],[-106.63012671591179,31.99928742118533],[-105.73000078003582,31.99928742118533],[-103.92977474649996,31.99928742118533],[-103.00161434610561,31.99928742118533],[-103.00161434610561,33.879947821583414],[-103.00161434610561,36.49932282159398],[-102.00149451374489,36.49932282159398],[-101.00083207884501,36.49932282159398],[-100.0001954821613,36.49932282159398],[-100.0001954821613,35.51984772393365],[-100.0001954821613,34.56522899020604],[-99.76152787962133,34.45779368747117],[-99.59908301471177,34.376299953746866],[-99.33607581256223,34.44296255140341],[-99.18740271685863,34.23555919040001],[-98.85189348020356,34.164633287079425],[-98.55397884804097,34.110657253550414],[-98.08832251665888,34.13448008883711],[-97.9570902168536,33.89369375257314],[-97.6570310127509,33.99371348727408],[-97.37658301470293,33.8381415878593],[-97.1040673490117,33.773597723926855],[-96.94795284705799,33.91805919039871],[-96.79661841509119,33.75135101982505],[-96.4627111478373,33.805327053354006],[-96.31613094764134,33.756131089812186],[-96.14890601274487,33.797937323536246],[-95.97746944861655,33.87943105726049],[-95.76949764685799,33.88100718844538],[-95.41812374548931,33.87041351982555],[-95.19059241410815,33.938161322560234],[-94.91014441606023,33.8317853866875],[-94.47991227901423,33.63598338473349],[-94.42753821488645,33.57038015393891],[-94.23333818233351,33.583609320605774],[-94.00208614782741,33.57991445569678],[-94.05975704626513,33.01211965588982],[-93.9989080472414,31.942650051393343],[-93.83486121293095,31.829943752564816],[-93.7793090482171,31.67543122001223],[-93.69412044958403,31.443662421183035],[-93.57823605016944,31.216131089801934]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3537","diss_me":3537,"adm1_cod_1":"USA-3537","iso_3166_2":"US-CT","wikipedia":"http://en.wikipedia.org/wiki/Connecticut","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Connecticut","name_alt":"CT|Conn.","name_local":null,"type":"State","type_en":"State","code_local":"US09","code_hasc":"US.CT","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"region_big":"New England","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Conn.","postal":"CT","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":11,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-72.87616634793818,41.22055919042799],[-73.64788653178721,40.95323936094951],[-73.65668718127472,40.9850696884738],[-73.69267981636597,41.107310289060365],[-73.47517371284943,41.2046686874981],[-73.55348934598777,41.28985728613134],[-73.49793718127404,42.0545134547541],[-72.73222164578914,42.03598745377741],[-71.80090898302507,42.01324982356908],[-71.79295081245215,41.466616522785614],[-71.853825649692,41.32003632258983],[-72.29514238146447,41.26975515396981],[-72.87616634793818,41.22055919042799]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3513","diss_me":3513,"adm1_cod_1":"USA-3513","iso_3166_2":"US-MA","wikipedia":"http://en.wikipedia.org/wiki/Massachusetts","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":6,"admin0_lab":2,"name":"Massachusetts","name_alt":"Commonwealth of Massachusetts|MA|Mass.","name_local":null,"type":"State","type_en":"State","code_local":"US25","code_hasc":"US.MA","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"region_big":"New England","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Mass.","postal":"MA","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":13,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-69.88479855007472,41.922764390625986],[-69.96520707872087,41.63699372005193],[-70.63989457872357,41.47506561946534],[-71.1203820461734,41.49465098730397],[-71.14789974636884,41.64758738867177],[-71.30507361518457,41.76241242122431],[-71.37915178087496,42.02436025651181],[-71.8009089830251,42.013249823569055],[-72.73222164578922,42.03598745377748],[-73.49793718127407,42.054513454754115],[-73.28203304715862,42.74348948828552],[-72.45707048205115,42.72708222103286],[-71.24897884793174,42.71809052181406],[-71.14578101264486,42.81650828711393],[-70.93359758165442,42.88425608984859],[-70.81505184597688,42.865187486332886],[-70.82510291205764,42.33496145280212],[-70.49491634792872,41.80473541927135],[-70.08005794948956,41.77987905533895],[-70.18483191596133,42.144998887697184],[-69.88479855007472,41.922764390625986]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3538","diss_me":3538,"adm1_cod_1":"USA-3538","iso_3166_2":"US-NH","wikipedia":"http://en.wikipedia.org/wiki/New_Hampshire","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"New Hampshire","name_alt":"NH|N.H.","name_local":null,"type":"State","type_en":"State","code_local":"US33","code_hasc":"US.NH","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"region_big":"New England","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"N.H.","postal":"NH","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":13,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-71.50351111518529,45.00779572201856],[-71.50508724637024,45.008312486341424],[-71.40509334988542,45.254912421238316],[-71.08482,45.30524],[-70.94416541205806,43.46633942318431],[-70.98176001655037,43.36789581966826],[-70.79761105007827,43.21973948828747],[-70.75102474636725,43.08003225358635],[-70.64573401557249,43.090083319667144],[-70.81505184597688,42.86518748633296],[-70.9335975816544,42.88425608984858],[-71.14578101264487,42.816508287114004],[-71.24897884793177,42.71809052181413],[-72.45707048205111,42.72708222103296],[-72.53750484891339,42.83079682064266],[-72.45864661323606,42.96045298926299],[-72.43430701362655,43.22291758887337],[-72.40361121284519,43.28536855729823],[-72.36976314969394,43.52189158789815],[-72.26020911323525,43.72138845476093],[-72.17819861518808,43.80869578711793],[-72.05913611518758,44.04576142025695],[-72.03637264676297,44.20663015398151],[-72.0030413479347,44.30401439063564],[-71.80990068224389,44.3521509873155],[-71.58552161323257,44.46803538672992],[-71.54637671577137,44.59239472104042],[-71.62045488146185,44.73579682065031],[-71.50351111518529,45.00779572201856]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3539","diss_me":3539,"adm1_cod_1":"USA-3539","iso_3166_2":"US-RI","wikipedia":"http://en.wikipedia.org/wiki/Rhode_Island","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":6,"admin0_lab":2,"name":"Rhode Island","name_alt":"State of Rhode Island and Providence Plantations|RI|R.I.","name_local":null,"type":"State","type_en":"State","code_local":"US44","code_hasc":"US.RI","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"region_big":"New England","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"R.I.","postal":"RI","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":12,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-71.14789974636884,41.64758738867177],[-71.1203820461734,41.49465098730397],[-71.85382564969197,41.32003632258973],[-71.79295081245215,41.46661652278563],[-71.8009089830251,42.013249823569055],[-71.37915178087496,42.02436025651181],[-71.30507361518457,41.76241242122431],[-71.14789974636884,41.64758738867177]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3540","diss_me":3540,"adm1_cod_1":"USA-3540","iso_3166_2":"US-VT","wikipedia":"http://en.wikipedia.org/wiki/Vermont","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Vermont","name_alt":"VT","name_local":null,"type":"State","type_en":"State","code_local":"US50","code_hasc":"US.VT","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"region_big":"New England","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Vt.","postal":"VT","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":7,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-71.50351111518535,45.00779572201852],[-71.62045488146187,44.73579682065026],[-71.54637671577146,44.59239472104031],[-71.58552161323256,44.46803538672991],[-71.80990068224386,44.35215098731539],[-72.00304134793475,44.304014390635515],[-72.036372646763,44.20663015398147],[-72.05913611518758,44.04576142025687],[-72.17819861518805,43.80869578711791],[-72.26020911323525,43.72138845476078],[-72.36976314969402,43.521891587898004],[-72.4036112128452,43.285368557298106],[-72.43430701362658,43.222917588873365],[-72.45864661323606,42.96045298926295],[-72.53750484891344,42.83079682064263],[-72.45707048205115,42.727082221032866],[-73.28203304715862,42.74348948828552],[-73.23971004911158,43.56793528907005],[-73.38311214872152,43.57535085710395],[-73.40163814969816,43.61343638770307],[-73.33812781441145,43.75844045671406],[-73.4296726142165,44.01984568946249],[-73.32913611519265,44.22673228614301],[-73.3841715155835,44.379151923187905],[-73.40796851265391,44.67600718848857],[-73.36828101265375,44.804603990246875],[-73.34766211616929,45.00725311947946],[-71.50508724637027,45.00831248634144],[-71.50351111518535,45.00779572201852]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3541","diss_me":3541,"adm1_cod_1":"USA-3541","iso_3166_2":"US-AL","wikipedia":"http://en.wikipedia.org/wiki/Alabama","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":5,"admin0_lab":2,"name":"Alabama","name_alt":"AL|Ala.","name_local":null,"type":"State","type_en":"State","code_local":"US01","code_hasc":"US.AL","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"East South Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Ala.","postal":"AL","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":7,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-85.05441524935415,31.108695787067106],[-85.00519344759613,30.990692653928605],[-87.0456632148569,30.984879055295778],[-87.61715287957273,30.927724921180967],[-87.63304338250248,30.851528021766597],[-87.4049694485823,30.60864878999479],[-87.45788611524918,30.411270656855976],[-87.53038814975469,30.274198920201783],[-88.41780168328688,30.38481232352254],[-88.44953101271409,31.91198008882813],[-88.27334021681494,33.510047919238175],[-88.0955216132986,34.80598948825377],[-88.16696428094212,34.999672756483704],[-86.90967668328085,34.99913015394465],[-85.62538814974705,34.98590098727793],[-85.36555904818351,33.74447805433026],[-85.12955278190654,32.750714423141375],[-84.98615068229658,32.43796865491096],[-84.89884334993945,32.25911652274878],[-85.06392371289584,32.083416652956416],[-85.11950171582576,31.76539988863223],[-85.06552568229691,31.5770134547122],[-85.0903820462293,31.400280056274],[-85.11789974642471,31.236233221963445],[-85.05441524935415,31.108695787067106]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3542","diss_me":3542,"adm1_cod_1":"USA-3542","iso_3166_2":"US-FL","wikipedia":"http://en.wikipedia.org/wiki/Florida","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":5,"admin0_lab":2,"name":"Florida","name_alt":"FL|Fla.","name_local":null,"type":"State","type_en":"State","code_local":"US12","code_hasc":"US.FL","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"South Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":8,"abbrev":"Fla.","postal":"FL","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":7,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-80.05653928497765,26.88],[-80.08801,26.205765],[-80.13155999999987,25.81677500000012],[-80.38103,25.20616],[-80.67979855011788,25.07991649016799],[-81.17191321483341,25.201097723892417],[-81.33012061229499,25.639753119402087],[-81.71007158072098,25.869945787046277],[-82.23978084992882,26.729841620383013],[-82.70515,27.49504],[-82.85526,27.88624],[-82.64988501659712,28.55016978608029],[-82.9299999999999,29.100000000000136],[-83.70959,29.9365600000001],[-84.0997965156264,30.090049953729817],[-85.10882,29.6361500000001],[-85.28784,29.68612000000013],[-85.7731,30.15261],[-86.40006954623453,30.40016022391336],[-87.53038814975463,30.274198920201854],[-87.4578861152491,30.411270656856118],[-87.40496944858228,30.60864878999479],[-87.63304338250248,30.851528021766683],[-87.61715287957264,30.927724921181095],[-87.04566321485686,30.984879055295778],[-85.00519344759601,30.990692653928704],[-84.85331641309023,30.721355088823486],[-83.84789974641967,30.675311387651334],[-82.22600908072292,30.52555308686948],[-82.15193091503261,30.35093842215514],[-82.02281734895132,30.440364488236412],[-82.02015601268835,30.78801768647986],[-81.8995173815029,30.82189158784729],[-81.70159664582513,30.748330186479848],[-81.49047258169657,30.729830023719217],[-81.31371,30.035520000000133],[-80.97983191600446,29.179898789989068],[-80.53558,28.47213],[-80.53004024933603,28.04007172292728],[-80.05653928497765,26.88]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3543","diss_me":3543,"adm1_cod_1":"USA-3543","iso_3166_2":"US-GA","wikipedia":"http://en.wikipedia.org/wiki/Georgia_(U.S._state)","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":6,"admin0_lab":2,"name":"Georgia","name_alt":"GA|Ga.","name_local":null,"type":"State","type_en":"State","code_local":"US13","code_hasc":"US.GA","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"South Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Ga.","postal":"GA","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":7,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-80.86500688345194,32.03316132255259],[-81.33629,31.44049],[-81.49047258169657,30.729830023719217],[-81.70159664582513,30.748330186479848],[-81.8995173815029,30.82189158784729],[-82.02015601268835,30.78801768647986],[-82.02281734895132,30.440364488236412],[-82.15193091503261,30.35093842215514],[-82.22600908072297,30.52555308686948],[-83.84789974641967,30.675311387651334],[-84.85331641309023,30.721355088823486],[-85.00519344759607,30.990692653928704],[-85.05441524935412,31.108695787067234],[-85.11789974642471,31.23623322196346],[-85.09038204622931,31.400280056274084],[-85.06552568229688,31.577013454712187],[-85.11950171582572,31.765399888632203],[-85.06392371289581,32.08341665295643],[-84.89884334993945,32.259116522748855],[-84.98615068229651,32.43796865491106],[-85.12955278190651,32.7507144231414],[-85.36555904818346,33.74447805433033],[-85.62538814974698,34.985900987277944],[-84.85437577995225,34.976909288059176],[-84.32097164583553,34.98696035413991],[-83.07637061230196,34.97902802178311],[-83.18592464876076,34.895958156873974],[-83.34625077994627,34.706512356091935],[-83.07637061230196,34.54034678805738],[-82.9028153144497,34.4794977890337],[-82.71654761425356,34.163057155894535],[-82.59748511425317,33.98578115491722],[-82.24928931347051,33.748715521778195],[-82.18050798209003,33.624356187467924],[-81.94344234895101,33.46136872001921],[-81.82701534699743,33.22324372001839],[-81.50739661327219,33.02162811943151],[-81.43595394562868,32.79303742118839],[-81.37670691600607,32.68244985608385],[-81.41109758169631,32.60888845471641],[-81.22482988150023,32.49936025647378],[-81.12641211620041,32.31203318941573],[-81.1279882473853,32.121528021771724],[-81.03644344758027,32.084476019818396],[-80.86500688345194,32.03316132255259]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3544","diss_me":3544,"adm1_cod_1":"USA-3544","iso_3166_2":"US-MS","wikipedia":"http://en.wikipedia.org/wiki/Mississippi","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":5,"admin0_lab":2,"name":"Mississippi","name_alt":"MS|Miss.","name_local":null,"type":"State","type_en":"State","code_local":"US28","code_hasc":"US.MS","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"East South Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Miss.","postal":"MS","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":11,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-88.16696428094212,34.999672756483676],[-88.09552161329862,34.80598948825383],[-88.27334021681492,33.51004791923816],[-88.44953101271409,31.91198008882816],[-88.41780168328688,30.384812323522624],[-89.18049,30.31598],[-89.59383117841975,30.159994004836847],[-89.62323198114325,30.27525828706382],[-89.65868201369545,30.440881252559336],[-89.79045691603972,30.556791490189937],[-89.8539414131103,30.683243720008136],[-89.78779557977674,30.847290554318647],[-89.75921851271931,31.01345612235326],[-90.70166744664232,31.015574856077194],[-91.58378414586463,31.04733002372052],[-91.62453101272678,31.29708222098708],[-91.50229041214038,31.40872915295381],[-91.41128821487433,31.6500322535407],[-91.32131954625419,31.859580186484266],[-91.12817888056327,32.01569468843792],[-91.08161841506836,32.20459788668086],[-90.94297054722921,32.30673635510567],[-91.0720841133105,32.47871552177321],[-91.03082048212548,32.60253225354444],[-91.17579871292025,32.80838532157918],[-91.08479651565432,32.95284678805103],[-91.15623918329783,33.01000092216589],[-91.10807674840174,33.206836452765685],[-91.22344438349336,33.46932689059224],[-91.20068091506874,33.70639252373121],[-90.98214128290641,34.0551050888368],[-90.87630794957266,34.261474921194235],[-90.69954871291833,34.39746145277036],[-90.58420691604289,34.454098822562344],[-90.4503132799747,34.72186025648273],[-90.44661841506581,34.86683848727745],[-90.26828304722653,34.94145925550703],[-90.24924028192697,35.02083425550717],[-89.26392574741777,35.02135101983026],[-88.16696428094212,34.999672756483676]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3545","diss_me":3545,"adm1_cod_1":"USA-3545","iso_3166_2":"US-SC","wikipedia":"http://en.wikipedia.org/wiki/South_Carolina","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"South Carolina","name_alt":"SC|S.C.","name_local":null,"type":"State","type_en":"State","code_local":"US45","code_hasc":"US.SC","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"South Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"S.C.","postal":"SC","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":14,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-78.55411434600785,33.86142182060689],[-79.06067,33.49395],[-79.20357,33.15839000000011],[-80.301325,32.509355],[-80.86500688345194,32.03316132255259],[-81.03644344758027,32.084476019818396],[-81.1279882473853,32.121528021771724],[-81.12641211620041,32.31203318941573],[-81.22482988150023,32.49936025647378],[-81.41109758169631,32.60888845471641],[-81.37670691600607,32.68244985608385],[-81.43595394562868,32.79303742118839],[-81.50739661327219,33.02162811943151],[-81.82701534699743,33.22324372001839],[-81.94344234895101,33.46136872001921],[-82.18050798209003,33.624356187467924],[-82.24928931347051,33.748715521778195],[-82.59748511425317,33.98578115491722],[-82.71654761425356,34.163057155894535],[-82.9028153144497,34.4794977890337],[-83.07637061230196,34.54034678805738],[-83.34625077994627,34.706512356091935],[-83.18592464876076,34.895958156873974],[-83.07637061230196,34.97902802178311],[-82.9763767158172,35.0086644557025],[-82.4366163805285,35.180101019830886],[-81.51426957876708,35.17165192315099],[-81.04597774933814,35.125608221979064],[-81.0380195787651,35.03724152275993],[-80.9374830797413,35.103387356093606],[-80.78085181346466,34.93404368747309],[-80.7835131497277,34.81764252373563],[-79.67277991404609,34.80756561943866],[-78.55411434600785,33.86142182060689]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3546","diss_me":3546,"adm1_cod_1":"USA-3546","iso_3166_2":"US-IL","wikipedia":"http://en.wikipedia.org/wiki/Illinois","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Illinois","name_alt":"IL|Ill.","name_local":null,"type":"State","type_en":"State","code_local":"US17","code_hasc":"US.IL","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"East North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Ill.","postal":"IL","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-90.64081844761868,42.50536448828457],[-89.62005388055731,42.50536448828457],[-88.5765516832875,42.50324575456061],[-87.80659868035474,42.49425405534181],[-87.80659868035474,42.4968895533887],[-87.48964128289253,42.49531342220381],[-87.039307013685,42.492652085940776],[-87.084808112318,42.30956248633066],[-87.13033504916714,42.12701548925962],[-87.17583614780014,41.94390005143336],[-87.22133724643314,41.76083629003941],[-87.37163814975403,41.76083629003941],[-87.52085384799682,41.76083629003941],[-87.52137061231974,41.70843638769544],[-87.52615068230674,41.70843638769544],[-87.52721004916873,40.55008331965696],[-87.52826941603071,39.39227285415754],[-87.64203508172127,39.1139435898335],[-87.55999874545792,39.040382188466026],[-87.50708207879104,38.86946238866065],[-87.51504024936399,38.73505198826949],[-87.59865271681224,38.6742029892458],[-87.6711289131016,38.508580023750355],[-87.87855811232117,38.29055715591093],[-88.01880794956132,38.02173635512861],[-88.05107988152758,37.81960399021895],[-88.04420691603278,37.744983221989486],[-88.15742997918427,37.605818589827464],[-88.0717246162282,37.51161245375938],[-88.24739864780442,37.43859365493097],[-88.47387061232357,37.35498118748272],[-88.43524247918538,37.13644155532039],[-88.5664747789906,37.05388845473412],[-88.80777787957749,37.14649262140115],[-89.07396318231294,37.20046865493002],[-89.14168514683143,37.10362702081504],[-89.10305701369326,36.952292588848294],[-89.28033301467053,37.107347723940066],[-89.38828508172826,37.08140615492954],[-89.51633928094752,37.32692088474823],[-89.47928727899424,37.477221788069144],[-89.5539080472237,37.71904165297896],[-89.65498714878662,37.74867808689835],[-89.91690914585797,37.968277085922665],[-90.03015804722561,37.97199778904769],[-90.22807878290348,38.11328115493366],[-90.36987891311239,38.26355622003844],[-90.30533504917983,38.439256089830806],[-90.2127308825128,38.584776923164725],[-90.1560935127209,38.76944265395973],[-90.3465986803649,38.93031138768433],[-90.53552771682399,38.865767523751785],[-90.64981014683747,38.907547919259756],[-90.66570064976722,39.074772854156265],[-90.74928727899933,39.265278021800256],[-90.84137468134344,39.31077912043325],[-91.0715673489876,39.445189520824414],[-91.2625892809545,39.615049953767794],[-91.42821224644996,39.82090302180248],[-91.51763831253103,40.119877020827104],[-91.43033098017392,40.3685956894479],[-91.4102288480124,40.55114268651894],[-91.15412044957387,40.699841620438804],[-91.0874320137012,40.85171865494462],[-90.95674231643505,41.024757188473956],[-90.9990653144821,41.17981232356573],[-91.12342464879248,41.25758535416499],[-91.0339985827114,41.42956452083234],[-90.69055701369962,41.47878632259035],[-90.46196631545651,41.53645722102809],[-90.39527787958384,41.60841665299452],[-90.21006954624977,41.8349144557298],[-90.15663611525997,42.103735256512124],[-90.2598081123307,42.18998322200727],[-90.41698198114644,42.27041758886956],[-90.46460181350339,42.37836965592729],[-90.58260494664188,42.4291675888702],[-90.64081844761868,42.50536448828457]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3547","diss_me":3547,"adm1_cod_1":"USA-3547","iso_3166_2":"US-IN","wikipedia":"http://en.wikipedia.org/wiki/Indiana","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Indiana","name_alt":"IN|Ind.","name_local":null,"type":"State","type_en":"State","code_local":"US18","code_hasc":"US.IN","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"East North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Ind.","postal":"IN","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":7,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-84.80675594759535,41.67774058691407],[-84.8099340481813,40.77286041926722],[-84.8178663805381,39.79974152277896],[-84.82367997917093,39.10652802179962],[-84.88137671582481,39.05942495376557],[-84.79988298210053,38.85517385513195],[-84.84326534700955,38.78109568944154],[-85.01154964876804,38.77949372004049],[-85.16763831250564,38.6911270208214],[-85.4041871813217,38.72711965591269],[-85.42589128288428,38.53503835708379],[-85.5666320462312,38.46199372003923],[-85.69840694857547,38.290014553371876],[-85.83969031446145,38.25880198826758],[-86.05983191602483,37.960887356104934],[-86.26250688347356,38.04661855727716],[-86.32547461622121,38.16937592218649],[-86.49957251661253,37.969879055323716],[-86.61016008171714,37.85874888768005],[-86.82552161329352,37.97623525649561],[-87.05571428093768,37.88096975356555],[-87.13139441602912,37.78361135512766],[-87.43936011427255,37.9360051539564],[-87.65366227898694,37.82647695571377],[-87.91137264682652,37.90424998631303],[-87.92142371290728,37.793662421208424],[-88.05107988152758,37.81960399021895],[-88.01880794956132,38.02173635512861],[-87.87855811232117,38.29055715591093],[-87.6711289131016,38.508580023750355],[-87.59865271681224,38.6742029892458],[-87.51504024936399,38.73505198826949],[-87.50708207879104,38.86946238866065],[-87.55999874545792,39.040382188466026],[-87.64203508172127,39.1139435898335],[-87.52826941603071,39.39227285415754],[-87.52721004916873,40.55008331965696],[-87.52615068230674,41.70843638769544],[-87.52137061231974,41.76083629003941],[-87.22133724643314,41.76083629003941],[-86.91812577996056,41.76083629003941],[-86.82446224643155,41.76083629003941],[-86.82446224643155,41.7560562200524],[-85.7481455146564,41.751301988281554],[-84.80729855013442,41.7560562200524],[-84.80675594759535,41.67774058691407]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3548","diss_me":3548,"adm1_cod_1":"USA-3548","iso_3166_2":"US-KY","wikipedia":"http://en.wikipedia.org/wiki/Kentucky","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Kentucky","name_alt":"Commonwealth of Kentucky|KY","name_local":null,"type":"State","type_en":"State","code_local":"US21","code_hasc":"US.KY","note":null,"hasc_maybe":"US.IN|USA-KEN","region":"South","region_cod":null,"region_big":"East South Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":10,"scaleran_1":2,"datarank":1,"abbrev":"Ky.","postal":"KY","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-81.9725361803314,37.53595205336886],[-82.37258928091893,37.2380374212062],[-82.68479244661029,37.121093654929695],[-82.70913204621976,37.04014252374448],[-82.81550798209258,36.93482595473364],[-83.08908301464577,36.81576345473316],[-83.17850908072685,36.71837921807912],[-83.38436214876154,36.65649669040961],[-83.67328508170539,36.59985932061771],[-84.35009131543205,36.567044786112376],[-85.23114864779235,36.60991038669849],[-85.51901221387423,36.59774058689375],[-86.09262061231402,36.62577505141209],[-86.67788204623565,36.63373322198504],[-87.21658301466228,36.63900421807881],[-87.84204871290697,36.61096975356047],[-87.87434648308938,36.65649669040961],[-88.07278398309018,36.654377956685636],[-88.06960588250422,36.4972040878699],[-89.49835588250994,36.5061957870887],[-89.27397681349862,36.61151235609954],[-89.115226813498,36.694582221008716],[-89.13426957879756,36.85175608982445],[-89.10305701369326,36.952292588848294],[-89.14168514683143,37.10362702081504],[-89.07396318231294,37.20046865493002],[-88.80777787957749,37.14649262140115],[-88.5664747789906,37.05388845473412],[-88.43524247918538,37.13644155532039],[-88.47387061232357,37.35498118748272],[-88.24739864780442,37.43859365493097],[-88.0717246162282,37.51161245375938],[-88.15742997918427,37.605818589827464],[-88.04420691603278,37.744983221989486],[-88.05107988152758,37.81960399021895],[-87.92142371290728,37.793662421208424],[-87.91137264682652,37.90424998631303],[-87.65366227898694,37.82647695571377],[-87.43936011427255,37.9360051539564],[-87.13139441602912,37.78361135512766],[-87.05571428093768,37.88096975356555],[-86.82552161329352,37.97623525649561],[-86.61016008171714,37.85874888768005],[-86.49957251661253,37.969879055323716],[-86.32547461622121,38.16937592218649],[-86.26250688347356,38.04661855727716],[-86.05983191602483,37.960887356104934],[-85.83969031446145,38.25880198826758],[-85.69840694857547,38.290014553371876],[-85.5666320462312,38.46199372003923],[-85.42589128288428,38.53503835708379],[-85.4041871813217,38.72711965591269],[-85.16763831250564,38.6911270208214],[-85.01154964876804,38.77949372004049],[-84.84326534700955,38.78109568944154],[-84.79988298210053,38.85517385513195],[-84.88137671582481,39.05942495376557],[-84.82367997917093,39.10652802179962],[-84.48132361523727,39.08324778905212],[-84.30459021679906,38.98692291926008],[-84.03894751660269,38.76099355728],[-83.82673824739611,38.69006765395942],[-83.67274247916633,38.60911652277419],[-83.43461747916538,38.63715098729253],[-83.25894344758916,38.57948008885481],[-83.04464128287475,38.63451548924564],[-82.85519548209274,38.65143952082124],[-82.77527787955336,38.51121552179724],[-82.5890101793573,38.415433254544254],[-82.56996741405774,38.320193589830325],[-82.58056108267758,38.11328115493366],[-82.46149858267711,37.95716665297992],[-82.41333614778108,37.80531545669025],[-82.26729855012425,37.67565928806994],[-82.16727881542333,37.554478054345495],[-81.9725361803314,37.53595205336886]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3549","diss_me":3549,"adm1_cod_1":"USA-3549","iso_3166_2":"US-NC","wikipedia":"http://en.wikipedia.org/wiki/North_Carolina","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":5,"admin0_lab":2,"name":"North Carolina","name_alt":"NC|N.C.","name_local":null,"type":"State","type_en":"State","code_local":"US37","code_hasc":"US.NC","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"South Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"N.C.","postal":"NC","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":14,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-75.8680767483408,36.55118012139883],[-75.72731014677777,35.550517686499006],[-76.36336951364223,34.80862498630063],[-77.397635,34.51201],[-78.05496,33.92547],[-78.55411434600785,33.86142182060689],[-79.67277991404609,34.80756561943866],[-80.7835131497277,34.81764252373563],[-80.78085181346466,34.93404368747309],[-80.9374830797413,35.103387356093606],[-81.0380195787651,35.03724152275993],[-81.04597774933814,35.125608221979064],[-81.51426957876708,35.17165192315099],[-82.4366163805285,35.180101019830886],[-82.9763767158172,35.0086644557025],[-83.07637061230196,34.97902802178311],[-84.32097164583553,34.98696035413991],[-84.29875077995007,35.19862702080741],[-84.08708411328251,35.26159475355519],[-84.01776017936294,35.369004218073826],[-83.87596004915412,35.49021129001426],[-83.67328508170533,35.51666962334775],[-83.43833818229035,35.56268748630373],[-83.20972164583105,35.64896129001494],[-83.11078711620837,35.737327989234075],[-82.92028194856431,35.817219753557424],[-82.92557878287425,35.8897217880629],[-82.67422461620657,36.02519155531593],[-82.59324764680525,35.937341620419886],[-82.22389034699899,36.12572805433979],[-82.05139441600875,36.10614268650113],[-81.89739864777897,36.27391022393675],[-81.69366431346822,36.3172925888457],[-81.70477474641103,36.46015208591672],[-81.67937577993962,36.58557078708901],[-79.99239864777132,36.54218842218006],[-77.99954871286752,36.53743419040927],[-76.94121537952998,36.54588328708883],[-75.8680767483408,36.55118012139883]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3550","diss_me":3550,"adm1_cod_1":"USA-3550","iso_3166_2":"US-OH","wikipedia":"http://en.wikipedia.org/wiki/Ohio","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Ohio","name_alt":"OH|Ohio","name_local":null,"type":"State","type_en":"State","code_local":"US39","code_hasc":"US.OH","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"East North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Ohio","postal":"OH","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":4,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-82.21066118033235,38.57948008885481],[-82.34083411327558,38.44083222101571],[-82.5890101793573,38.415433254544254],[-82.77527787955336,38.51121552179724],[-82.85519548209274,38.65143952082124],[-83.04464128287475,38.63451548924564],[-83.25894344758916,38.57948008885481],[-83.43461747916538,38.63715098729253],[-83.67274247916633,38.60911652277419],[-83.82673824739611,38.69006765395942],[-84.03894751660269,38.76099355728],[-84.30459021679906,38.98692291926008],[-84.48132361523727,39.08324778905212],[-84.82367997917093,39.10652802179962],[-84.8178663805381,39.79974152277896],[-84.8099340481813,40.77286041926722],[-84.80675594759535,41.67774058691407],[-84.29505591504122,41.68515615494796],[-83.83996741406284,41.68515615494796],[-83.46267778189986,41.694147854166744],[-83.14199968131264,41.975681057292874],[-83.1218975491511,41.94973948828235],[-83.029810146807,41.83279572200584],[-82.8663059150355,41.75287811946646],[-82.6900892809202,41.675105088867184],[-82.4392777167916,41.675105088867184],[-82.21332251659538,41.77881968847697],[-81.97413814973245,41.88889048925867],[-81.76086951366389,41.98679149023562],[-81.50739661327225,42.103735256512124],[-81.27774654816716,42.209025987306816],[-81.0279685126844,42.24713735612208],[-80.68243404816478,42.299511420249885],[-80.5205059475782,42.32439362239843],[-80.51626848013026,42.32491038672134],[-80.51626848013026,42.32439362239843],[-80.5189298163933,40.64111135513909],[-80.65755184601625,40.5908301865191],[-80.6152288479692,40.463835354161816],[-80.66178931346417,40.23364268651767],[-80.76498714875106,39.973296820631205],[-80.86182878286601,39.75739268651576],[-80.87875281444161,39.65422068944504],[-81.15075171580989,39.426146755524854],[-81.26609351268534,39.37744171808977],[-81.40104651561558,39.34940725357143],[-81.52222774934002,39.37162811945693],[-81.74500484895029,39.19964895278957],[-81.78575171581242,39.019220689442506],[-81.81696428091672,38.92183645278847],[-81.90587358267489,38.8821489527883],[-81.91856014680255,38.9937958847549],[-82.05402991405569,39.01816132258051],[-82.19479651561875,38.80119782160308],[-82.21066118033235,38.57948008885481]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3551","diss_me":3551,"adm1_cod_1":"USA-3551","iso_3166_2":"US-TN","wikipedia":"http://en.wikipedia.org/wiki/Tennessee","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Tennessee","name_alt":"TN|Tenn.","name_local":null,"type":"State","type_en":"State","code_local":"US47","code_hasc":"US.TN","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"East South Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Tenn.","postal":"TN","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":9,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-81.6793757799396,36.58557078708901],[-81.70477474641106,36.46015208591663],[-81.6936643134683,36.317292588845746],[-81.89739864777903,36.273910223936724],[-82.0513944160088,36.10614268650116],[-82.22389034699907,36.125728054339774],[-82.59324764680524,35.93734162041976],[-82.6742246162066,36.02519155531594],[-82.92557878287428,35.889721788062786],[-82.92028194856437,35.817219753557296],[-83.11078711620834,35.73732798923406],[-83.20972164583114,35.64896129001495],[-83.43833818229038,35.56268748630367],[-83.67328508170539,35.51666962334775],[-83.87596004915412,35.490211290014315],[-84.01776017936302,35.36900421807373],[-84.08708411328257,35.26159475355507],[-84.29875077995008,35.19862702080742],[-84.32097164583558,34.98696035413991],[-84.8543757799523,34.97690928805915],[-85.62538814974705,34.98590098727793],[-86.90967668328085,34.99913015394465],[-88.16696428094212,34.999672756483704],[-89.26392574741786,35.02135101983015],[-90.249240281927,35.02083425550724],[-90.13493201369738,35.11395518649719],[-90.14710181350213,35.40499685316502],[-89.98889441604055,35.536229152970236],[-89.95026628290238,35.70187795668183],[-89.77510901564906,35.79923635511972],[-89.67351314976325,35.94000295668279],[-89.66291948114342,36.02307282159197],[-89.585120612328,36.26701142022576],[-89.52427161330432,36.40935415297372],[-89.49835588250994,36.5061957870887],[-88.06960588250422,36.4972040878699],[-88.07278398309018,36.654377956685636],[-87.87434648308938,36.65649669040961],[-87.84204871290697,36.61096975356047],[-87.21658301466228,36.63900421807881],[-86.67788204623565,36.63373322198504],[-86.09262061231402,36.62577505141209],[-85.51901221387423,36.59774058689375],[-85.23114864779235,36.60991038669849],[-84.35009131543205,36.567044786112376],[-83.67328508170539,36.59985932061771],[-82.18632158072288,36.565985419250396],[-81.6793757799396,36.58557078708901]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3552","diss_me":3552,"adm1_cod_1":"USA-3552","iso_3166_2":"US-VA","wikipedia":"http://en.wikipedia.org/wiki/Virginia","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":6,"admin0_lab":2,"name":"Virginia","name_alt":"VA","name_local":null,"type":"State","type_en":"State","code_local":"US51","code_hasc":"US.VA","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"South Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Va.","postal":"VA","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-75.37753868103027,38.01538276672363],[-75.94003486633301,37.216875076293945],[-76.03106307983398,37.25656318664551],[-75.72204971313477,37.93705177307129],[-75.60984992980957,38.00003242492676],[-75.37753868103027,38.01538276672363]]],[[[-78.34562492370605,39.40550422668457],[-77.8349838256836,39.13456153869629],[-77.7227954864502,39.322431564331055],[-77.57621574401855,39.28856086730957],[-77.44340705871582,39.213422775268555],[-77.5169677734375,39.10598564147949],[-77.30581855773926,39.04567909240723],[-77.11955070495605,38.93400764465332],[-77.03647994995117,38.848276138305664],[-77.04123497009277,38.7895450592041],[-77.05921745300293,38.70859336853027],[-77.22962188720703,38.61441612243652],[-77.34338760375977,38.391611099243164],[-77.21057891845703,38.33711814880371],[-77.0481071472168,38.380502700805664],[-76.98989486694336,38.23973274230957],[-76.3016185760498,37.91794776916504],[-76.25873947143555,36.96640205383301],[-75.97179985046387,36.897260665893555],[-75.86807632446289,36.55117988586426],[-76.94121551513672,36.54588508605957],[-77.99954795837402,36.53743553161621],[-79.99239730834961,36.54218864440918],[-81.67937469482422,36.58557319641113],[-82.18632125854492,36.56598472595215],[-83.67328453063965,36.5998592376709],[-83.38436126708984,36.65649604797363],[-83.17850875854492,36.71838188171387],[-83.08908271789551,36.81576347351074],[-82.81550788879395,36.93482780456543],[-82.70913124084473,37.040143966674805],[-82.6847915649414,37.12109565734863],[-82.37258911132812,37.23803901672363],[-81.97253608703613,37.53595161437988],[-81.9280948638916,37.36609077453613],[-81.81538772583008,37.27560615539551],[-81.66351127624512,37.195173263549805],[-81.34812927246094,37.31583595275879],[-81.22800827026367,37.24545478820801],[-80.85492897033691,37.32906532287598],[-80.833251953125,37.41849327087402],[-80.72000312805176,37.38304328918457],[-80.5961856842041,37.4560604095459],[-80.45699501037598,37.44177436828613],[-80.29824447631836,37.51902961730957],[-80.27656745910645,37.61057472229004],[-80.2929744720459,37.72805976867676],[-80.15750503540039,37.90109825134277],[-79.96436309814453,38.031789779663086],[-79.91514205932617,38.179426193237305],[-79.74367904663086,38.357221603393555],[-79.64792251586914,38.57472801208496],[-79.51508903503418,38.497446060180664],[-79.36639022827148,38.42602729797363],[-79.22298812866211,38.46463203430176],[-79.17482566833496,38.5556583404541],[-79.07640838623047,38.68001747131348],[-78.96527671813965,38.82181739807129],[-78.89280128479004,38.780038833618164],[-78.74461936950684,38.90915107727051],[-78.54884338378906,39.039838790893555],[-78.42448425292969,39.13931846618652],[-78.34562492370605,39.40550422668457]]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3553","diss_me":3553,"adm1_cod_1":"USA-3553","iso_3166_2":"US-WI","wikipedia":"http://en.wikipedia.org/wiki/Wisconsin","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Wisconsin","name_alt":"WI|Wis.","name_local":null,"type":"State","type_en":"State","code_local":"US55","code_hasc":"US.WI","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"East North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Wis.","postal":"WI","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":9,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-86.4815632799588,45.32317698829584],[-86.26459977898139,45.22687795671993],[-86.40167151563557,45.13321442319092],[-86.53608191602675,45.04166962338586],[-86.71493404818892,44.84641022397102],[-86.82234351270758,44.59133535417833],[-86.91866838249962,44.36168528907325],[-87.03243404819018,44.09128835710602],[-87.0832319811331,43.8901895208422],[-87.14196224643281,43.65787811947408],[-87.14514034701875,43.571087551439874],[-87.15519141309953,43.326632188483174],[-87.11392778191447,43.03029368750542],[-87.07953711622423,42.782117621423694],[-87.039307013685,42.492652085940776],[-87.48964128289253,42.49531342220381],[-87.80659868035474,42.4968895533887],[-87.80659868035474,42.49425405534181],[-88.5765516832875,42.50324575456061],[-89.62005388055731,42.50536448828457],[-90.64081844761868,42.50536448828457],[-90.73817684605658,42.65827505143622],[-91.06469438349276,42.75408315690535],[-91.12923824742532,42.91283315690599],[-91.16998511428747,43.00223338477093],[-91.17316321487343,43.21232392025354],[-91.08373714879232,43.288004055345],[-91.21391008173555,43.44675405534562],[-91.22819861526426,43.5012468531974],[-91.2546569485977,43.61397899024213],[-91.25729244664458,43.854739488289965],[-91.28959021682701,43.93729258887623],[-91.62770911331273,44.085448920257036],[-91.87960588251947,44.25742808692439],[-91.949989183301,44.364837551443046],[-92.06215287959051,44.43258535417769],[-92.38549231644078,44.57492808692567],[-92.50507158076417,44.58391978614445],[-92.79665584997105,44.77602692318949],[-92.76647681351261,44.996142686536714],[-92.76541744665062,45.26708222104301],[-92.68922054723626,45.51843638771068],[-92.89982784704179,45.70576345476873],[-92.75696834997089,45.88991242124082],[-92.54369971390233,45.98569468849381],[-92.2965830146826,46.09628225359842],[-92.26482784703924,46.09522288673644],[-92.27487891312,46.65614472104858],[-92.01189754918667,46.71172272397848],[-91.96479448115262,46.72970612241605],[-91.8409777493813,46.778385321635],[-91.71661841507091,46.82760712339301],[-91.5922590807605,46.8762604843958],[-91.46844234898919,46.9249655218309],[-91.26470801467846,47.021264553406795],[-91.06097368036777,47.117046820659795],[-90.85778194859611,47.21282908791278],[-90.6540476142854,47.309128119488676],[-90.47994971389409,47.303857123394906],[-90.30585181350276,47.29801768654593],[-90.13175391311144,47.29274669045216],[-89.95765601272012,47.286907253603175],[-90.01481014683492,47.19959992124606],[-90.07144751662682,47.11174998634988],[-90.12805904820257,47.023900051453694],[-90.18521318231738,46.93607595477364],[-90.24182471389312,46.84822601987746],[-90.29897884800795,46.760918687520345],[-90.35559037958369,46.67306875262416],[-90.39527787958384,46.611677151061414],[-90.41062577997454,46.58418528908214],[-90.3968798489849,46.57625295672534],[-90.33497148309922,46.59687185320979],[-90.33391211623724,46.593693752623835],[-90.17673824742151,46.5608792181185],[-90.09630388055922,46.38099355731049],[-89.22106014683175,46.202115586932166],[-88.64427364780602,46.02220408790801],[-88.36170691603405,46.02062795672312],[-88.16696428094212,46.00791555437931],[-88.11192888055128,45.843351955745845],[-87.87540584995136,45.77984162045912],[-87.78701331251612,45.639617621435136],[-87.84788814975595,45.55918325457283],[-87.89338924838894,45.39671255144718],[-87.67324764682556,45.387746690444544],[-87.74732581251595,45.22687795671993],[-87.61397477898677,45.108874823581445],[-87.6129154121248,45.11045095476635],[-87.45946224643407,45.068127956719295],[-87.41977474643392,45.18401235613382],[-87.24461747918062,45.28984568946758],[-87.11550391309937,45.452290554377086],[-86.94246537957002,45.452290554377086],[-86.7742069160277,45.452290554377086],[-86.4815632799588,45.32317698829584]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3554","diss_me":3554,"adm1_cod_1":"USA-3554","iso_3166_2":"US-WV","wikipedia":"http://en.wikipedia.org/wiki/West_Virginia","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"West Virginia","name_alt":"WV|W.Va.","name_local":null,"type":"State","type_en":"State","code_local":"US54","code_hasc":"US.WV","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"South Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"W.Va.","postal":"WV","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":13,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-77.72279557972846,39.32243215591507],[-77.83498511423412,39.13456248631796],[-78.34562577992627,39.40550202082426],[-78.42448401560367,39.13931671808881],[-78.54884334991405,39.039839585926956],[-78.74461951365183,38.90914988866081],[-78.89280168324876,38.78003632257956],[-78.96527787953812,38.82181671808755],[-79.07640804718179,38.68001658787864],[-79.17482581248167,38.55565725356824],[-79.22298824737769,38.46462921808612],[-79.36639034698764,38.42602692316409],[-79.51508928090752,38.49744375259145],[-79.64792355011377,38.57472585708395],[-79.74367997915061,38.35721975356745],[-79.91514238149504,38.17942698826727],[-79.96436418325305,38.03178742120939],[-80.15750484894393,37.90109772394324],[-80.29297461619709,37.7280591904139],[-80.27656734894441,37.610572821598325],[-80.29824561229086,37.519028021793275],[-80.45699561229148,37.441771755516925],[-80.59618608266965,37.456060289045624],[-80.72000281444097,37.38304149021721],[-80.83325171580861,37.41849152276943],[-80.85492997915506,37.32906545668834],[-81.22800798208624,37.24545298924009],[-81.3481298489487,37.31583629002162],[-81.663511115226,37.195171820620104],[-81.81538814973182,37.275606187482396],[-81.92809444856039,37.366091620425465],[-81.9725361803314,37.53595205336886],[-82.16727881542333,37.554478054345495],[-82.26729855012425,37.67565928806994],[-82.41333614778108,37.80531545669025],[-82.46149858267711,37.95716665297992],[-82.58056108267758,38.11328115493366],[-82.56996741405774,38.320193589830325],[-82.5890101793573,38.415433254544254],[-82.34083411327558,38.44083222101571],[-82.21066118033235,38.57948008885481],[-82.19479651561875,38.80119782160308],[-82.05402991405569,39.01816132258051],[-81.91856014680255,38.9937958847549],[-81.90587358267489,38.8821489527883],[-81.81696428091672,38.92183645278847],[-81.78575171581242,39.019220689442506],[-81.74500484895029,39.19964895278957],[-81.52222774934002,39.37162811945693],[-81.40104651561558,39.34940725357143],[-81.26609351268534,39.37744171808977],[-81.15075171580989,39.426146755524854],[-80.87875281444161,39.65422068944504],[-80.86182878286601,39.75739268651576],[-80.76498714875106,39.973296820631205],[-80.66178931346417,40.23364268651767],[-80.6152288479692,40.463835354161816],[-80.65755184601625,40.5908301865191],[-80.5189298163933,40.64111135513909],[-80.5189298163933,39.72088328710156],[-79.47752051463132,39.72088328710156],[-79.48599544952718,39.21342072199536],[-79.33251644562031,39.30284678807645],[-79.16107988149203,39.41821442316805],[-78.96315914581416,39.45790192316821],[-78.82929134796206,39.562650051423844],[-78.5340122138463,39.522445787100764],[-78.42500077992659,39.59652395279116],[-78.23240271677477,39.672204087882605],[-77.92335181345322,39.59282908788229],[-77.80165381540587,39.44994375259526],[-77.72279557972846,39.32243215591507]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3555","diss_me":3555,"adm1_cod_1":"USA-3555","iso_3166_2":"US-DE","wikipedia":"http://en.wikipedia.org/wiki/Delaware","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Delaware","name_alt":"DE|Del.","name_local":null,"type":"State","type_en":"State","code_local":"US10","code_hasc":"US.DE","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"South Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Del.","postal":"DE","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-75.3198673163725,38.95994782160369],[-75.07183476478986,38.78203223017931],[-75.04838517932711,38.44876455337254],[-75.71462358265006,38.44930715591158],[-75.78764238147852,39.72354462336466],[-75.71090287952501,39.80237702082593],[-75.62096004912104,39.847361355135945],[-75.40557267932849,39.795504055331094],[-75.55427161324837,39.69124685318229],[-75.527813279915,39.49864879003036],[-75.3198673163725,38.95994782160369]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3556","diss_me":3556,"adm1_cod_1":"USA-3556","iso_3166_2":"US-DC","wikipedia":"http://en.wikipedia.org/wiki/Washington,_D.C.","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"District of Columbia","name_alt":"DC|D.C.","name_local":null,"type":"Federal District","type_en":"Federal District","code_local":"US11","code_hasc":"US.DC","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"region_big":null,"big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"D.C.","postal":"DC","area_sqkm":0,"sameascity":9,"labelrank":9,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":20,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-76.91157894561064,38.87845408787943],[-77.04123511423094,38.78954478612127],[-77.0364808824601,38.848275051420984],[-77.11955074736929,38.93400625259319],[-77.03859961618406,38.98216868748922],[-76.91157894561064,38.87845408787943]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3557","diss_me":3557,"adm1_cod_1":"USA-3557","iso_3166_2":"US-MD","wikipedia":"http://en.wikipedia.org/wiki/Maryland","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Maryland","name_alt":"MD","name_local":null,"type":"State","type_en":"State","code_local":"US24","code_hasc":"US.MD","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"region_big":"South Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Md.","postal":"MD","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-75.04838517932711,38.44876455337254],[-75.05673,38.40412000000015],[-75.37753821481016,38.01538015395681],[-75.60984961617834,38.00003225356602],[-75.72205,37.93705000000011],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.71761500000014],[-76.32933,38.08326],[-76.98989457874893,38.2397333847519],[-77.0481080797257,38.38049998631493],[-77.21057878285143,38.33711762140598],[-77.34338721384154,38.39161041925769],[-77.22962154815099,38.61441335708423],[-77.05921851266851,38.70859365493607],[-77.04123511423091,38.78954478612127],[-76.91157894561059,38.87845408787945],[-77.038599616184,38.98216868748915],[-77.11955074736926,38.93400625259329],[-77.30581844756529,39.04567902277603],[-77.51696834990992,39.105985419260605],[-77.44340694854247,39.213420721995476],[-77.57621537953253,39.28855825454775],[-77.72279557972837,39.32243215591518],[-77.80165381540581,39.44994375259523],[-77.92335181345322,39.592829087882365],[-78.2324027167748,39.67220408788273],[-78.4250007799265,39.59652395279119],[-78.53401221384627,39.52244578710088],[-78.829291347962,39.56265005142393],[-78.96315914581419,39.457901923168265],[-79.16107988149201,39.41821442316808],[-79.33251644562017,39.30284678807658],[-79.4859954495272,39.213420721995476],[-79.47752051463135,39.720883287101685],[-78.54990271677599,39.71982392023972],[-78.23291948109767,39.72140005142455],[-77.5232987128656,39.72566335708859],[-76.66818294951588,39.720883287101685],[-75.78764238147852,39.72354462336466],[-75.71462358265,38.44930715591158],[-75.04838517932711,38.44876455337254]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3558","diss_me":3558,"adm1_cod_1":"USA-3558","iso_3166_2":"US-NJ","wikipedia":"http://en.wikipedia.org/wiki/New_Jersey","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":5,"admin0_lab":2,"name":"New Jersey","name_alt":"NJ|N.J.","name_local":null,"type":"State","type_en":"State","code_local":"US34","code_hasc":"US.NJ","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"region_big":"Middle Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"N.J.","postal":"NJ","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":10,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-73.91279557971325,40.96018748632537],[-73.95232,40.75075],[-74.25675391304787,40.473369655919726],[-73.96244,40.42763],[-74.17843827990953,39.70925608983589],[-74.90604244657914,38.939303086903124],[-74.9806632148086,39.19649669041985],[-75.2002622138329,39.2483539902247],[-75.527813279915,39.49864879003036],[-75.55427161324837,39.69124685318229],[-75.40557267932849,39.795504055331094],[-75.200804816372,39.88704885513607],[-75.12881954618945,39.949499823560814],[-74.89175391305048,40.08179149022811],[-74.76318294950823,40.19077708593164],[-75.07802161324645,40.44954682063326],[-75.09548824736112,40.555380153966894],[-75.20395707874178,40.58661855728735],[-75.19920284697093,40.74746145279573],[-75.08225908069448,40.8697020533823],[-75.1357183499004,40.999874986325494],[-74.97590898303775,41.087724921221536],[-74.80126848010735,41.31156138769393],[-74.67902787952096,41.35548635514192],[-73.91279557971325,40.96018748632537]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3559","diss_me":3559,"adm1_cod_1":"USA-3559","iso_3166_2":"US-NY","wikipedia":"http://en.wikipedia.org/wiki/New_York","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":3,"admin0_lab":2,"name":"New York","name_alt":"NY|N.Y.","name_local":null,"type":"State","type_en":"State","code_local":"US36","code_hasc":"US.NY","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"region_big":"Middle Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"N.Y.","postal":"NY","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-74.67902787952096,41.35548635514192],[-74.84043921578461,41.42638642024633],[-75.01081641305097,41.49571035416608],[-75.07538611519954,41.6412311874999],[-75.04892778186621,41.751301988281625],[-75.1679902818666,41.84178742122464],[-75.38547054716696,41.99896129004043],[-76.74383724639114,42.00053742122532],[-78.20064754913136,42.00002065690239],[-79.76008724640326,42.00002065690239],[-79.76008724640326,42.50006765397467],[-79.77325657258632,42.54689373950663],[-78.93936214874367,42.86361135514812],[-78.91977678090512,42.96520722103389],[-79.00999999999988,43.27],[-79.17167355011185,43.46633942318431],[-79.00232988149139,43.527188422207985],[-78.84569861521464,43.58328318946087],[-78.72027991404235,43.62508942318499],[-76.82003414580555,43.628784288093755],[-76.69676001657331,43.78489879004758],[-76.58614661325254,43.9240634222096],[-76.5,44.018458893758634],[-76.37499999999989,44.09631],[-75.31826534697143,44.816231187512585],[-74.86689754911805,45.00038015398479],[-73.34766211616932,45.00725311947946],[-73.36828101265371,44.80460399024696],[-73.4079685126539,44.6760071884886],[-73.38417151558349,44.37915192318792],[-73.32913611519263,44.22673228614303],[-73.42967261421643,44.0198456894625],[-73.33812781441145,43.758440456714084],[-73.4016381496981,43.61343638770319],[-73.38311214872152,43.57535085710407],[-73.23971004911152,43.567935289070135],[-73.28203304715862,42.74348948828549],[-73.49793718127404,42.0545134547541],[-73.55348934598777,41.28985728613134],[-73.47517371284943,41.2046686874981],[-73.69267981636597,41.107310289060365],[-73.65668718127472,40.9850696884738],[-73.64788653178721,40.95476927691993],[-73.71,40.93110235165449],[-72.24116634793569,41.11948008886509],[-71.94482784695793,40.93003428808305],[-73.34500077990629,40.63000092219647],[-73.98211951363277,40.62788218847237],[-73.95232,40.75075],[-73.91279557971325,40.96018748632537],[-74.67902787952096,41.35548635514192]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3560","diss_me":3560,"adm1_cod_1":"USA-3560","iso_3166_2":"US-PA","wikipedia":"http://en.wikipedia.org/wiki/Pennsylvania","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Pennsylvania","name_alt":"Commonwealth of Pennsylvania|PA","name_local":null,"type":"State","type_en":"State","code_local":"US42","code_hasc":"US.PA","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"region_big":"Middle Atlantic","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Pa.","postal":"PA","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":12,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-74.89175391305048,40.08179149022811],[-75.12881954618945,39.949499823560814],[-75.200804816372,39.88704885513607],[-75.40557267932849,39.795504055331094],[-75.62096004912104,39.847361355135945],[-75.71090287952501,39.80237702082593],[-75.78764238147852,39.72354462336466],[-76.66818294951588,39.720883287101685],[-77.5232987128656,39.72566335708859],[-78.23291948109767,39.72140005142455],[-78.54990271677599,39.71982392023972],[-79.47752051463135,39.720883287101685],[-80.51892981639327,39.720883287101685],[-80.51892981639327,40.641111355139174],[-80.5162684801303,42.32439362239842],[-80.5162684801303,42.324910386721456],[-80.24744767934794,42.36619985612248],[-79.77263759837729,42.54627476529765],[-79.76008724640326,42.50006765397467],[-79.76008724640326,42.00002065690239],[-78.20064754913136,42.00002065690239],[-76.74383724639114,42.00053742122532],[-75.38547054716696,41.99896129004043],[-75.1679902818666,41.84178742122464],[-75.04892778186621,41.751301988281625],[-75.07538611519954,41.6412311874999],[-75.01081641305097,41.49571035416608],[-74.84043921578461,41.42638642024633],[-74.67902787952096,41.35548635514192],[-74.80126848010735,41.31156138769393],[-74.97590898303775,41.087724921221536],[-75.1357183499004,40.999874986325494],[-75.08225908069448,40.8697020533823],[-75.19920284697093,40.74746145279573],[-75.20395707874178,40.58661855728735],[-75.09548824736106,40.555380153966894],[-75.07802161324645,40.44954682063326],[-74.76318294950823,40.19077708593164],[-74.89175391305048,40.08179149022811]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3561","diss_me":3561,"adm1_cod_1":"USA-3561","iso_3166_2":"US-ME","wikipedia":"http://en.wikipedia.org/wiki/Maine","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":6,"admin0_lab":2,"name":"Maine","name_alt":"ME|Maine","name_local":null,"type":"State","type_en":"State","code_local":"US23","code_hasc":"US.ME","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"region_big":"New England","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Maine","postal":"ME","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":5,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-67.13734351262877,45.137451890638886],[-66.96466,44.8097],[-68.03252,44.3252],[-69.06,43.98],[-70.11617,43.68405],[-70.64573401557249,43.090083319667144],[-70.75102474636725,43.08003225358635],[-70.79761105007827,43.21973948828747],[-70.98176001655037,43.36789581966826],[-70.94416541205806,43.46633942318431],[-71.08482,45.3052400000002],[-70.6600225491012,45.46022288673396],[-70.30495378282376,45.914794623389355],[-70.00014034695016,46.69317088478567],[-69.23708614772835,47.44777598732787],[-68.90478084987546,47.184794623394396],[-68.23430497910454,47.35462921812177],[-67.79035274928509,47.066248887716995],[-67.79141211614706,45.702585354182816],[-67.13734351262877,45.137451890638886]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3562","diss_me":3562,"adm1_cod_1":"USA-3562","iso_3166_2":"US-MI","wikipedia":"http://en.wikipedia.org/wiki/Michigan","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":1,"admin0_lab":2,"name":"Michigan","name_alt":"MI|Mich.","name_local":null,"type":"State","type_en":"State","code_local":"US26","code_hasc":"US.MI","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"region_big":"East North Central","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Mich.","postal":"MI","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":8,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"Polygon","coordinates":[[[-90.39527787958377,46.61167715106143],[-90.3555903795837,46.67306875262415],[-90.29897884800789,46.76091868752036],[-90.24182471389315,46.84822601987753],[-90.18521318231734,46.93607595477357],[-90.12805904820254,47.023900051453666],[-90.07144751662679,47.11174998634988],[-90.01481014683486,47.19959992124609],[-89.95765601272012,47.28690725360326],[-89.84283098016755,47.464725857119504],[-89.72800594761503,47.641976019880644],[-89.61369767938538,47.81925202085796],[-89.52269548211927,47.96053538674391],[-89.48888455722101,48.01526321783575],[-89.27291744663665,48.0198082545827],[-89.18561011427948,48.04732595477816],[-88.3781141832867,48.30291758889382],[-87.49439551466338,47.96159475360588],[-87.20810807976642,47.84837169045443],[-86.92184648308546,47.73512278908686],[-86.67206844760278,47.63616242124789],[-86.49533504916462,47.56683848732831],[-86.42864661329185,47.539837551455776],[-86.23444658073907,47.45994578713254],[-86.04024654818625,47.380054022809304],[-85.84656327995629,47.30013642026995],[-85.6523632474034,47.22021881773054],[-85.45816321485046,47.13981028908444],[-85.26396318229769,47.05989268654503],[-85.07027991406778,46.98000092222179],[-84.87607988151484,46.90008331968238],[-84.8268580797569,46.766732286153285],[-84.77923824739992,46.63710195574913],[-84.54374874544584,46.53868419044926],[-84.54323198112297,46.53868419044926],[-84.6049,46.4396],[-84.3367,46.40877000000012],[-84.14211951367338,46.512225857115766],[-84.12837358268371,46.48364879005834],[-84.11514441601707,46.37091665301364],[-84.09185126416145,46.27541860613826],[-83.89076534700575,46.116926988299156],[-83.76322791210941,46.10896881772612],[-83.66904761425741,46.122740586931855],[-83.61613094759059,46.116926988299156],[-83.46955074739469,45.99468638771259],[-83.59285071484305,45.81689362241241],[-83.39704871288916,45.72904368751631],[-83.17905168326581,45.6327188177242],[-82.91922258170234,45.51791962338791],[-82.76047258170172,45.44751048439019],[-82.55092464875815,45.34751658790532],[-82.51547461620595,45.20411448829543],[-82.48529557974746,45.08399262143297],[-82.44666744660935,44.91570831967442],[-82.40752254914821,44.74372915300711],[-82.36835181347101,44.57280935320176],[-82.32654557974689,44.39129588477658],[-82.28104448111384,44.19234162045291],[-82.24084021679079,44.015608222014635],[-82.19637264680358,43.822441718107655],[-82.13764238150395,43.5710875514398],[-82.19055904817077,43.47427175554117],[-82.41703101268996,43.01760712337784],[-82.42974341503373,42.98003835710159],[-82.90017981640278,42.43022695573222],[-83.11977881542708,42.07991242122563],[-83.12877051464591,42.06880198828293],[-83.14199968131265,41.97568105729283],[-83.46267778189986,41.694147854166715],[-83.83996741406276,41.68515615494795],[-84.29505591504119,41.68515615494795],[-84.80675594759526,41.67774058691418],[-84.80729855013436,41.75605622005253],[-85.74814551465636,41.751301988281625],[-86.82446224643155,41.75605622005253],[-86.82446224643155,41.76083629003949],[-86.91812577996058,41.76083629003949],[-87.22133724643305,41.76083629003949],[-87.17583614780017,41.9439000514335],[-87.13033504916712,42.12701548925975],[-87.08480811231794,42.30956248633072],[-87.039307013685,42.492652085940904],[-87.07953711622423,42.78211762142371],[-87.11392778191447,43.030293687505434],[-87.15519141309949,43.326632188483245],[-87.14514034701875,43.5710875514398],[-87.14196224643274,43.657878119474105],[-87.08323198113311,43.89018952084234],[-87.03243404819011,44.09128835710601],[-86.91866838249956,44.361685289073364],[-86.8223435127075,44.591335354178455],[-86.71493404818892,44.84641022397108],[-86.53608191602672,45.041669623385985],[-86.40167151563554,45.13321442319102],[-86.26459977898139,45.22687795671993],[-86.48156327995878,45.32317698829593],[-86.77420691602771,45.45229055437716],[-86.94246537956997,45.45229055437716],[-87.11550391309925,45.45229055437716],[-87.24461747918065,45.28984568946771],[-87.41977474643386,45.184012356133906],[-87.45946224643404,45.06812795671931],[-87.61291541212478,45.11045095476646],[-87.61397477898674,45.1088748235814],[-87.74732581251595,45.22687795671993],[-87.67324764682553,45.387746690444544],[-87.89338924838893,45.39671255144731],[-87.84788814975593,45.55918325457293],[-87.78701331251602,45.639617621435264],[-87.87540584995133,45.779841620459194],[-88.11192888055126,45.8433519557459],[-88.16696428094212,46.00791555437945],[-88.36170691603405,46.02062795672322],[-88.64427364780602,46.02220408790805],[-89.22106014683163,46.20211558693222],[-90.09630388055922,46.380993557310546],[-90.17673824742144,46.560879218118544],[-90.33391211623723,46.593693752623835],[-90.3349714830992,46.596871853209905],[-90.3968798489849,46.576252956725284],[-90.41062577997457,46.58418528908214],[-90.39527787958377,46.61167715106143]]]}},{"type":"Feature","properties":{"scalerank":2,"adm1_code":"USA-3563","diss_me":3563,"adm1_cod_1":"USA-3563","iso_3166_2":"US-AK","wikipedia":"http://en.wikipedia.org/wiki/Alaska","sr_sov_a3":"US1","sr_adm0_a3":"USA","iso_a2":"US","adm0_sr":6,"admin0_lab":2,"name":"Alaska","name_alt":"AK|Alaska","name_local":null,"type":"State","type_en":"State","code_local":"US02","code_hasc":"US.AK","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"region_big":"Pacific","big_code":null,"provnum_ne":0,"gadm_level":1,"check_me":0,"scaleran_1":2,"datarank":1,"abbrev":"Alaska","postal":"AK","area_sqkm":0,"sameascity":-99,"labelrank":0,"featurec_1":"Admin-1 scale rank","admin":"United States of America","name_len":6,"mapcolor9":1,"mapcolor13":1,"featureclass":"Admin-1 scale rank"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-153.22872941792107,57.968968410872435],[-152.5647906158351,57.90142731386709],[-152.14114722390633,57.59105866152203],[-153.0063140533369,57.115842190166006],[-154.0050902984581,56.73467682558106],[-154.51640275777007,56.992748928446815],[-154.67099280497115,57.46119578717253],[-153.76277950744145,57.81657461204378],[-153.22872941792107,57.968968410872435]]],[[[-166.46779212142462,60.38416982689773],[-165.67442969466367,60.29360687930625],[-165.57916419173358,59.909986884187674],[-166.19277014876727,59.7544408229889],[-166.848337368822,59.94140615502107],[-167.45527706609005,60.21306915957939],[-166.46779212142462,60.38416982689773]]],[[[-171.73165686753939,63.782515367276005],[-171.11443356024523,63.592191067144995],[-170.4911124339407,63.69497549097355],[-169.68250545965356,63.43111562769127],[-168.68943946030066,63.2975062120006],[-168.7719408844546,63.18859813094548],[-169.52943986720504,62.97693146427798],[-170.29055620021597,63.19443756779441],[-170.67138566799088,63.375821845139],[-171.55306311753867,63.31778921167512],[-171.79111060289117,63.4058458523005],[-171.73165686753939,63.782515367276005]]],[[[-140.9859883290049,69.71199839952624],[-140.98598752156073,69.71199839952624],[-140.99249875202946,66.00002859156871],[-140.99776974812323,60.3063967962986],[-140.0129978161532,60.27683787702762],[-139.03900042031586,60.000007229240055],[-138.34087765826888,59.56210114199871],[-137.4525081107393,58.90498362897523],[-136.47972511106087,59.463864244211834],[-135.4758328991428,59.787772121817284],[-134.94498674842458,59.270542711008034],[-134.27110023312235,58.86111033795942],[-133.3555488822072,58.41028514264519],[-132.730420695661,57.69288707135314],[-131.70782161525324,56.552103990293915],[-130.0077703457152,55.91581207948417],[-129.97999426335826,55.28499787049725],[-130.53611018946725,54.8027534043494],[-131.08581823797215,55.17890615500187],[-131.9672114671423,55.49777558045906],[-132.25001074285956,56.36999624289746],[-133.53918108435641,57.17888743756214],[-134.07806292029613,58.12306753196691],[-135.03821103227915,58.18771474876394],[-136.62806230995477,58.21220937767032],[-137.800006279686,58.49999542910382],[-139.867787041413,59.53776154238915],[-140.825273817133,59.727517401764885],[-142.57444353556446,60.084446519605024],[-143.9588809948799,59.99918040632343],[-145.92555681682782,60.458609727614316],[-147.11437394914665,60.884656073644635],[-148.22430620012764,60.672989406977024],[-148.01806555885076,59.97832896589364],[-148.57082251686077,59.91417267520313],[-149.72785783587585,59.70565827090559],[-150.60824337461634,59.36821116803952],[-151.7163927886833,59.15582103131999],[-151.85943315326716,59.74498403587961],[-151.40971900124717,60.72580272077943],[-150.3469414947325,61.03358755150987],[-150.62111080625706,61.284424953854455],[-151.89583919981683,60.72719798445132],[-152.57832984109558,60.06165721296429],[-154.0191721262576,59.35027944603428],[-153.28751135965308,58.86472768821983],[-154.23249243875847,58.14637360293057],[-155.30749142151012,57.72779450136636],[-156.30833472392308,57.42277435976365],[-156.5560973785464,56.97998484967064],[-158.11721655986773,56.46360809999402],[-158.43332129619714,55.994153550838575],[-159.60332739971744,55.56668610292013],[-160.2897196116342,55.643580634170405],[-161.2230476552578,55.364734605523495],[-162.23776607974096,55.02418691672011],[-163.06944658104638,54.68973704692718],[-164.7855692210273,54.404173082082195],[-164.9422263255201,54.57222483989534],[-163.84833960676565,55.03943146424615],[-162.8700013906159,55.34804311789321],[-161.804174974596,55.894986477270436],[-160.56360470278122,56.00805451112507],[-160.0705598622844,56.41805532492879],[-158.68444291891953,57.01667511659787],[-158.46109737855406,57.21692129172891],[-157.72277035218386,57.57000051536306],[-157.55027442119365,58.32832632103026],[-157.041674974577,58.91888458926172],[-158.19473120830557,58.615802313869835],[-158.51721798402306,58.78778148053732],[-159.05860612692882,58.424186102931685],[-159.71166704001732,58.931390285876375],[-159.98128882550017,58.572549140041644],[-160.3552711659965,59.07112335879367],[-161.35500342511511,58.670837714260756],[-161.96889360252644,58.67166453717738],[-162.05498653872465,59.26692536074745],[-161.87417070213542,59.63362132429063],[-162.51805904849215,59.98972361921392],[-163.81834143782024,59.79805573184342],[-164.66221757714655,60.26748444278269],[-165.3463877024748,60.50749563256244],[-165.35083187565192,61.073895168697504],[-166.12137915755605,61.50001902937623],[-165.7344518707706,62.07499685327184],[-164.91917863671785,62.63307648380794],[-164.56250790103934,63.14637848576308],[-163.7533324859971,63.2194489610236],[-163.0672244944579,63.05945872664802],[-162.2605553863817,63.54193573674121],[-161.53444983624857,63.455816962326764],[-160.7725066803211,63.7661081000233],[-160.95833513084264,64.2227985704028],[-161.5180684072121,64.40278758407533],[-160.77777767641484,64.78860382756642],[-161.3919262359876,64.77723501246214],[-162.45305009666893,64.55944468856808],[-162.7577860178941,64.33860545516882],[-163.54639421288428,64.5591604681905],[-164.96082984114514,64.44694509546872],[-166.4252882558645,64.68667206487072],[-166.84500423893914,65.08889557561457],[-168.11056006576706,65.66999705673675],[-166.70527116602193,66.08831777613943],[-164.4747096425755,66.5766600612975],[-163.65251176659567,66.5766600612975],[-163.78860165103626,66.0772073431965],[-161.67777442121013,66.11611969671242],[-162.48971452538007,66.73556509059512],[-163.7197169667912,67.11639455837013],[-164.43099138085654,67.61633820257782],[-165.39028683170673,68.04277212185025],[-166.76444068099607,68.35887685817971],[-166.2047074046267,68.8830309109162],[-164.43081051334357,68.91553538682774],[-163.16861365461452,69.37111481391293],[-162.930566169262,69.85806183539927],[-161.9088972646355,70.33332998318764],[-160.93479651593367,70.44768992784958],[-159.03917578838704,70.89164215766897],[-158.11972286683397,70.82472117785107],[-156.58082455139802,71.35776357694175],[-155.0677902903243,71.14777639432373],[-154.3441652089412,70.69640859647023],[-153.9000062733925,70.88998851183572],[-152.2100060699353,70.82999217394467],[-152.27000240782613,70.60000621202988],[-150.7399924387445,70.43001658800574],[-149.72000301816752,70.53001048449045],[-147.61336157935696,70.2140349392418],[-145.68998980022536,70.12000967068678],[-144.92001095907642,69.9899917670403],[-143.58944618042528,70.15251414659832],[-142.07251034871354,69.85193817817265],[-140.9859883290049,69.71199839952624]]]]}}]} --------------------------------------------------------------------------------