├── LICENSE
├── Makefile
├── README.md
├── acetate.cfg
├── cities-choropleth.xml
├── cities-style-bg.xml
├── cities-style-fg.xml
├── cities-style.xml
├── fonts
├── Arial Bold Italic.ttf
├── Arial Bold.ttf
├── Arial Italic.ttf
└── Arial.ttf
├── gray-point.png
├── index.html
├── motorways
└── derive.pgsql
├── places
├── Africa-z4-z5.txt
├── Africa-z6-z11.txt.gz
├── Asia-z4-z6.txt
├── Asia-z7-z11.txt.gz
├── Australia-New-Zealand-z4-z5.txt
├── Australia-New-Zealand-z6-z11.txt.gz
├── Canada-z4-z8.txt
├── Canada-z9-z11.txt.gz
├── Capitals.txt
├── Central-America-z4-z5.txt
├── Central-America-z6-z11.txt.gz
├── Countries-Africa.csv
├── Countries-Asia.csv
├── Countries-Australia-NZ.csv
├── Countries-East.csv
├── Countries-Eurasia.csv
├── Countries-Europe.csv
├── Countries-North-America.csv
├── Countries-South-America.csv
├── Countries-West.csv
├── Countries.csv
├── Europe-z4-z6.txt
├── Europe-z7-z11.txt.gz
├── Makefile
├── South-America-z4-z5.txt
├── South-America-z6-z11.txt.gz
├── US-z4-z8.txt
├── US-z9-z11.txt.gz
├── anneal.py
├── arrange.py
├── fonts
│ ├── Arial Bold Italic.ttf
│ ├── Arial Bold.ttf
│ ├── Arial Italic.ttf
│ ├── Arial.ttf
│ └── DejaVuSans.ttf
└── join-geojson.py
├── tile.cgi
├── tiles
├── Makefile
├── acetate.cfg
├── cities-choropleth.xml
├── fonts
│ ├── Arial Bold Italic.ttf
│ ├── Arial Bold.ttf
│ ├── Arial Italic.ttf
│ └── Arial.ttf
├── gray-point.png
├── shp
│ ├── continents.dbf
│ ├── continents.prj
│ ├── continents.shp
│ ├── continents.shx
│ ├── null.dbf
│ ├── null.prj
│ ├── null.shp
│ ├── null.shx
│ ├── place-labels-z10.dbf
│ ├── place-labels-z10.prj
│ ├── place-labels-z10.shp
│ ├── place-labels-z10.shx
│ ├── place-labels-z11plus.dbf
│ ├── place-labels-z11plus.prj
│ ├── place-labels-z11plus.shp
│ ├── place-labels-z11plus.shx
│ ├── place-labels-z3.dbf
│ ├── place-labels-z3.prj
│ ├── place-labels-z3.shp
│ ├── place-labels-z3.shx
│ ├── place-labels-z4.dbf
│ ├── place-labels-z4.prj
│ ├── place-labels-z4.shp
│ ├── place-labels-z4.shx
│ ├── place-labels-z5.dbf
│ ├── place-labels-z5.prj
│ ├── place-labels-z5.shp
│ ├── place-labels-z5.shx
│ ├── place-labels-z6.dbf
│ ├── place-labels-z6.prj
│ ├── place-labels-z6.shp
│ ├── place-labels-z6.shx
│ ├── place-labels-z7.dbf
│ ├── place-labels-z7.prj
│ ├── place-labels-z7.shp
│ ├── place-labels-z7.shx
│ ├── place-labels-z8.dbf
│ ├── place-labels-z8.prj
│ ├── place-labels-z8.shp
│ ├── place-labels-z8.shx
│ ├── place-labels-z9.dbf
│ ├── place-labels-z9.prj
│ ├── place-labels-z9.shp
│ ├── place-labels-z9.shx
│ ├── place-points-z10.dbf
│ ├── place-points-z10.prj
│ ├── place-points-z10.shp
│ ├── place-points-z10.shx
│ ├── place-points-z11plus.dbf
│ ├── place-points-z11plus.prj
│ ├── place-points-z11plus.shp
│ ├── place-points-z11plus.shx
│ ├── place-points-z3.dbf
│ ├── place-points-z3.prj
│ ├── place-points-z3.shp
│ ├── place-points-z3.shx
│ ├── place-points-z4.dbf
│ ├── place-points-z4.prj
│ ├── place-points-z4.shp
│ ├── place-points-z4.shx
│ ├── place-points-z5.dbf
│ ├── place-points-z5.prj
│ ├── place-points-z5.shp
│ ├── place-points-z5.shx
│ ├── place-points-z6.dbf
│ ├── place-points-z6.prj
│ ├── place-points-z6.shp
│ ├── place-points-z6.shx
│ ├── place-points-z7.dbf
│ ├── place-points-z7.prj
│ ├── place-points-z7.shp
│ ├── place-points-z7.shx
│ ├── place-points-z8.dbf
│ ├── place-points-z8.prj
│ ├── place-points-z8.shp
│ ├── place-points-z8.shx
│ ├── place-points-z9.dbf
│ ├── place-points-z9.prj
│ ├── place-points-z9.shp
│ └── place-points-z9.shx
├── star.png
├── style-background.xml
├── style-combined.xml
├── style-foreground.xml
├── tile.cgi
└── tr06_d00_shp
│ ├── tracts.dbf
│ ├── tracts.shp
│ └── tracts.shx
├── tr06_d00_shp
├── tracts.dbf
├── tracts.shp
└── tracts.shx
├── world-shp
├── admin_0_countries_110m-points.dbf
├── admin_0_countries_110m-points.prj
├── admin_0_countries_110m-points.shp
├── admin_0_countries_110m-points.shx
├── city-labels-z4.dbf
├── city-labels-z4.prj
├── city-labels-z4.shp
├── city-labels-z4.shx
├── city-labels-z5.dbf
├── city-labels-z5.prj
├── city-labels-z5.shp
├── city-labels-z5.shx
├── city-labels-z6.dbf
├── city-labels-z6.prj
├── city-labels-z6.shp
├── city-labels-z6.shx
├── city-labels-z7.dbf
├── city-labels-z7.prj
├── city-labels-z7.shp
├── city-labels-z7.shx
├── city-labels-z8.dbf
├── city-labels-z8.prj
├── city-labels-z8.shp
├── city-labels-z8.shx
├── city-points-z4.dbf
├── city-points-z4.prj
├── city-points-z4.shp
├── city-points-z4.shx
├── city-points-z5.dbf
├── city-points-z5.prj
├── city-points-z5.shp
├── city-points-z5.shx
├── city-points-z6.dbf
├── city-points-z6.prj
├── city-points-z6.shp
├── city-points-z6.shx
├── city-points-z7.dbf
├── city-points-z7.prj
├── city-points-z7.shp
├── city-points-z7.shx
├── city-points-z8.dbf
├── city-points-z8.prj
├── city-points-z8.shp
├── city-points-z8.shx
├── continents.dbf
├── continents.prj
├── continents.shp
└── continents.shx
└── world-style.xml
/LICENSE:
--------------------------------------------------------------------------------
1 | Acetate is released under a Creative Commons Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5, http://creativecommons.org/licenses/by-sa/2.5/) license. It was developed by FortiusOne (http://www.fortiusone.com/) and Stamen (http://stamen.com/).
2 |
--------------------------------------------------------------------------------
/Makefile:
--------------------------------------------------------------------------------
1 | all: cache
2 |
3 | cache:
4 | mkdir cache
5 | chmod a+rwX cache
6 |
7 | clean:
8 | rm -rf cache
9 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Acetate
2 | =======
3 |
4 | Acetate is a set of stylesheets that are designed specifically for geographic data visualization. It includes several layers: topographic basemap, hillshading, roads, placenames. These layers can be used individually in combination in layering with thematic data, or composited together into a single image.
5 |
6 | 
7 |
8 | Using Acetate
9 | =============
10 |
11 | You can use Acetate tile layers by using the following template urls in a web map
12 |
13 | - Basemap ([preview](http://acetate.geoiq.com/tiles/acetate-base/preview.html))
14 | - http://acetate.geoiq.com/tiles/acetate-simple/{Z}/{X}/{Y}.png
15 | - Basemap, Hillshading ([preview](http://acetate.geoiq.com/tiles/terrain/preview.html))
16 | - http://acetate.geoiq.com/tiles/terrain/preview.html
17 | - Basemap, Hillshading, Placename labels ([preview](http://acetate.geoiq.com/tiles/acetate-hillshading/preview.html))
18 | - http://acetate.geoiq.com/tiles/acetate-hillshading/{Z}/{X}/{Y}.png
19 | - Roads, Placename labels ([preview](http://acetate.geoiq.com/tiles/acetate-fg/preview.html))
20 | - http://acetate.geoiq.com/tiles/acetate-fg/{Z}/{X}/{Y}.png
21 | - Roads ([preview](http://acetate.geoiq.com/tiles/acetate-roads/preview.html))
22 | - http://acetate.geoiq.com/tiles/acetate-roads/{Z}/{X}/{Y}.png
23 | - Placename labels ([preview](http://acetate.geoiq.com/tiles/acetate-labels/preview.html))
24 | - http://acetate.geoiq.com/tiles/acetate-labels/{Z}/{X}/{Y}.png
25 | - Hillshading ([preview](http://acetate.geoiq.com/tiles/hillshading/preview.html))
26 | - http://acetate.geoiq.com/tiles/hillshading/{Z}/{X}/{Y}.png
27 |
28 | Building Tiles
29 | ==============
30 |
31 | Acetate is built upon the Tilestache, Mapnik projects and it uses a combination of PostGIS and Shapefiles to store spatial data. The data used is OpenStreetMap, Natural Earth and some custom data sources. The two custom data sources are created through a process of “simulated annealing.”
32 |
33 | Data Needed
34 | -----------
35 |
36 | In order to get started with the data install PostGIS and download the OpenStreetMap Planet File. You’ll need to use OSM2PGSQL to import it. The process of importing for the whole world can take a while, if you only need a specific country you might want to grab a country specific extract from GeoFabrik. To get the coastline information you’ll need to get the data from Natural Earth.
37 |
38 | The custom data is for place names and simplified motorways. You can download the place name shapefiles from here. The simplified motorways is a SQL script that should be run after the OSM Planet is imported.
39 |
40 | Software Needed
41 | ---------------
42 |
43 | To get yourself going install [Tilestache](https://github.com/migurski/TileStache) from Github. From the README Mapnik is listed as an optional dependency but for our purposes you need it.
44 |
45 | At the moment we give you all the pieces to roll your own, though look for a full tutorial in the coming weeks.
46 |
47 | Installing Acetate
48 | ------------------
49 |
50 | This step is about just placing the acetate project into a web accessible place. Drop them the project into a web dir and start making tiles.
51 |
52 | License
53 | =======
54 |
55 | Acetate is released under a [Creative Commons Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5)](http://creativecommons.org/licenses/by-sa/2.5/) license. It was developed by [FortiusOne](http://www.fortiusone.com/ "FortiusOne Visual Intelligence Solutions | Visual Intelligence, Smarter Decisions") and [Stamen](http://stamen.com/ "stamen design | big ideas worth pursuing").
56 |
--------------------------------------------------------------------------------
/acetate.cfg:
--------------------------------------------------------------------------------
1 | {
2 | "cache": {"name": "Disk", "path": "cache", "umask": "0000"},
3 | "layers":
4 | {
5 | "world":
6 | {
7 | "provider":
8 | {
9 | "name": "mapnik",
10 | "mapfile": "world-style.xml",
11 | "fonts": "fonts"
12 | },
13 | "preview": { "zoom": 6 },
14 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 }
15 | },
16 | "cities":
17 | {
18 | "provider":
19 | {
20 | "name": "mapnik",
21 | "mapfile": "cities-style.xml",
22 | "fonts": "fonts"
23 | },
24 | "preview": { "zoom": 14 },
25 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 }
26 | },
27 | "composite":
28 | {
29 | "provider":
30 | {
31 | "class": "TileStache.Goodies.Providers.Composite.Provider",
32 | "kwargs":
33 | {
34 | "stack":
35 | [
36 | { "src": "cities-bg" },
37 | { "src": "cities-choropleth" },
38 | { "src": "cities-fg" }
39 | ]
40 | }
41 | },
42 | "preview": { "zoom": 12 },
43 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 }
44 | },
45 | "cities-bg":
46 | {
47 | "provider":
48 | {
49 | "name": "mapnik",
50 | "mapfile": "cities-style-bg.xml",
51 | "fonts": "fonts"
52 | },
53 | "preview": { "zoom": 14 },
54 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 }
55 | },
56 | "cities-choropleth":
57 | {
58 | "provider":
59 | {
60 | "name": "mapnik",
61 | "mapfile": "cities-choropleth.xml",
62 | "fonts": "fonts"
63 | },
64 | "preview": { "zoom": 14 },
65 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 }
66 | },
67 | "cities-fg":
68 | {
69 | "provider":
70 | {
71 | "name": "mapnik",
72 | "mapfile": "cities-style-fg.xml",
73 | "fonts": "fonts"
74 | },
75 | "preview": { "zoom": 14 },
76 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 }
77 | }
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/fonts/Arial Bold Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/fonts/Arial Bold Italic.ttf
--------------------------------------------------------------------------------
/fonts/Arial Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/fonts/Arial Bold.ttf
--------------------------------------------------------------------------------
/fonts/Arial Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/fonts/Arial Italic.ttf
--------------------------------------------------------------------------------
/fonts/Arial.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/fonts/Arial.ttf
--------------------------------------------------------------------------------
/gray-point.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/gray-point.png
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Acetate Preview
5 |
15 |
16 |
17 |
18 |
Acetate preview
19 |
Acetate project on Github
20 |
21 |
Basemaps
22 |
23 |
Simple Basemap »
24 |
Basemap, Hillshading »
25 |
Basemap, Hillshading, Placename labels »
26 |
27 |
28 |
29 |
Layers
30 |
31 |
Roads, Placename labels »
32 |
Roads »
33 |
Placename labels »
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/motorways/derive.pgsql:
--------------------------------------------------------------------------------
1 | SELECT DropGeometryColumn('', 'planet_osm_motorways', 'way_orig');
2 | SELECT DropGeometryColumn('', 'planet_osm_motorways', 'way_zoom6');
3 | SELECT DropGeometryColumn('', 'planet_osm_motorways', 'way_zoom7');
4 | SELECT DropGeometryColumn('', 'planet_osm_motorways', 'way_zoom8');
5 | SELECT DropGeometryColumn('', 'planet_osm_motorways', 'way_zoom9');
6 |
7 | DROP TABLE "planet_osm_motorways";
8 |
9 | BEGIN;
10 |
11 | CREATE TABLE "planet_osm_motorways" (
12 |
13 | osm_id INTEGER,
14 | highway TEXT,
15 | name TEXT,
16 | ref TEXT,
17 | route TEXT
18 |
19 | );
20 |
21 | SELECT AddGeometryColumn('', 'planet_osm_motorways', 'way_orig', '900913', 'LINESTRING', 2);
22 | SELECT AddGeometryColumn('', 'planet_osm_motorways', 'way_zoom6', '900913', 'LINESTRING', 2);
23 | SELECT AddGeometryColumn('', 'planet_osm_motorways', 'way_zoom7', '900913', 'LINESTRING', 2);
24 | SELECT AddGeometryColumn('', 'planet_osm_motorways', 'way_zoom8', '900913', 'LINESTRING', 2);
25 | SELECT AddGeometryColumn('', 'planet_osm_motorways', 'way_zoom9', '900913', 'LINESTRING', 2);
26 |
27 | INSERT INTO "planet_osm_motorways"
28 |
29 | SELECT osm_id, name, highway, ref, route,
30 | way AS way_orig,
31 | ST_Simplify(way, 20037508*2 / 2^(8 + 6)) AS way_zoom6,
32 | ST_Simplify(way, 20037508*2 / 2^(8 + 7)) AS way_zoom7,
33 | ST_Simplify(way, 20037508*2 / 2^(8 + 8)) AS way_zoom8,
34 | ST_Simplify(way, 20037508*2 / 2^(8 + 9)) AS way_zoom9
35 | FROM planet_osm_line
36 | WHERE highway IN ('motorway', 'trunk');
37 |
38 | COMMIT;
39 |
--------------------------------------------------------------------------------
/places/Africa-z4-z5.txt:
--------------------------------------------------------------------------------
1 | zoom geonameid name asciiname latitude longitude country code admin1 code population
2 | 4 2306104 Accra Accra 5.55602 -0.1969 GH 1963264
3 | 4 344979 Addis Ababa Addis Ababa 9.02497 38.74689 ET 2757729
4 | 4 2507480 Algiers Algiers 36.7525 3.04197 DZ 1977663
5 | 4 1070940 Antananarivo Antananarivo -18.91433 47.53098 MG 1391433
6 | 4 360630 Cairo Cairo 30.06263 31.24967 EG 7734614
7 | 4 3369157 Cape Town Cape Town -33.91667 18.41667 ZA 3433441
8 | 4 2553604 Casablanca Casablanca 33.59 -7.61 MA 3144909
9 | 4 2253354 Dakar Dakar 14.6937 -17.44406 SN 2476400
10 | 4 160263 Dar es Salaam Dar es Salaam -6.82349 39.26951 TZ 2698652
11 | 4 993800 Johannesburg Johannesburg -26.20227 28.04363 ZA 2026469
12 | 4 2332459 Lagos Lagos 6.45306 3.39583 NG 9000000
13 | 4 184745 Nairobi Nairobi -1.28333 36.81667 KE 2750547
14 | 4 934154 Port Louis Port Louis -20.16194 57.49889 MU 155226
15 | 4 2464470 Tunis Tunis 36.81897 10.16579 TN 693210
16 | 5 2293538 Abidjan Abidjan 5.34111 -4.02806 CI 3677115
17 | 5 361058 Alexandria Alexandria 31.19806 29.91917 EG 3811516
18 | 5 223817 Djibouti Djibouti 11.58767 43.14468 DJ 623891
19 | 5 2232593 Douala Douala 4.0469 9.7084 CM 1338082
20 | 5 1007311 Durban Durban -29.85 31.01667 ZA 3120282
21 | 5 2548885 Fes Fes 34.05 -4.98 MA 964891
22 | 5 933773 Gaborone Gaborone -24.65451 25.90859 BW 208411
23 | 5 890299 Harare Harare -17.82935 31.05389 ZW 1542813
24 | 5 2339354 Ibadan Ibadan 7.38778 3.89639 NG 3565108
25 | 5 2335727 Kaduna Kaduna 10.52224 7.43828 NG 1582102
26 | 5 232422 Kampala Kampala 0.31628 32.58219 UG 1353189
27 | 5 2335204 Kano Kano 11.99435 8.51381 NG 3626068
28 | 5 379252 Khartoum Khartoum 15.54665 32.53361 SD 1974647
29 | 5 2314302 Kinshasa Kinshasa -4.32459 15.32146 CD 7785965
30 | 5 2399697 Libreville Libreville 0.38333 9.45 GA 578156
31 | 5 2240449 Luanda Luanda -8.83833 13.23444 AO 2776168
32 | 5 909137 Lusaka Lusaka -15.40809 28.28636 ZM 1267440
33 | 5 53654 Mogadishu Mogadishu 2.03711 45.34375 SO 2587183
34 | 5 2274895 Monrovia Monrovia 6.30054 -10.7969 LR 939524
35 | 5 964137 Pretoria Pretoria -25.74486 28.18783 ZA 1619438
36 | 5 2210247 Tripoli Tripoli 32.87519 13.18746 LY 1150989
37 | 5 2279755 Yamoussoukro Yamoussoukro 6.81667 -5.28333 CI 194530
38 | 6 358619 Port Said Port Said 31.28056 32.3075 EG 538378
39 | 6 2538475 Rabat Rabat 34.01325 -6.83255 MA 1655753
40 | 6 359796 Suez Suez 29.96667 32.55 EG 488125
41 |
--------------------------------------------------------------------------------
/places/Africa-z6-z11.txt.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/Africa-z6-z11.txt.gz
--------------------------------------------------------------------------------
/places/Asia-z4-z6.txt:
--------------------------------------------------------------------------------
1 | zoom geonameid name asciiname latitude longitude country code admin1 code population
2 | 4 1526384 Almaty Almaty 43.25 76.95 KZ 2000900
3 | 4 98182 Baghdad Baghdad 33.34058 44.40088 IQ 5672513
4 | 4 587084 Baku Baku 40.37767 49.89201 AZ 1116513
5 | 4 1277333 Bangalore Bengaluru 12.97623 77.60329 IN 5104047
6 | 4 1609350 Bangkok Bangkok 13.75 100.51667 TH 5104476
7 | 4 1816670 Beijing Beijing 39.9075 116.39723 CN 7480601
8 | 4 276781 Beirut Beirut 33.88894 35.49442 LB 1916100
9 | 4 1264527 Chennai Chennai 13.08784 80.27847 IN 4328063
10 | 4 1814906 Chongqing Chongqing 29.56278 106.55278 CN 3967028
11 | 4 1185241 Dhaka Dhaka 23.7104 90.40744 BD 10356500
12 | 4 292223 Dubai Dubai 25.25222 55.28 AE 1137347
13 | 4 1809858 Guangzhou Guangzhou 23.11667 113.25 CN 3152825
14 | 4 1566083 Ho Chi Minh City Thanh pho Ho Chi Minh 10.75 106.66667 VN 3467331
15 | 4 1269843 Hyderabad Hyderabad 17.37528 78.47444 IN 3597816
16 | 4 1176615 Islamabad Islamabad 33.72148 73.04329 PK 601600
17 | 4 1642911 Jakarta Jakarta -6.21462 106.84513 ID 8540121
18 | 4 1174872 Karachi Karachi 24.9056 67.0822 PK 11624219
19 | 4 1275004 Kolkata Calcutta 22.56972 88.36972 IN 4631392
20 | 4 1735161 Kuala Lumpur Kuala Lumpur 3.1412 101.68653 MY 1453975
21 | 4 1701668 Manila Manila 14.58458 120.97063 PH 10444527
22 | 4 1275339 Mumbai Mumbai 19.01441 72.84794 IN 12691836
23 | 4 1261481 New Delhi New Delhi 28.63576 77.22445 IN 317797
24 | 4 1496747 Novosibirsk Novosibirsk 55.04111 82.93444 RU 1419007
25 | 4 1853909 Osaka Osaka-shi 34.69374 135.50218 JP 2592413
26 | 4 2088122 Port Moresby Port Moresby -9.44314 147.17972 PG 283733
27 | 4 108410 Riyadh Riyadh 24.68773 46.72185 SA 4205961
28 | 4 1835848 Seoul Seoul 37.56826 126.97783 KR 10349312
29 | 4 1796236 Shanghai Shanghai 31.22222 121.45806 CN 14608512
30 | 4 1880252 Singapore Singapore 1.28967 103.85007 SG 3547809
31 | 4 1668341 Taipei Taipei 25.04776 121.53185 TW 7871900
32 | 4 112931 Tehran Tehran 35.69439 51.42151 IR 7153309
33 | 4 293397 Tel Aviv Tel Aviv 32.06667 34.76667 IL 250000
34 | 4 1850147 Tokyo Tokyo 35.61488 139.5813 JP 8336599
35 | 5 292968 Abu Dhabi Abu Dhabi 24.46667 54.36667 AE 603492
36 | 5 1279233 Ahmadabad Ahmadabad 23.03333 72.61667 IN 3719710
37 | 5 170063 Aleppo Aleppo 36.20278 37.15861 SY 1602264
38 | 5 250441 Amman Amman 31.95522 35.94503 JO 1275857
39 | 5 323786 Ankara Ankara 39.91987 32.85427 TR 3517182
40 | 5 162183 Ashgabat Ashgabat 37.95 58.38333 TM 727700
41 | 5 1624917 Bandar Lampung Tanjungkarang-Telukbetung -5.45 105.26667 ID 800348
42 | 5 1650357 Bandung Bandung -6.90389 107.61861 ID 1699719
43 | 5 2038432 Baotou Baotou 40.65222 109.82222 CN 1301768
44 | 5 1528675 Bishkek Bishkek 42.87306 74.60028 KG 900000
45 | 5 2038180 Changchun Changchun 43.88 125.32278 CN 2537421
46 | 5 1508291 Chelyabinsk Chelyabinsk 55.15444 61.42972 RU 1062919
47 | 5 1815286 Chengdu Chengdu 30.66667 104.06667 CN 3950437
48 | 5 1205733 Chittagong Chittagong 22.33306 91.83639 BD 3920222
49 | 5 1273874 Cochin Cochin 9.96667 76.23333 IN 604696
50 | 5 1248991 Colombo Colombo 6.93194 79.84778 LK 648034
51 | 5 1814087 Dalian Dalian 38.91222 121.60222 CN 2035307
52 | 5 170654 Damascus Damascus 33.5102 36.29128 SY 1569394
53 | 5 1645528 Denpasar Denpasar -8.65 115.21667 ID 405923
54 | 5 290030 Doha Doha 25.27932 51.52245 QA 344939
55 | 5 1221874 Dushanbe Dushanbe 38.53575 68.77905 TJ 543107
56 | 5 418863 Esfahan Esfehan 32.65722 51.67761 IR 1547164
57 | 5 1179400 Faisalabad Faisalabad 31.41667 73.08333 PK 2506595
58 | 5 1863967 Fukuoka Fukuoka-shi 33.60639 130.41806 JP 1392289
59 | 5 1810821 Fuzhou Fuzhou 26.06139 119.30611 CN 1179720
60 | 5 1809461 Guiyang Guiyang 26.58333 106.71667 CN 1171633
61 | 5 1581130 Hanoi Ha Noi 21.0245 105.84117 VN 1431270
62 | 5 2037013 Harbin Harbin 45.75 126.65 CN 3229883
63 | 5 1862415 Hiroshima Hiroshima-shi 34.39627 132.45937 JP 1143841
64 | 5 311046 Izmir Izmir 38.41273 27.13838 TR 2500603
65 | 5 1269515 Jaipur Jaipur 26.91667 75.81667 IN 2711758
66 | 5 105343 Jeddah Jiddah 21.51694 39.21917 SA 2867446
67 | 5 1805753 Jinan Jinan 36.66833 116.99722 CN 2069266
68 | 5 1138958 Kabul Kabul 34.52813 69.17233 AF 3043532
69 | 5 1267995 Kanpur Kanpur 26.46667 80.35 IN 2823249
70 | 5 1673820 Kaohsiung Kaohsiung 22.61626 120.31333 TW 1519711
71 | 5 1283240 Kathmandu Kathmandu 27.70169 85.3206 NP 1442271
72 | 5 285787 Kuwait Kuwait 29.36972 47.97833 KW 60064
73 | 5 1172451 Lahore Lahore 31.54972 74.34361 PK 6310888
74 | 5 1264733 Lucknow Lucknow 26.85 80.91667 IN 2472011
75 | 5 1622786 Makassar Makassar -5.14 119.4221 ID 1321717
76 | 5 290340 Manama Manama 26.21536 50.5832 BH 147074
77 | 5 1311874 Mandalay Mandalay 21.97473 96.08359 MM 1208099
78 | 5 124665 Mashhad Mashhad 36.297 59.6062 IR 2307177
79 | 5 104515 Mecca Mecca 21.42667 39.82611 SA 1323624
80 | 5 1214520 Medan Medan 3.58333 98.66667 ID 1750971
81 | 5 109223 Medina Medina 24.46861 39.61417 SA 1300000
82 | 5 287286 Muscat Muscat 23.61333 58.59333 OM 797000
83 | 5 1856057 Nagoya Nagoya-shi 35.18147 136.90641 JP 2191279
84 | 5 1262180 Nagpur Nagpur 21.15 79.1 IN 2228018
85 | 5 1800163 Nanchang Nanchang 28.68333 115.88333 CN 1871351
86 | 5 1799962 Nanjing Nanjing 32.06167 118.77778 CN 3087010
87 | 5 1496153 Omsk Omsk 55 73.4 RU 1129281
88 | 5 1633070 Palembang Palembang -2.91673 104.7458 ID 1441500
89 | 5 1821306 Phnom Penh Phnom Penh 11.55 104.91667 KH 1573544
90 | 5 1259229 Pune Pune 18.51957 73.85535 IN 2935744
91 | 5 1838524 Pusan Pusan 35.10278 129.04028 KR 3678555
92 | 5 1871859 Pyongyang Pyongyang 39.03385 125.75432 KP 3222000
93 | 5 1797929 Qingdao Qingdao 36.09861 120.37194 CN 1642245
94 | 5 1167528 Quetta Quetta 30.18722 67.0125 PK 733675
95 | 5 71137 Sanaa Sanaa 15.35472 44.20667 YE 1937451
96 | 5 2128295 Sapporo Sapporo-shi 43.06417 141.34694 JP 1883027
97 | 5 498677 Saratov Saratov 51.56667 46.03333 RU 863725
98 | 5 1627896 Semarang Semarang -6.9932 110.4203 ID 1288084
99 | 5 2034937 Shenyang Shenyang 41.79222 123.43278 CN 3512192
100 | 5 1625822 Surabaya Surabaya -7.24917 112.75083 ID 2374658
101 | 5 1255364 Surat Surat 21.16667 72.83333 IN 2894504
102 | 5 113646 Tabriz Tabriz 38.08 46.2919 IR 1424641
103 | 5 1793511 Taiyuan Taiyuan 37.86944 112.56028 CN 2722475
104 | 5 1512569 Tashkent Tashkent 41.26465 69.21627 UZ 1978028
105 | 5 611717 Tbilisi Tbilisi 41.69411 44.83368 GE 1049498
106 | 5 1792947 Tianjin Tianjin 39.14222 117.17667 CN 3766207
107 | 5 2028462 Ulaanbaatar Ulaanbaatar 47.90771 106.88324 MN 844818
108 | 5 1529102 Urumqi Urumqi 43.8 87.58333 CN 1508225
109 | 5 1651944 Vientiane Vientiane 17.96667 102.6 LA 196731
110 | 5 2013348 Vladivostok Vladivostok 43.10562 131.87353 RU 587022
111 | 5 1791247 Wuhan Wuhan 30.58333 114.26667 CN 4184206
112 | 5 1790630 Xi’an Xi'an 34.25833 108.92861 CN 3225812
113 | 5 1298824 Yangon Rangoon 16.80528 96.15611 MM 4477638
114 | 5 1486209 Yekaterinburg Yekaterinburg 56.8575 60.6125 RU 1287573
115 | 5 616052 Yerevan Yerevan 40.18111 44.51361 AM 1093485
116 | 6 1835329 Daegu Taegu 35.87028 128.59111 KR 2566540
117 | 6 1735106 George Town George Town 5.41123 100.33543 MY 300000
118 | 6 294801 Haifa Haifa 32.81556 34.98917 IL 267300
119 | 6 1269743 Indore Indore 22.71792 75.8333 IN 1837041
120 | 6 281184 Jerusalem Jerusalem 31.77902 35.2253 IL 714000
121 | 6 1732752 Johor Baharu Johor Bahru 1.46667 103.75 MY 802489
122 | 6 1859171 Kobe Kobe-shi 34.6913 135.183 JP 1528478
123 | 6 1857910 Kyoto Kyoto 35.02107 135.75385 JP 1459640
124 | 6 1733782 Labuan Victoria 5.27667 115.24167 MY 73653
125 | 6 1856177 Nagasaki Nagasaki-shi 32.74472 129.87361 JP 410204
126 | 6 1795565 Shenzhen Shenzhen 22.54554 114.0683 CN 3000000
127 | 6 1848354 Yokohama Yokohama-shi 35.44778 139.6425 JP 3574443
128 | 4 1819729 Hong Kong Hong Kong 22.28552 114.15769 HK 7012738
129 | 5 1821274 Macau Macau 22.20056 113.54611 MO 520400
130 | 4 524901 Moscow Moscow 55.75222 37.61556 RU 10381222
131 | 4 498817 St. Petersburg Saint Petersburg 59.89444 30.26417 RU 4039745
132 | 5 520555 Novgorod Nizhniy Novgorod 56.32867 44.00205 RU 1284164
133 | 5 472757 Volgograd Volgograd 48.80472 44.58583 RU 1011417
134 | 6 581049 Arkhangel’sk Arkhangel'sk 64.54722 40.54861 RU 356051
135 | 6 555312 Ivanovo Ivanovo 56.99417 40.98583 RU 420839
136 | 6 554840 Izhevsk Izhevsk 56.85 53.23333 RU 631038
137 | 6 554234 Kaliningrad Kaliningrad 54.71 20.5 RU 434954
138 | 6 551487 Kazan’ Kazan' 55.7877 49.1248 RU 1104738
139 | 6 548410 Kirov Kirov 54.07472 34.2975 RU 39319
140 | 6 524305 Murmansk Murmansk 68.97167 33.08194 RU 319263
141 | 6 511196 Perm’ Perm' 58 56.25 RU 982419
142 | 6 501175 Rostov-na-Donu Rostov-na-Donu 47.23639 39.71389 RU 1074482
143 | 6 499099 Samara Samara 53.2 50.15 RU 1134730
144 | 6 479561 Ufa Ufa 54.775 56.0375 RU 1033338
145 | 6 472045 Voronezh Voronezh 51.6699 39.19227 RU 848752
146 | 6 491687 Smolensk Smolensk 54.7818 32.0401 RU 320991
147 | 6 580497 Astrakhan Astrakhan' 46.34944 48.04917 RU 502533
148 |
--------------------------------------------------------------------------------
/places/Asia-z7-z11.txt.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/Asia-z7-z11.txt.gz
--------------------------------------------------------------------------------
/places/Australia-New-Zealand-z4-z5.txt:
--------------------------------------------------------------------------------
1 | zoom geonameid name asciiname latitude longitude country code admin1 code population
2 | 4 2147714 Sydney Sydney -33.86785 151.20732 AU 4394576
3 | 4 2193733 Auckland Auckland -36.86667 174.76667 NZ 417910
4 | 4 2158177 Melbourne Melbourne -37.814 144.96332 AU 3730206
5 | 4 2174003 Brisbane Brisbane -27.46794 153.02809 AU 958504
6 | 4 2063523 Perth Perth -31.93333 115.83333 AU 1446704
7 | 4 2179537 Wellington Wellington -41.28664 174.77557 NZ 381900
8 | 5 2078025 Adelaide Adelaide -34.93333 138.6 AU 1074159
9 | 5 2172517 Canberra Canberra -35.28346 149.12807 AU 327700
10 | 5 2192362 Christchurch Christchurch -43.53333 172.63333 NZ 363926
11 |
--------------------------------------------------------------------------------
/places/Australia-New-Zealand-z6-z11.txt.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/Australia-New-Zealand-z6-z11.txt.gz
--------------------------------------------------------------------------------
/places/Canada-z4-z8.txt:
--------------------------------------------------------------------------------
1 | zoom geonameid name asciiname latitude longitude country code admin1 code population
2 | 4 6077243 Montréal Montreal 45.50884 -73.58781 CA QC 3268513
3 | 4 6167865 Toronto Toronto 43.70011 -79.4163 CA ON 4612191
4 | 4 6173331 Vancouver Vancouver 49.24966 -123.11934 CA BC 1837969
5 | 5 5913490 Calgary Calgary 51.05011 -114.08529 CA AB 1019942
6 | 5 5946768 Edmonton Edmonton 53.55014 -113.46871 CA AB 712391
7 | 5 6324729 Halifax Halifax 44.64533 -63.57239 CA NS 359111
8 | 5 6094817 Ottawa Ottawa 45.41117 -75.69812 CA ON 812129
9 | 5 6325494 Québec Quebec 46.81228 -71.21454 CA QC 528595
10 | 5 6183235 Winnipeg Winnipeg 49.8844 -97.14704 CA MB 632063
11 | 6 5894171 Barrie Barrie 44.40011 -79.66634 CA ON 182041
12 | 6 5920288 Charlottetown Charlottetown 46.23525 -63.12671 CA PE 42402
13 | 6 5957776 Fredericton Fredericton 45.94541 -66.66558 CA NB 52337
14 | 6 5969785 Hamilton Hamilton 43.23341 -79.94964 CA ON 504559
15 | 6 5990579 Kelowna Kelowna 49.88307 -119.48568 CA BC 125109
16 | 6 5992500 Kingston Kingston 44.22976 -76.48098 CA ON 114195
17 | 6 5992996 Kitchener Kitchener 43.4501 -80.48299 CA ON 409112
18 | 6 6058560 London London 42.98339 -81.23304 CA ON 346765
19 | 6 6075357 Mississauga Mississauga 43.5789 -79.6583 CA ON 668549
20 | 6 6119109 Regina Regina 50.45008 -104.6178 CA SK 176183
21 | 6 6141256 Saskatoon Saskatoon 52.11679 -106.63452 CA SK 198958
22 | 6 6146143 Sherbrooke Sherbrooke 45.40008 -71.89908 CA QC 129447
23 | 6 6324733 St. John’s St. John's 47.56494 -52.70931 CA NL 99182
24 | 6 5964700 Sudbury Greater Sudbury 46.49 -80.99001 CA ON 157857
25 | 6 6166142 Thunder Bay Thunder Bay 48.4001 -89.31683 CA ON 99334
26 | 6 6166142 Thunder Bay Thunder Bay 48.4001 -89.31683 CA ON 99334
27 | 6 6169141 Trois-Rivières Trois-Rivieres 46.35006 -72.54912 CA QC 119693
28 | 6 6174041 Victoria Victoria 48.43294 -123.3693 CA BC 289625
29 | 6 6180550 Whitehorse Whitehorse 60.71611 -135.05375 CA YT 23272
30 | 6 6185377 Yellowknife Yellowknife 62.456 -114.35255 CA NT 15865
31 | 7 5881791 Abbotsford Abbotsford 49.05798 -122.25257 CA BC 151683
32 | 7 5907896 Brandon Brandon 49.84692 -99.95306 CA MB 26234
33 | 7 5914132 Campbell River Campbell River 50.01634 -125.24459 CA BC 33430
34 | 7 5928065 Cornwall Cornwall 45.01809 -74.72815 CA ON 48821
35 | 7 5964347 Grand Prairie Grande Prairie 55.16667 -118.80271 CA AB 41462
36 | 7 6050610 Laval Laval 45.56995 -73.692 CA QC 376845
37 | 7 6053154 Lethbridge Lethbridge 49.69999 -112.81856 CA AB 70617
38 | 7 6071618 Medicine Hat Medicine Hat 50.05006 -110.66834 CA AB 63138
39 | 7 6076211 Moncton Moncton 46.11594 -64.80186 CA NB 87467
40 | 7 6089426 North Bay North Bay 46.3168 -79.46633 CA ON 50170
41 | 7 6094578 Oshawa Oshawa 43.90012 -78.84957 CA ON 247989
42 | 7 6101645 Peterborough Peterborough 44.30012 -78.31623 CA ON 75877
43 | 7 6113335 Prince Albert Prince Albert 53.20008 -105.76772 CA SK 34609
44 | 7 6137270 Saguenay Saguenay 48.41675 -71.06573 CA QC 143692
45 | 7 6141439 Sault Ste. Marie Sault Ste. Marie 46.51677 -84.33325 CA ON 74948
46 | 7 6138517 St. John Saint John 45.27271 -66.06766 CA NB 87857
47 | 7 6159905 Surrey Surrey 49.10635 -122.82509 CA BC 394976
48 | 7 6354908 Sydney Sydney 46.1351 -60.1831 CA NS 105968
49 | 7 6166739 Timmins Timmins 48.46686 -81.33312 CA ON 42997
50 | 7 6182962 Windsor Windsor 42.30008 -83.01654 CA ON 278013
51 | 8 5911606 Burnaby Burnaby 49.26636 -122.95263 CA BC 202799
52 | 8 5913695 Cambridge Cambridge 43.3601 -80.31269 CA ON 120372
53 | 8 5927689 Coquitlam Coquitlam 49.28297 -122.75262 CA BC 114565
54 | 8 6325521 Lévis Levis 46.80326 -71.17793 CA QC 126396
55 | 8 6122085 Richmond Richmond 49.17003 -123.13683 CA BC 182000
56 | 7 5955895 Ft. McMurray Fort McMurray 56.7335 -111.38519 CA AB
57 | 8 6136944 Saanich Saanich 48.54964 -123.36931 CA BC
58 | 7 5921225 Chicoutimi Chicoutimi 48.41963 -71.06369 CA QC
59 | 7 5920450 Chatham Chatham 42.40009 -82.1831 CA ON 5920450
60 |
--------------------------------------------------------------------------------
/places/Canada-z9-z11.txt.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/Canada-z9-z11.txt.gz
--------------------------------------------------------------------------------
/places/Capitals.txt:
--------------------------------------------------------------------------------
1 | 3041563
2 | 292968
3 | 1138958
4 | 3576022
5 | 3573374
6 | 3183875
7 | 616052
8 | 3513090
9 | 2240449
10 | 3435910
11 | 5881576
12 | 2761369
13 | 2172517
14 | 3577154
15 | 3041732
16 | 587084
17 | 3191281
18 | 3374036
19 | 1185241
20 | 2800866
21 | 2357048
22 | 727011
23 | 290340
24 | 425378
25 | 2392087
26 | 3579132
27 | 3573197
28 | 1820906
29 | 3903987
30 | 3911925
31 | 3469058
32 | 3571824
33 | 1252416
34 | 933773
35 | 625144
36 | 3582672
37 | 6094817
38 | 7304591
39 | 2314302
40 | 2389853
41 | 2260535
42 | 2661552
43 | 2279755
44 | 4035715
45 | 3871336
46 | 2220957
47 | 1816670
48 | 3688689
49 | 3621849
50 | 3553478
51 | 3374333
52 | 2078127
53 | 146268
54 | 3067696
55 | 2950159
56 | 223817
57 | 2618425
58 | 3575635
59 | 3492908
60 | 2507480
61 | 3652462
62 | 588409
63 | 360630
64 | 343300
65 | 3117735
66 | 344979
67 | 658225
68 | 2198148
69 | 3426691
70 | 2081986
71 | 2611396
72 | 2988507
73 | 2399697
74 | 2643743
75 | 3579925
76 | 611717
77 | 3382160
78 | 3042287
79 | 2306104
80 | 2411585
81 | 3421319
82 | 2413876
83 | 2422465
84 | 3579732
85 | 2309527
86 | 264371
87 | 3426466
88 | 3598132
89 | 4044012
90 | 2374775
91 | 3378644
92 | 1819729
93 | 3600949
94 | 3186886
95 | 3718426
96 | 3054643
97 | 1642911
98 | 2964574
99 | 3042237
100 | 1261481
101 | 98182
102 | 112931
103 | 3413829
104 | 3169070
105 | 3042091
106 | 3489854
107 | 250441
108 | 1850147
109 | 184745
110 | 1528675
111 | 1821306
112 | 2110257
113 | 921772
114 | 3575551
115 | 1871859
116 | 1835848
117 | 285787
118 | 3580661
119 | 1526273
120 | 1651944
121 | 276781
122 | 3576812
123 | 3042030
124 | 1248991
125 | 2274895
126 | 932505
127 | 593116
128 | 2960316
129 | 456172
130 | 2210247
131 | 2538475
132 | 2993458
133 | 618426
134 | 3193044
135 | 3578851
136 | 1070940
137 | 2113779
138 | 785842
139 | 2460596
140 | 6611854
141 | 2028462
142 | 1821274
143 | 3570675
144 | 2377450
145 | 3578069
146 | 2562305
147 | 934154
148 | 1282027
149 | 927967
150 | 3530597
151 | 1735161
152 | 1040652
153 | 3352136
154 | 2139521
155 | 2440485
156 | 2161314
157 | 2352778
158 | 3617763
159 | 2759794
160 | 3143244
161 | 1283240
162 | 4036284
163 | 2179537
164 | 287286
165 | 3703443
166 | 3936456
167 | 4033936
168 | 2088122
169 | 1701668
170 | 1176615
171 | 756135
172 | 3424934
173 | 4030723
174 | 4568127
175 | 2267057
176 | 7303944
177 | 3439389
178 | 290030
179 | 935264
180 | 683506
181 | 792680
182 | 524901
183 | 202061
184 | 108410
185 | 2108502
186 | 241131
187 | 379252
188 | 2673730
189 | 1880252
190 | 3370903
191 | 3196359
192 | 2729907
193 | 3060972
194 | 2409306
195 | 3168070
196 | 2253354
197 | 53654
198 | 3383330
199 | 2410763
200 | 3583361
201 | 170654
202 | 934985
203 | 935048
204 | 3576994
205 | 2427123
206 | 1546102
207 | 2365267
208 | 1609350
209 | 1221874
210 | 7522181
211 | 1645457
212 | 162183
213 | 2464470
214 | 4032402
215 | 323786
216 | 3573890
217 | 2110394
218 | 1668341
219 | 160196
220 | 703448
221 | 232422
222 | 4140963
223 | 3441575
224 | 1512569
225 | 6691831
226 | 3577887
227 | 3646738
228 | 3577430
229 | 4795467
230 | 1581130
231 | 2135171
232 | 4034821
233 | 4035413
234 | 786714
235 | 71137
236 | 921815
237 | 964137
238 | 909137
239 | 890299
240 |
--------------------------------------------------------------------------------
/places/Central-America-z4-z5.txt:
--------------------------------------------------------------------------------
1 | zoom geonameid name asciiname latitude longitude country code admin1 code population
2 | 4 4005539 Guadalajara Guadalajara 20.66667 -103.33333 MX 1640589
3 | 4 3553478 Havana Havana 23.13302 -82.38304 CU 2163824
4 | 4 3530597 Mexico City Mexico City 19.42847 -99.12766 MX 12294193
5 | 5 3374036 Bridgetown Bridgetown 13.1 -59.61667 BB 98511
6 | 5 4014338 Chihuahua Chihuahua 28.63333 -106.08333 MX 708267
7 | 5 3580661 George Town George Town 19.28692 -81.36706 KY 29370
8 | 5 3598132 Guatemala City Guatemala City 14.64072 -90.51327 GT 994938
9 | 5 3573197 Hamilton Hamilton 32.29149 -64.77797 BM 902
10 | 5 4013708 Juarez Ciudad Juarez 31.73333 -106.48333 MX 1512354
11 | 5 3489854 Kingston Kingston 17.99702 -76.79358 JM 937700
12 | 5 3998655 Leon Leon 21.11667 -101.66667 MX 1114626
13 | 5 3617763 Managua Managua 12.13282 -86.2504 NI 973087
14 | 5 3995465 Monterrey Monterrey 25.66667 -100.31667 MX 1122874
15 | 5 3571824 Nassau Nassau 25.05823 -77.34306 BS 227940
16 | 5 3703443 Panama City Panama 8.9936 -79.51973 PA 408168
17 | 5 3718426 Port-au-Prince Port-au-Prince 18.53917 -72.335 HT 1234742
18 | 5 4011469 Puebla Puebla 32.56444 -115.35333 MX 8700
19 | 5 3621849 San Jose San Jose 9.93333 -84.08333 CR 335007
20 | 5 4568127 San Juan San Juan 18.46633 -66.10572 PR 418140
21 | 5 3583361 San Salvador San Salvador 13.68935 -89.18718 SV 525990
22 | 5 3492908 Santo Domingo Santo Domingo 18.50012 -69.98857 DO 2201941
23 | 5 3600949 Tegucigalpa Tegucigalpa 14.0818 -87.20681 HN 850848
24 | 5 3981609 Tijuana Tijuana 32.53333 -117.01667 MX 1376457
25 |
--------------------------------------------------------------------------------
/places/Central-America-z6-z11.txt.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/Central-America-z6-z11.txt.gz
--------------------------------------------------------------------------------
/places/Countries-Africa.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Sudan,Sudan,SD,SDN,736,2505810,43939598,15.00,30.00,af
3 | 3,Algeria,Alg.,DZ,DZA,12,2381740,34586184,28.00,3.00,af
4 | 3,Dem. Rep. of the Congo,D.R.C.,CD,COD,180,2345410,70916439,-4.74,22.15,af
5 | 3,Libya,Libya,LY,LBY,434,1759540,6461454,25.00,17.00,af
6 | 3,Chad,Chad,TD,TCD,148,1284000,10543464,15.00,19.00,af
7 | 3,Niger,Niger,NE,NER,562,1267000,15878271,16.00,8.00,af
8 | 3,Angola,Ang.,AO,AGO,24,1246700,13068161,-12.50,18.50,af
9 | 3,S. Africa,S. Afr.,ZA,ZAF,710,1219912,49000000,-29.69,22.68,af
10 | 3,Ethiopia,Eth.,ET,ETH,231,1127127,88013491,8.00,38.00,af
11 | 3,Mauritania,Maur.,MR,MRT,478,1030700,3205060,20.00,-12.00,af
12 | 3,Egypt,Egypt,EG,EGY,818,1001450,80471869,27.00,30.00,af
13 | 3,Tanzania,Tan.,TZ,TZA,834,945087,41892895,-6.00,35.00,af
14 | 3,Nigeria,Nig.,NG,NGA,566,923768,154000000,10.00,8.00,af
15 | 3,Namibia,Nmb.,NA,NAM,516,825418,2128471,-22.00,17.00,af
16 | 3,Mozambique,Moz.,MZ,MOZ,508,801590,22061451,-18.25,35.00,af
17 | 3,Zambia,Zam.,ZM,ZMB,894,752614,13460305,-14.60,26.37,af
18 | 3,Somalia,Som.,SO,SOM,706,637657,10112453,6.00,48.00,af
19 | 3,Central African Republic,C.A.R.,CF,CAF,140,622984,4844927,7.00,21.00,af
20 | 3,Botswana,Bots.,BW,BWA,72,600370,2029307,-22.00,24.00,af
21 | 3,Madagascar,Madag.,MG,MDG,450,587040,21281844,-20.00,47.00,af
22 | 3,Kenya,Kenya,KE,KEN,404,582650,40046566,1.00,38.00,af
23 | 3,Cameroon,Camrn.,CM,CMR,120,475440,19294149,6.00,12.00,af
24 | 3,Morocco,Mor.,MA,MAR,504,446550,31627428,32.00,-5.00,af
25 | 3,Congo,Congo,CG,COG,178,342000,3039126,-1.00,15.00,af
26 | 3,Senegal,Sen.,SN,SEN,686,196190,12323252,14.00,-14.00,af
27 | 3,Tunisia,Tun.,TN,TUN,788,163610,10589025,34.00,9.00,af
28 | 4,Mali,Mali,ML,MLI,466,1240000,13796354,17.00,-4.00,af
29 | 4,Zimbabwe,Zimb.,ZW,ZWE,716,390580,11651858,-19.00,29.00,af
30 | 4,Cote d'Ivoire,C. Iv.,CI,CIV,384,322460,21058798,8.00,-5.00,af
31 | 4,Burkina Faso,Burkina,BF,BFA,854,274200,16241811,13.00,-2.00,af
32 | 4,Gabon,Gabon,GA,GAB,266,267667,1545255,-1.00,11.75,af
33 | 4,W. Sahara,W. Sah.,EH,ESH,732,266000,273008,24.49,-12.66,af
34 | 4,Guinea,Gui.,GN,GIN,324,245857,10324025,11.00,-10.00,af
35 | 4,Ghana,Ghana,GH,GHA,288,239460,24339838,8.00,-2.00,af
36 | 4,Uganda,Ug.,UG,UGA,800,236040,33398682,2.00,33.00,af
37 | 4,Eritrea,Erit.,ER,ERI,232,121320,5792984,15.00,39.00,af
38 | 4,Malawi,Malawi,MW,MWI,454,118480,15447500,-13.50,34.00,af
39 | 4,Benin,Benin,BJ,BEN,204,112620,9056010,9.50,2.25,af
40 | 4,Liberia,Lib.,LR,LBR,430,111370,3685076,6.50,-9.50,af
41 | 4,Sierra Leone,S.L.,SL,SLE,694,71740,5245695,8.50,-11.50,af
42 | 4,Togo,Togo,TG,TGO,768,56785,6587239,8.00,1.17,af
43 | 4,Guinea-Bissau,Gui.-B.,GW,GNB,624,36120,1565126,12.00,-15.00,af
44 | 4,Lesotho,Leso.,LS,LSO,426,30355,1919552,-29.50,28.25,af
45 | 4,Equatorial Guinea,Eq. Gui.,GQ,GNQ,226,28051,1014999,2.00,10.00,af
46 | 4,Burundi,Bdi.,BI,BDI,108,27830,9863117,-3.50,30.00,af
47 | 4,Rwanda,Rw.,RW,RWA,646,26338,11055976,-2.00,30.00,af
48 | 4,Djibouti,Dji.,DJ,DJI,262,23000,740528,11.50,42.50,af
49 | 4,Swaziland,Swaz.,SZ,SWZ,748,17363,1354051,-26.50,31.50,af
50 | 4,The Gambia,Gam.,GM,GMB,270,11300,1593256,13.50,-15.50,af
51 | 4,Cape Verde,C.V.,CV,CPV,132,4033,508659,16.00,-24.00,af
52 | 4,Mauritius,Mauritius,MU,MUS,480,2040,1294104,-20.30,57.58,af
53 | 4,São Tomé and Príncipe,S. Tom./P.,ST,STP,678,1001,175808,1.00,7.00,af
54 | 4,Seychelles,Sey.,SC,SYC,690,455,88340,-4.58,55.67,af
55 | 4,St. Helena,St. Hel.,SH,SHN,654,410,7460,-15.95,-5.70,af
56 | 4,Mayotte,May.,YT,MYT,175,374,159042,-12.83,45.17,af
57 |
--------------------------------------------------------------------------------
/places/Countries-Asia.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Russia,Rus.,RU,RUS,643,17100000,140702000,62.43,87.54,eu
3 | 3,China,China,CN,CHN,156,9596960,1330044000,35.00,105.00,asia
4 | 3,India,India,IN,IND,356,3287590,1173108018,20.00,77.00,asia
5 | 3,Kazakhstan,Kaz.,KZ,KAZ,398,2717300,15340000,48.00,68.00,asia
6 | 3,Saudi Arabia,Sau. Ar.,SA,SAU,682,1960582,25731776,21.62,47.11,asia
7 | 3,Indonesia,Indon.,ID,IDN,364,1919440,242968342,-5.00,120.00,ocean
8 | 3,Iran,Iran,IR,IRN,364,1648000,76923300,32.00,53.00,asia
9 | 3,Mongolia,Mong.,MN,MNG,496,1565000,3086918,46.00,105.00,asia
10 | 3,Pakistan,Pak.,PK,PAK,586,803940,184404791,30.00,70.00,asia
11 | 3,Myanmar,Mya.,MM,MMR,104,678500,53414374,22.00,98.00,asia
12 | 3,Afghanistan,Afg.,AF,AFG,4,647500,29121286,33.00,66.00,asia
13 | 3,Yemen,Yemen,YE,YEM,887,527970,23495361,15.50,47.50,asia
14 | 3,Thailand,Thai.,TH,THA,764,514000,67089500,15.00,100.00,asia
15 | 3,Turkmenistan,Turkmen.,TM,TKM,795,488100,4940916,40.00,60.00,asia
16 | 3,Papua New Guinea,Pap. N. Gui.,PG,PNG,598,462840,6064515,-6.00,147.00,ocean
17 | 3,Iraq,Iraq,IQ,IRQ,368,437072,29671605,33.00,44.00,asia
18 | 3,Japan,Japan,JP,JPN,392,377835,127288000,37.23,138.25,asia
19 | 3,Malaysia,Malay.,MY,MYS,458,329750,28274729,2.50,112.50,ocean
20 | 3,Vietnam,Viet.,VN,VNM,704,329560,89571130,16.17,107.83,asia
21 | 3,Philippines,Phil.,PH,PHL,608,300000,99900177,13.00,122.00,ocean
22 | 3,Oman,Oman,OM,OMN,512,212460,2967717,21.00,57.00,asia
23 | 3,Kyrgyzstan,Kyrg.,KG,KGZ,417,198500,5508626,41.00,75.00,asia
24 | 3,Syria,Syria,SY,SYR,760,185180,22198110,35.00,38.00,asia
25 | 3,Bangladesh,Bngl.,BD,BGD,50,144000,156118464,24.00,90.00,asia
26 | 3,Nepal,Nepal,NP,NPL,524,140800,28951852,28.00,84.00,asia
27 | 3,N. Korea,N. Kor.,KP,PRK,408,120540,22912177,40.00,127.00,asia
28 | 3,S. Korea,S. Kor.,KR,KOR,410,98480,48422644,37.00,127.50,asia
29 | 3,Azerbaijan,Azer.,AZ,AZE,31,86600,8303512,40.50,47.50,asia
30 | 3,United Arab Emirates,U.A.E.,AE,ARE,784,82880,4975593,24.00,54.00,asia
31 | 3,Sri Lanka,Sri L.,LK,LKA,144,65610,21513990,7.00,81.00,asia
32 | 3,Solomon Is.,Sol. Is.,SB,SLB,90,28450,559198,-8.00,159.00,ocean
33 | 3,Israel,Isr.,IL,ISR,376,20770,7353985,31.18,34.88,asia
34 | 3,Fiji,Fiji,FJ,FJI,242,18270,875983,-18.00,178.00,ocean
35 | 3,Micronesia,Micron.,FM,FSM,583,702,108105,5.00,152.00,ocean
36 | 3,Marshall Is.,Marsh. Is.,MH,MHL,584,181.3,65859,10.00,167.00,ocean
37 | 4,Uzbekistan,Uzb.,UZ,UZB,860,447400,27865738,41.00,64.00,asia
38 | 4,Laos,Laos,LA,LAO,418,236800,6368162,18.00,105.00,asia
39 | 4,Cambodia,Camb.,KH,KHM,116,181040,14453680,13.00,105.00,asia
40 | 4,Tajikistan,Taj.,TJ,TJK,762,143100,7487489,39.00,71.00,asia
41 | 4,Jordan,Jord.,JO,JOR,400,92300,6407085,31.00,36.00,asia
42 | 4,Georgia,Geor.,GE,GEO,268,69700,4630000,42.00,43.50,asia
43 | 4,Bhutan,Bhu.,BT,BTN,64,47000,699847,27.50,90.50,asia
44 | 4,Armenia,Arm.,AM,ARM,51,29800,2968000,40.00,45.00,asia
45 | 4,New Caledonia,N. Cal.,NC,NCL,540,19060,216494,-21.50,165.50,ocean
46 | 4,Kuwait,Kuw.,KW,KWT,414,17820,2789132,29.50,47.75,asia
47 | 4,East Timor,E. Timor,TL,TLS,626,15007,1154625,-8.83,125.75,ocean
48 | 4,Vanuatu,Vanuatu,VU,VUT,548,12200,221552,-16.00,167.00,ocean
49 | 4,Qatar,Qatar,QA,QAT,634,11437,840926,25.50,51.25,asia
50 | 4,Lebanon,Leb.,LB,LBN,422,10400,4125247,33.83,35.83,asia
51 | 4,Brunei,Bru.,BN,BRN,96,5770,395027,4.50,114.67,ocean
52 | 4,French Polynesia,Fr. Poly.,PF,PYF,258,4167,270485,-15.00,-140.00,ocean
53 | 4,Samoa,Samoa,WS,WSM,882,2944,192001,-13.80,-172.18,ocean
54 | 4,Comoros,Com.,KM,COM,174,2170,773407,-12.17,44.25,ocean
55 | 4,N. Marianna Is.,N. Mar. Is.,MP,MNP,580,1007,60000,17.00,145.00,ocean
56 | 4,Kiribati,Kir.,KI,KIR,296,811,92533,-5.00,-170.00,ocean
57 | 4,Tonga,Tonga,TO,TON,776,748,122580,-20.00,-175.00,ocean
58 | 4,Singapore,Sing.,SG,SGP,702,692.7,4701069,1.37,103.80,asia
59 | 4,Bahrain,Bahr.,BH,BHR,48,665,738004,26.00,50.50,asia
60 | 4,Palau,Palau,PW,PLW,585,458,20303,7.46,134.56,ocean
61 | 4,Maldives,Mald.,MV,MDV,462,300,395650,3.20,73.00,asia
62 | 4,Wallis and Futuna,Wal./F.,WF,WLF,876,274,16025,-13.30,-176.20,ocean
63 | 4,Cook Is.,Cook Is.,CK,COK,184,240,21388,-21.25,-159.79,ocean
64 | 4,American Samoa,Am. Sam.,AS,ASM,16,199,57881,-14.33,-170.00,ocean
65 | 4,British Indian Ocean Territory,B.I.O.T.,IO,IOT,86,60,4000,-6.00,72.00,asia
66 | 4,Pitcairn,Pit.,PN,PCN,612,47,46,-25.07,-130.10,ocean
67 | 4,Tuvalu,Tuvalu,TV,TUV,798,26,10472,-8.00,178.00,ocean
68 | 4,Nauru,Nauru,NR,NRU,520,21,9267,-0.53,166.92,ocean
69 | 4,Tokelau,Tok.,TK,TKL,772,10,1433,-9.00,-171.75,ocean
70 |
--------------------------------------------------------------------------------
/places/Countries-Australia-NZ.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Australia,Austl.,AU,AUS,36,7686850,21515754,-25.00,135.00,ocean
3 | 3,New Zealand,N.Z.,NZ,NZL,554,268680,4252277,-42.00,174.00,ocean
4 |
--------------------------------------------------------------------------------
/places/Countries-East.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Russia,Rus.,RU,RUS,643,17100000,140702000,62.43,87.54,eu
3 | 3,China,China,CN,CHN,156,9596960,1330044000,35.00,105.00,asia
4 | 3,Australia,Austl.,AU,AUS,36,7686850,21515754,-25.00,135.00,ocean
5 | 3,India,India,IN,IND,356,3287590,1173108018,20.00,77.00,asia
6 | 3,Kazakhstan,Kaz.,KZ,KAZ,398,2717300,15340000,48.00,68.00,asia
7 | 3,Sudan,Sudan,SD,SDN,736,2505810,43939598,15.00,30.00,af
8 | 3,Algeria,Alg.,DZ,DZA,12,2381740,34586184,28.00,3.00,af
9 | 3,Dem. Rep. of the Congo,D.R.C.,CD,COD,180,2345410,70916439,-4.74,22.15,af
10 | 3,Saudi Arabia,Sau. Ar.,SA,SAU,682,1960582,25731776,21.62,47.11,asia
11 | 3,Indonesia,Indon.,ID,IDN,364,1919440,242968342,-5.00,120.00,ocean
12 | 3,Libya,Libya,LY,LBY,434,1759540,6461454,25.00,17.00,af
13 | 3,Iran,Iran,IR,IRN,364,1648000,76923300,32.00,53.00,asia
14 | 3,Mongolia,Mong.,MN,MNG,496,1565000,3086918,46.00,105.00,asia
15 | 3,Chad,Chad,TD,TCD,148,1284000,10543464,15.00,19.00,af
16 | 3,Niger,Niger,NE,NER,562,1267000,15878271,16.00,8.00,af
17 | 3,Angola,Ang.,AO,AGO,24,1246700,13068161,-12.50,18.50,af
18 | 3,S. Africa,S. Afr.,ZA,ZAF,710,1219912,49000000,-29.69,22.68,af
19 | 3,Ethiopia,Eth.,ET,ETH,231,1127127,88013491,8.00,38.00,af
20 | 3,Mauritania,Maur.,MR,MRT,478,1030700,3205060,20.00,-12.00,af
21 | 3,Egypt,Egypt,EG,EGY,818,1001450,80471869,27.00,30.00,af
22 | 3,Tanzania,Tan.,TZ,TZA,834,945087,41892895,-6.00,35.00,af
23 | 3,Nigeria,Nig.,NG,NGA,566,923768,154000000,10.00,8.00,af
24 | 3,Namibia,Nmb.,NA,NAM,516,825418,2128471,-22.00,17.00,af
25 | 3,Pakistan,Pak.,PK,PAK,586,803940,184404791,30.00,70.00,asia
26 | 3,Mozambique,Moz.,MZ,MOZ,508,801590,22061451,-18.25,35.00,af
27 | 3,Turkey,Tur.,TR,TUR,792,780580,77804122,39.00,35.00,asia
28 | 3,Zambia,Zam.,ZM,ZMB,894,752614,13460305,-14.60,26.37,af
29 | 3,Myanmar,Mya.,MM,MMR,104,678500,53414374,22.00,98.00,asia
30 | 3,Afghanistan,Afg.,AF,AFG,4,647500,29121286,33.00,66.00,asia
31 | 3,Somalia,Som.,SO,SOM,706,637657,10112453,6.00,48.00,af
32 | 3,Central African Republic,C.A.R.,CF,CAF,140,622984,4844927,7.00,21.00,af
33 | 3,Ukraine,Ukr.,UA,UKR,804,603700,45415596,49.00,32.00,eu
34 | 3,Botswana,Bots.,BW,BWA,72,600370,2029307,-22.00,24.00,af
35 | 3,Madagascar,Madag.,MG,MDG,450,587040,21281844,-20.00,47.00,af
36 | 3,Kenya,Kenya,KE,KEN,404,582650,40046566,1.00,38.00,af
37 | 3,France,Fr.,FR,FRA,250,547030,64768389,46.00,2.00,eu
38 | 3,Yemen,Yemen,YE,YEM,887,527970,23495361,15.50,47.50,asia
39 | 3,Thailand,Thai.,TH,THA,764,514000,67089500,15.00,100.00,asia
40 | 3,Spain,Spain,ES,ESP,724,504782,46505963,40.00,-4.00,eu
41 | 3,Turkmenistan,Turkmen.,TM,TKM,795,488100,4940916,40.00,60.00,asia
42 | 3,Cameroon,Camrn.,CM,CMR,120,475440,19294149,6.00,12.00,af
43 | 3,Papua New Guinea,Pap. N. Gui.,PG,PNG,598,462840,6064515,-6.00,147.00,ocean
44 | 3,Sweden,Swe.,SE,SWE,752,449964,9045000,62.00,15.00,eu
45 | 3,Morocco,Mor.,MA,MAR,504,446550,31627428,32.00,-5.00,af
46 | 3,Iraq,Iraq,IQ,IRQ,368,437072,29671605,33.00,44.00,asia
47 | 3,Japan,Japan,JP,JPN,392,377835,127288000,37.23,138.25,asia
48 | 3,Germany,Ger.,DE,DEU,276,357021,82369000,51.50,10.50,eu
49 | 3,Congo,Congo,CG,COG,178,342000,3039126,-1.00,15.00,af
50 | 3,Finland,Fin.,FI,FIN,246,337030,5244000,64.00,26.00,eu
51 | 3,Malaysia,Malay.,MY,MYS,458,329750,28274729,2.50,112.50,ocean
52 | 3,Vietnam,Viet.,VN,VNM,704,329560,89571130,16.17,107.83,asia
53 | 3,Norway,Nor.,NO,NOR,578,324220,4907000,62.00,10.00,eu
54 | 3,Poland,Pol.,PL,POL,616,312685,38500000,52.00,20.00,eu
55 | 3,Italy,Italy,IT,ITA,380,301230,58145000,42.83,12.83,eu
56 | 3,Philippines,Phil.,PH,PHL,608,300000,99900177,13.00,122.00,ocean
57 | 3,New Zealand,N.Z.,NZ,NZL,554,268680,4252277,-42.00,174.00,ocean
58 | 3,United Kingdom,U.K.,GB,GBR,826,244820,62348447,54.90,-3.12,eu
59 | 3,Romania,Rom.,RO,ROU,642,237500,21959278,46.00,25.00,eu
60 | 3,Oman,Oman,OM,OMN,512,212460,2967717,21.00,57.00,asia
61 | 3,Belarus,Bela.,BY,BLR,112,207600,9685000,53.00,28.00,eu
62 | 3,Kyrgyzstan,Kyrg.,KG,KGZ,417,198500,5508626,41.00,75.00,asia
63 | 3,Senegal,Sen.,SN,SEN,686,196190,12323252,14.00,-14.00,af
64 | 3,Syria,Syria,SY,SYR,760,185180,22198110,35.00,38.00,asia
65 | 3,Tunisia,Tun.,TN,TUN,788,163610,10589025,34.00,9.00,af
66 | 3,Bangladesh,Bngl.,BD,BGD,50,144000,156118464,24.00,90.00,asia
67 | 3,Nepal,Nepal,NP,NPL,524,140800,28951852,28.00,84.00,asia
68 | 3,Greece,Grc.,GR,GRC,300,131940,11000000,39.00,22.00,eu
69 | 3,N. Korea,N. Kor.,KP,PRK,408,120540,22912177,40.00,127.00,asia
70 | 3,Bulgaria,Blg.,BG,BGR,100,110910,7148785,43.00,25.00,eu
71 | 3,Iceland,Ice.,IS,ISL,352,103000,308910,65.00,-18.00,eu
72 | 3,S. Korea,S. Kor.,KR,KOR,410,98480,48422644,37.00,127.50,asia
73 | 3,Portugal,Port.,PT,PRT,620,92391,10676000,39.50,-8.00,eu
74 | 3,Azerbaijan,Azer.,AZ,AZE,31,86600,8303512,40.50,47.50,asia
75 | 3,United Arab Emirates,U.A.E.,AE,ARE,784,82880,4975593,24.00,54.00,asia
76 | 3,Czech Republic,Czech Rep.,CZ,CZE,203,78866,10476000,49.75,15.00,eu
77 | 3,Sri Lanka,Sri L.,LK,LKA,144,65610,21513990,7.00,81.00,asia
78 | 3,Denmark,Den.,DK,DNK,208,43094,5484000,56.00,10.00,eu
79 | 3,Solomon Is.,Sol. Is.,SB,SLB,90,28450,559198,-8.00,159.00,ocean
80 | 3,Israel,Isr.,IL,ISR,376,20770,7353985,31.18,34.88,asia
81 | 3,Fiji,Fiji,FJ,FJI,242,18270,875983,-18.00,178.00,ocean
82 | 3,Micronesia,Micron.,FM,FSM,583,702,108105,5.00,152.00,ocean
83 | 3,Marshall Is.,Marsh. Is.,MH,MHL,584,181.3,65859,10.00,167.00,ocean
84 | 4,Mali,Mali,ML,MLI,466,1240000,13796354,17.00,-4.00,af
85 | 4,Uzbekistan,Uzb.,UZ,UZB,860,447400,27865738,41.00,64.00,asia
86 | 4,Zimbabwe,Zimb.,ZW,ZWE,716,390580,11651858,-19.00,29.00,af
87 | 4,Cote d'Ivoire,C. Iv.,CI,CIV,384,322460,21058798,8.00,-5.00,af
88 | 4,Burkina Faso,Burkina,BF,BFA,854,274200,16241811,13.00,-2.00,af
89 | 4,Gabon,Gabon,GA,GAB,266,267667,1545255,-1.00,11.75,af
90 | 4,W. Sahara,W. Sah.,EH,ESH,732,266000,273008,24.49,-12.66,af
91 | 4,Guinea,Gui.,GN,GIN,324,245857,10324025,11.00,-10.00,af
92 | 4,Ghana,Ghana,GH,GHA,288,239460,24339838,8.00,-2.00,af
93 | 4,Laos,Laos,LA,LAO,418,236800,6368162,18.00,105.00,asia
94 | 4,Uganda,Ug.,UG,UGA,800,236040,33398682,2.00,33.00,af
95 | 4,Cambodia,Camb.,KH,KHM,116,181040,14453680,13.00,105.00,asia
96 | 4,Tajikistan,Taj.,TJ,TJK,762,143100,7487489,39.00,71.00,asia
97 | 4,Eritrea,Erit.,ER,ERI,232,121320,5792984,15.00,39.00,af
98 | 4,Malawi,Malawi,MW,MWI,454,118480,15447500,-13.50,34.00,af
99 | 4,Benin,Benin,BJ,BEN,204,112620,9056010,9.50,2.25,af
100 | 4,Liberia,Lib.,LR,LBR,430,111370,3685076,6.50,-9.50,af
101 | 4,Hungary,Hung.,HU,HUN,348,93030,9930000,47.00,20.00,eu
102 | 4,Jordan,Jord.,JO,JOR,400,92300,6407085,31.00,36.00,asia
103 | 4,Serbia,Serb.,RS,SRB,688,88361,7344847,44.82,20.46,eu
104 | 4,Austria,Aus.,AT,AUT,40,83858,8205000,47.33,13.33,eu
105 | 4,Sierra Leone,S.L.,SL,SLE,694,71740,5245695,8.50,-11.50,af
106 | 4,Ireland,Ire.,IE,IRL,372,70280,4622917,53.00,-8.00,eu
107 | 4,Georgia,Geor.,GE,GEO,268,69700,4630000,42.00,43.50,asia
108 | 4,Lithuania,Lith.,LT,LTU,440,65200,3565000,56.00,24.00,eu
109 | 4,Latvia,Lat.,LV,LVA,428,64589,2217969,57.00,25.00,eu
110 | 4,Togo,Togo,TG,TGO,768,56785,6587239,8.00,1.17,af
111 | 4,Croatia,Cro.,HR,HRV,191,56542,4491000,45.17,15.50,eu
112 | 4,Bosnia and Herzegovina,Bos.,BA,BIH,70,51129,4590000,44.25,17.83,eu
113 | 4,Slovakia,Slvk.,SK,SVK,703,48845,5455000,48.67,19.50,eu
114 | 4,Bhutan,Bhu.,BT,BTN,64,47000,699847,27.50,90.50,asia
115 | 4,Estonia,Est.,EE,EST,233,45226,1291170,59.00,26.00,eu
116 | 4,Netherlands,Neth.,NL,NLD,528,41526,16645000,52.50,5.75,eu
117 | 4,Switzerland,Switz.,CH,CHE,756,41290,7581000,47.00,8.01,eu
118 | 4,Guinea-Bissau,Gui.-B.,GW,GNB,624,36120,1565126,12.00,-15.00,af
119 | 4,Moldova,Mol.,MD,MDA,498,33843,4324000,47.00,29.00,eu
120 | 4,Belgium,Bel.,BE,BEL,56,30510,10403000,50.83,4.00,eu
121 | 4,Lesotho,Leso.,LS,LSO,426,30355,1919552,-29.50,28.25,af
122 | 4,Armenia,Arm.,AM,ARM,51,29800,2968000,40.00,45.00,asia
123 | 4,Albania,Alb.,AL,ALB,8,28748,2986952,41.00,20.00,eu
124 | 4,Equatorial Guinea,Eq. Gui.,GQ,GNQ,226,28051,1014999,2.00,10.00,af
125 | 4,Burundi,Bdi.,BI,BDI,108,27830,9863117,-3.50,30.00,af
126 | 4,Rwanda,Rw.,RW,RWA,646,26338,11055976,-2.00,30.00,af
127 | 4,Macedonia,Mac.,MK,MKD,807,25333,2061000,41.83,22.00,eu
128 | 4,Djibouti,Dji.,DJ,DJI,262,23000,740528,11.50,42.50,af
129 | 4,Slovenia,Slvn.,SI,SVN,705,20273,2007000,46.25,15.17,eu
130 | 4,New Caledonia,N. Cal.,NC,NCL,540,19060,216494,-21.50,165.50,ocean
131 | 4,Kuwait,Kuw.,KW,KWT,414,17820,2789132,29.50,47.75,asia
132 | 4,Swaziland,Swaz.,SZ,SWZ,748,17363,1354051,-26.50,31.50,af
133 | 4,East Timor,E. Timor,TL,TLS,626,15007,1154625,-8.83,125.75,ocean
134 | 4,Montenegro,Mont.,ME,MNE,499,14026,666730,43.50,19.30,eu
135 | 4,Vanuatu,Vanuatu,VU,VUT,548,12200,221552,-16.00,167.00,ocean
136 | 4,Qatar,Qatar,QA,QAT,634,11437,840926,25.50,51.25,asia
137 | 4,The Gambia,Gam.,GM,GMB,270,11300,1593256,13.50,-15.50,af
138 | 4,Lebanon,Leb.,LB,LBN,422,10400,4125247,33.83,35.83,asia
139 | 4,Cyprus,Cyp.,CY,CYP,196,9250,1102677,35.00,33.00,asia
140 | 4,Brunei,Bru.,BN,BRN,96,5770,395027,4.50,114.67,ocean
141 | 4,French Polynesia,Fr. Poly.,PF,PYF,258,4167,270485,-15.00,-140.00,ocean
142 | 4,Cape Verde,C.V.,CV,CPV,132,4033,508659,16.00,-24.00,af
143 | 4,Samoa,Samoa,WS,WSM,882,2944,192001,-13.80,-172.18,ocean
144 | 4,Luxembourg,Lux.,LU,LUX,442,2586,497538,49.75,6.17,eu
145 | 4,Comoros,Com.,KM,COM,174,2170,773407,-12.17,44.25,ocean
146 | 4,Mauritius,Mauritius,MU,MUS,480,2040,1294104,-20.30,57.58,af
147 | 4,Faroe Is.,Far. Is.,FO,FRO,234,1399,48228,62.00,-7.00,eu
148 | 4,N. Marianna Is.,N. Mar. Is.,MP,MNP,580,1007,60000,17.00,145.00,ocean
149 | 4,São Tomé and Príncipe,S. Tom./P.,ST,STP,678,1001,175808,1.00,7.00,af
150 | 4,Kiribati,Kir.,KI,KIR,296,811,92533,-5.00,-170.00,ocean
151 | 4,Tonga,Tonga,TO,TON,776,748,122580,-20.00,-175.00,ocean
152 | 4,Singapore,Sing.,SG,SGP,702,692.7,4701069,1.37,103.80,asia
153 | 4,Bahrain,Bahr.,BH,BHR,48,665,738004,26.00,50.50,asia
154 | 4,Andorra,And.,AD,AND,20,468,84000,42.50,1.50,eu
155 | 4,Palau,Palau,PW,PLW,585,458,20303,7.46,134.56,ocean
156 | 4,Seychelles,Sey.,SC,SYC,690,455,88340,-4.58,55.67,af
157 | 4,St. Helena,St. Hel.,SH,SHN,654,410,7460,-15.95,-5.70,af
158 | 4,Mayotte,May.,YT,MYT,175,374,159042,-12.83,45.17,af
159 | 4,Malta,Malta,MT,MLT,470,316,403000,35.92,14.43,eu
160 | 4,Maldives,Mald.,MV,MDV,462,300,395650,3.20,73.00,asia
161 | 4,Wallis and Futuna,Wal./F.,WF,WLF,876,274,16025,-13.30,-176.20,ocean
162 | 4,Cook Is.,Cook Is.,CK,COK,184,240,21388,-21.25,-159.79,ocean
163 | 4,American Samoa,Am. Sam.,AS,ASM,16,199,57881,-14.33,-170.00,ocean
164 | 4,Liechtenstein,Liech.,LI,LIE,438,160,35000,47.17,9.53,eu
165 | 4,Guernsey,Guern.,GG,GGY,831,78,65228,49.58,-2.33,eu
166 | 4,San Marino,S. Mar.,SM,SMR,674,61.2,31477,43.93,12.42,eu
167 | 4,British Indian Ocean Territory,B.I.O.T.,IO,IOT,86,60,4000,-6.00,72.00,asia
168 | 4,Pitcairn,Pit.,PN,PCN,612,47,46,-25.07,-130.10,ocean
169 | 4,Tuvalu,Tuvalu,TV,TUV,798,26,10472,-8.00,178.00,ocean
170 | 4,Nauru,Nauru,NR,NRU,520,21,9267,-0.53,166.92,ocean
171 | 4,Tokelau,Tok.,TK,TKL,772,10,1433,-9.00,-171.75,ocean
172 | 4,Gibraltar,Gib.,GI,GIB,292,6.5,27884,36.13,-5.35,eu
173 | 4,Monaco,Monaco,MC,MCO,492,2,32965,43.73,7.42,eu
174 | 4,Vatican City,Vatican City,VA,VAT,336,0.4,921,41.90,12.45,eu
175 |
--------------------------------------------------------------------------------
/places/Countries-Eurasia.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Russia,Rus.,RU,RUS,643,17100000,140702000,62.43,87.54,eu
3 | 3,China,China,CN,CHN,156,9596960,1330044000,35.00,105.00,asia
4 | 3,India,India,IN,IND,356,3287590,1173108018,20.00,77.00,asia
5 | 3,Kazakhstan,Kaz.,KZ,KAZ,398,2717300,15340000,48.00,68.00,asia
6 | 3,Saudi Arabia,Sau. Ar.,SA,SAU,682,1960582,25731776,21.62,47.11,asia
7 | 3,Indonesia,Indon.,ID,IDN,364,1919440,242968342,-5.00,120.00,ocean
8 | 3,Iran,Iran,IR,IRN,364,1648000,76923300,32.00,53.00,asia
9 | 3,Mongolia,Mong.,MN,MNG,496,1565000,3086918,46.00,105.00,asia
10 | 3,Pakistan,Pak.,PK,PAK,586,803940,184404791,30.00,70.00,asia
11 | 3,Turkey,Tur.,TR,TUR,792,780580,77804122,39.00,35.00,asia
12 | 3,Myanmar,Mya.,MM,MMR,104,678500,53414374,22.00,98.00,asia
13 | 3,Afghanistan,Afg.,AF,AFG,4,647500,29121286,33.00,66.00,asia
14 | 3,Ukraine,Ukr.,UA,UKR,804,603700,45415596,49.00,32.00,eu
15 | 3,France,Fr.,FR,FRA,250,547030,64768389,46.00,2.00,eu
16 | 3,Yemen,Yemen,YE,YEM,887,527970,23495361,15.50,47.50,asia
17 | 3,Thailand,Thai.,TH,THA,764,514000,67089500,15.00,100.00,asia
18 | 3,Spain,Spain,ES,ESP,724,504782,46505963,40.00,-4.00,eu
19 | 3,Turkmenistan,Turkmen.,TM,TKM,795,488100,4940916,40.00,60.00,asia
20 | 3,Papua New Guinea,Pap. N. Gui.,PG,PNG,598,462840,6064515,-6.00,147.00,ocean
21 | 3,Sweden,Swe.,SE,SWE,752,449964,9045000,62.00,15.00,eu
22 | 3,Iraq,Iraq,IQ,IRQ,368,437072,29671605,33.00,44.00,asia
23 | 3,Japan,Japan,JP,JPN,392,377835,127288000,37.23,138.25,asia
24 | 3,Germany,Ger.,DE,DEU,276,357021,82369000,51.50,10.50,eu
25 | 3,Finland,Fin.,FI,FIN,246,337030,5244000,64.00,26.00,eu
26 | 3,Malaysia,Malay.,MY,MYS,458,329750,28274729,2.50,112.50,ocean
27 | 3,Vietnam,Viet.,VN,VNM,704,329560,89571130,16.17,107.83,asia
28 | 3,Norway,Nor.,NO,NOR,578,324220,4907000,62.00,10.00,eu
29 | 3,Poland,Pol.,PL,POL,616,312685,38500000,52.00,20.00,eu
30 | 3,Italy,Italy,IT,ITA,380,301230,58145000,42.83,12.83,eu
31 | 3,Philippines,Phil.,PH,PHL,608,300000,99900177,13.00,122.00,ocean
32 | 3,United Kingdom,U.K.,GB,GBR,826,244820,62348447,54.90,-3.12,eu
33 | 3,Romania,Rom.,RO,ROU,642,237500,21959278,46.00,25.00,eu
34 | 3,Oman,Oman,OM,OMN,512,212460,2967717,21.00,57.00,asia
35 | 3,Belarus,Bela.,BY,BLR,112,207600,9685000,53.00,28.00,eu
36 | 3,Kyrgyzstan,Kyrg.,KG,KGZ,417,198500,5508626,41.00,75.00,asia
37 | 3,Syria,Syria,SY,SYR,760,185180,22198110,35.00,38.00,asia
38 | 3,Bangladesh,Bngl.,BD,BGD,50,144000,156118464,24.00,90.00,asia
39 | 3,Nepal,Nepal,NP,NPL,524,140800,28951852,28.00,84.00,asia
40 | 3,Greece,Grc.,GR,GRC,300,131940,11000000,39.00,22.00,eu
41 | 3,N. Korea,N. Kor.,KP,PRK,408,120540,22912177,40.00,127.00,asia
42 | 3,Bulgaria,Blg.,BG,BGR,100,110910,7148785,43.00,25.00,eu
43 | 3,Iceland,Ice.,IS,ISL,352,103000,308910,65.00,-18.00,eu
44 | 3,S. Korea,S. Kor.,KR,KOR,410,98480,48422644,37.00,127.50,asia
45 | 3,Portugal,Port.,PT,PRT,620,92391,10676000,39.50,-8.00,eu
46 | 3,Azerbaijan,Azer.,AZ,AZE,31,86600,8303512,40.50,47.50,asia
47 | 3,United Arab Emirates,U.A.E.,AE,ARE,784,82880,4975593,24.00,54.00,asia
48 | 3,Czech Republic,Czech Rep.,CZ,CZE,203,78866,10476000,49.75,15.00,eu
49 | 3,Sri Lanka,Sri L.,LK,LKA,144,65610,21513990,7.00,81.00,asia
50 | 3,Denmark,Den.,DK,DNK,208,43094,5484000,56.00,10.00,eu
51 | 3,Solomon Is.,Sol. Is.,SB,SLB,90,28450,559198,-8.00,159.00,ocean
52 | 3,Israel,Isr.,IL,ISR,376,20770,7353985,31.18,34.88,asia
53 | 3,Fiji,Fiji,FJ,FJI,242,18270,875983,-18.00,178.00,ocean
54 | 3,Micronesia,Micron.,FM,FSM,583,702,108105,5.00,152.00,ocean
55 | 3,Marshall Is.,Marsh. Is.,MH,MHL,584,181.3,65859,10.00,167.00,ocean
56 | 4,Uzbekistan,Uzb.,UZ,UZB,860,447400,27865738,41.00,64.00,asia
57 | 4,Laos,Laos,LA,LAO,418,236800,6368162,18.00,105.00,asia
58 | 4,Cambodia,Camb.,KH,KHM,116,181040,14453680,13.00,105.00,asia
59 | 4,Tajikistan,Taj.,TJ,TJK,762,143100,7487489,39.00,71.00,asia
60 | 4,Hungary,Hung.,HU,HUN,348,93030,9930000,47.00,20.00,eu
61 | 4,Jordan,Jord.,JO,JOR,400,92300,6407085,31.00,36.00,asia
62 | 4,Serbia,Serb.,RS,SRB,688,88361,7344847,44.82,20.46,eu
63 | 4,Austria,Aus.,AT,AUT,40,83858,8205000,47.33,13.33,eu
64 | 4,Ireland,Ire.,IE,IRL,372,70280,4622917,53.00,-8.00,eu
65 | 4,Georgia,Geor.,GE,GEO,268,69700,4630000,42.00,43.50,asia
66 | 4,Lithuania,Lith.,LT,LTU,440,65200,3565000,56.00,24.00,eu
67 | 4,Latvia,Lat.,LV,LVA,428,64589,2217969,57.00,25.00,eu
68 | 4,Croatia,Cro.,HR,HRV,191,56542,4491000,45.17,15.50,eu
69 | 4,Bosnia and Herzegovina,Bos.,BA,BIH,70,51129,4590000,44.25,17.83,eu
70 | 4,Slovakia,Slvk.,SK,SVK,703,48845,5455000,48.67,19.50,eu
71 | 4,Bhutan,Bhu.,BT,BTN,64,47000,699847,27.50,90.50,asia
72 | 4,Estonia,Est.,EE,EST,233,45226,1291170,59.00,26.00,eu
73 | 4,Netherlands,Neth.,NL,NLD,528,41526,16645000,52.50,5.75,eu
74 | 4,Switzerland,Switz.,CH,CHE,756,41290,7581000,47.00,8.01,eu
75 | 4,Moldova,Mol.,MD,MDA,498,33843,4324000,47.00,29.00,eu
76 | 4,Belgium,Bel.,BE,BEL,56,30510,10403000,50.83,4.00,eu
77 | 4,Armenia,Arm.,AM,ARM,51,29800,2968000,40.00,45.00,asia
78 | 4,Albania,Alb.,AL,ALB,8,28748,2986952,41.00,20.00,eu
79 | 4,Macedonia,Mac.,MK,MKD,807,25333,2061000,41.83,22.00,eu
80 | 4,Slovenia,Slvn.,SI,SVN,705,20273,2007000,46.25,15.17,eu
81 | 4,New Caledonia,N. Cal.,NC,NCL,540,19060,216494,-21.50,165.50,ocean
82 | 4,Kuwait,Kuw.,KW,KWT,414,17820,2789132,29.50,47.75,asia
83 | 4,East Timor,E. Timor,TL,TLS,626,15007,1154625,-8.83,125.75,ocean
84 | 4,Montenegro,Mont.,ME,MNE,499,14026,666730,43.50,19.30,eu
85 | 4,Vanuatu,Vanuatu,VU,VUT,548,12200,221552,-16.00,167.00,ocean
86 | 4,Qatar,Qatar,QA,QAT,634,11437,840926,25.50,51.25,asia
87 | 4,Lebanon,Leb.,LB,LBN,422,10400,4125247,33.83,35.83,asia
88 | 4,Cyprus,Cyp.,CY,CYP,196,9250,1102677,35.00,33.00,asia
89 | 4,Brunei,Bru.,BN,BRN,96,5770,395027,4.50,114.67,ocean
90 | 4,French Polynesia,Fr. Poly.,PF,PYF,258,4167,270485,-15.00,-140.00,ocean
91 | 4,Samoa,Samoa,WS,WSM,882,2944,192001,-13.80,-172.18,ocean
92 | 4,Luxembourg,Lux.,LU,LUX,442,2586,497538,49.75,6.17,eu
93 | 4,Comoros,Com.,KM,COM,174,2170,773407,-12.17,44.25,ocean
94 | 4,Faroe Is.,Far. Is.,FO,FRO,234,1399,48228,62.00,-7.00,eu
95 | 4,N. Marianna Is.,N. Mar. Is.,MP,MNP,580,1007,60000,17.00,145.00,ocean
96 | 4,Kiribati,Kir.,KI,KIR,296,811,92533,-5.00,-170.00,ocean
97 | 4,Tonga,Tonga,TO,TON,776,748,122580,-20.00,-175.00,ocean
98 | 4,Singapore,Sing.,SG,SGP,702,692.7,4701069,1.37,103.80,asia
99 | 4,Bahrain,Bahr.,BH,BHR,48,665,738004,26.00,50.50,asia
100 | 4,Andorra,And.,AD,AND,20,468,84000,42.50,1.50,eu
101 | 4,Palau,Palau,PW,PLW,585,458,20303,7.46,134.56,ocean
102 | 4,Malta,Malta,MT,MLT,470,316,403000,35.92,14.43,eu
103 | 4,Maldives,Mald.,MV,MDV,462,300,395650,3.20,73.00,asia
104 | 4,Wallis and Futuna,Wal./F.,WF,WLF,876,274,16025,-13.30,-176.20,ocean
105 | 4,Cook Is.,Cook Is.,CK,COK,184,240,21388,-21.25,-159.79,ocean
106 | 4,American Samoa,Am. Sam.,AS,ASM,16,199,57881,-14.33,-170.00,ocean
107 | 4,Liechtenstein,Liech.,LI,LIE,438,160,35000,47.17,9.53,eu
108 | 4,Guernsey,Guern.,GG,GGY,831,78,65228,49.58,-2.33,eu
109 | 4,San Marino,S. Mar.,SM,SMR,674,61.2,31477,43.93,12.42,eu
110 | 4,British Indian Ocean Territory,B.I.O.T.,IO,IOT,86,60,4000,-6.00,72.00,asia
111 | 4,Pitcairn,Pit.,PN,PCN,612,47,46,-25.07,-130.10,ocean
112 | 4,Tuvalu,Tuvalu,TV,TUV,798,26,10472,-8.00,178.00,ocean
113 | 4,Nauru,Nauru,NR,NRU,520,21,9267,-0.53,166.92,ocean
114 | 4,Tokelau,Tok.,TK,TKL,772,10,1433,-9.00,-171.75,ocean
115 | 4,Gibraltar,Gib.,GI,GIB,292,6.5,27884,36.13,-5.35,eu
116 | 4,Monaco,Monaco,MC,MCO,492,2,32965,43.73,7.42,eu
117 | 4,Vatican City,Vatican City,VA,VAT,336,0.4,921,41.90,12.45,eu
118 |
--------------------------------------------------------------------------------
/places/Countries-Europe.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Ukraine,Ukr.,UA,UKR,804,603700,45415596,49.00,32.00,eu
3 | 3,France,Fr.,FR,FRA,250,547030,64768389,46.00,2.00,eu
4 | 3,Spain,Spain,ES,ESP,724,504782,46505963,40.00,-4.00,eu
5 | 3,Sweden,Swe.,SE,SWE,752,449964,9045000,62.00,15.00,eu
6 | 3,Germany,Ger.,DE,DEU,276,357021,82369000,51.50,10.50,eu
7 | 3,Finland,Fin.,FI,FIN,246,337030,5244000,64.00,26.00,eu
8 | 3,Norway,Nor.,NO,NOR,578,324220,4907000,62.00,10.00,eu
9 | 3,Poland,Pol.,PL,POL,616,312685,38500000,52.00,20.00,eu
10 | 3,Italy,Italy,IT,ITA,380,301230,58145000,42.83,12.83,eu
11 | 3,United Kingdom,U.K.,GB,GBR,826,244820,62348447,54.90,-3.12,eu
12 | 3,Romania,Rom.,RO,ROU,642,237500,21959278,46.00,25.00,eu
13 | 3,Belarus,Bela.,BY,BLR,112,207600,9685000,53.00,28.00,eu
14 | 3,Greece,Grc.,GR,GRC,300,131940,11000000,39.00,22.00,eu
15 | 3,Bulgaria,Blg.,BG,BGR,100,110910,7148785,43.00,25.00,eu
16 | 3,Iceland,Ice.,IS,ISL,352,103000,308910,65.00,-18.00,eu
17 | 3,Portugal,Port.,PT,PRT,620,92391,10676000,39.50,-8.00,eu
18 | 3,Czech Republic,Czech Rep.,CZ,CZE,203,78866,10476000,49.75,15.00,eu
19 | 3,Denmark,Den.,DK,DNK,208,43094,5484000,56.00,10.00,eu
20 | 4,Hungary,Hung.,HU,HUN,348,93030,9930000,47.00,20.00,eu
21 | 4,Serbia,Serb.,RS,SRB,688,88361,7344847,44.82,20.46,eu
22 | 4,Austria,Aus.,AT,AUT,40,83858,8205000,47.33,13.33,eu
23 | 4,Ireland,Ire.,IE,IRL,372,70280,4622917,53.00,-8.00,eu
24 | 4,Lithuania,Lith.,LT,LTU,440,65200,3565000,56.00,24.00,eu
25 | 4,Latvia,Lat.,LV,LVA,428,64589,2217969,57.00,25.00,eu
26 | 4,Croatia,Cro.,HR,HRV,191,56542,4491000,45.17,15.50,eu
27 | 4,Bosnia and Herzegovina,Bos.,BA,BIH,70,51129,4590000,44.25,17.83,eu
28 | 4,Slovakia,Slvk.,SK,SVK,703,48845,5455000,48.67,19.50,eu
29 | 4,Estonia,Est.,EE,EST,233,45226,1291170,59.00,26.00,eu
30 | 4,Netherlands,Neth.,NL,NLD,528,41526,16645000,52.50,5.75,eu
31 | 4,Switzerland,Switz.,CH,CHE,756,41290,7581000,47.00,8.01,eu
32 | 4,Moldova,Mol.,MD,MDA,498,33843,4324000,47.00,29.00,eu
33 | 4,Belgium,Bel.,BE,BEL,56,30510,10403000,50.83,4.00,eu
34 | 4,Albania,Alb.,AL,ALB,8,28748,2986952,41.00,20.00,eu
35 | 4,Macedonia,Mac.,MK,MKD,807,25333,2061000,41.83,22.00,eu
36 | 4,Slovenia,Slvn.,SI,SVN,705,20273,2007000,46.25,15.17,eu
37 | 4,Montenegro,Mont.,ME,MNE,499,14026,666730,43.50,19.30,eu
38 | 4,Cyprus,Cyp.,CY,CYP,196,9250,1102677,35.00,33.00,asia
39 | 4,Luxembourg,Lux.,LU,LUX,442,2586,497538,49.75,6.17,eu
40 | 4,Faroe Is.,Far. Is.,FO,FRO,234,1399,48228,62.00,-7.00,eu
41 | 4,Andorra,And.,AD,AND,20,468,84000,42.50,1.50,eu
42 | 4,Malta,Malta,MT,MLT,470,316,403000,35.92,14.43,eu
43 | 4,Liechtenstein,Liech.,LI,LIE,438,160,35000,47.17,9.53,eu
44 | 4,Guernsey,Guern.,GG,GGY,831,78,65228,49.58,-2.33,eu
45 | 4,San Marino,S. Mar.,SM,SMR,674,61.2,31477,43.93,12.42,eu
46 | 4,Gibraltar,Gib.,GI,GIB,292,6.5,27884,36.13,-5.35,eu
47 | 4,Monaco,Monaco,MC,MCO,492,2,32965,43.73,7.42,eu
48 | 4,Vatican City,Vatican City,VA,VAT,336,0.4,921,41.90,12.45,eu
49 |
--------------------------------------------------------------------------------
/places/Countries-North-America.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Canada,Can.,CA,CAN,124,9984670,33679000,58.08,-101.95,na
3 | 3,United States,U.S.,US,USA,840,9629091,310232863,39.76,-98.50,na
4 | 3,Greenland,Green.,GL,GRL,304,2166086,56375,72.00,-40.00,na
5 | 3,Mexico,Mex.,MX,MEX,484,1972550,112468855,23.00,-102.00,na
6 | 3,Cuba,Cuba,CU,CUB,192,110860,11423000,22.00,-79.50,cen
7 | 4,Nicaragua,Nic.,NI,NIC,558,129494,5995928,13.00,-85.00,cen
8 | 4,Honduras,Hond.,HN,HND,340,112090,7989415,15.00,-86.50,cen
9 | 4,Guatemala,Guat.,GT,GTM,320,108890,13550440,15.50,-90.25,cen
10 | 4,Panama,Pan.,PA,PAN,591,78200,3410676,9.00,-80.00,cen
11 | 4,Costa Rica,C.R.,CR,CRI,188,51100,4516220,10.00,-84.00,cen
12 | 4,Dominican Republic,Dom. Rep.,DO,DOM,214,48730,9823821,19.00,-70.67,na
13 | 4,Haiti,Haiti,HT,HTI,332,27750,9648924,19.00,-72.42,na
14 | 4,Belize,Belize,BZ,BLZ,84,22966,314522,17.25,-88.75,cen
15 | 4,El Salvador,El Sal.,SV,SLV,222,21040,6052064,13.50,-88.92,cen
16 | 4,Bahamas,Bah.,BS,BHS,44,13940,301790,24.00,-76.00,na
17 | 4,Jamaica,Jam.,JM,JAM,388,10991,2847232,18.25,-77.50,na
18 | 4,Puerto Rico,P.R.,PR,PRI,630,9104,3916632,18.25,-66.50,na
19 | 4,Trinidad and Tobago,Trin.,TT,TTO,780,5128,1228691,11.00,-61.00,na
20 | 4,Guadeloupe,Gaud.,GP,GLP,312,1628,443000,16.25,-61.58,na
21 | 4,Martinique,Mart.,MQ,MTQ,474,1100,432900,14.67,-61.00,na
22 | 4,Dominica,Dom.,DM,DMA,212,754,72813,15.50,-61.33,na
23 | 4,St. Lucia,St. Luc.,LC,LCA,662,616,160922,13.88,-60.97,na
24 | 4,Antigua and Barbuda,Antig.,AG,ATG,28,443,86754,17.05,-61.80,na
25 | 4,Barbados,Barb.,BB,BRB,52,431,285653,13.17,-59.53,na
26 | 4,Turks and Caicos Is.,T./C. Is.,TC,TCA,796,430,20556,21.73,-71.58,na
27 | 4,St. Vincent and the Grenadines,St. Vin.,VC,VCT,670,389,120000,13.25,-61.20,na
28 | 4,Virgin Is. (U.S.),V.I.U.S.,VI,VIR,850,352,108708,18.35,-64.98,na
29 | 4,Grenada,Gren.,GD,GRD,308,344,107818,12.12,-61.67,na
30 | 4,Cayman Is.,Cay. Is.,KY,CYM,136,262,44270,19.50,-80.67,na
31 | 4,St. Kitts and Nevis,St. K./N.,KN,KNA,659,261,49898,17.33,-62.75,na
32 | 4,St. Pierre and Miquelon,St. P./M.,PM,SPM,666,242,6125,46.84,-56.32,na
33 | 4,British Virgin Is.,Br. Vir. Is.,VG,VGB,92,153,21730,18.50,-64.50,na
34 | 4,Bermuda,Ber.,BM,BMU,60,53,65365,32.33,-64.75,na
35 |
--------------------------------------------------------------------------------
/places/Countries-South-America.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Brazil,Braz.,BR,BRA,76,8511965,201103330,-10.00,-55.00,sa
3 | 3,Argentina,Arg.,AR,ARG,32,2766890,41343201,-34.00,-64.00,sa
4 | 3,Peru,Peru,PE,PER,604,1285220,29907003,-10.00,-76.00,sa
5 | 3,Colombia,Col.,CO,COL,170,1138910,44205293,4.00,-72.00,sa
6 | 3,Bolivia,Bol.,BO,BOL,68,1098580,9947418,-17.00,-65.00,sa
7 | 3,Venezuela,Ven.,VE,VEN,862,912050,27223228,8.00,-66.00,sa
8 | 3,Chile,Chile,CL,CHL,152,756950,16746491,-32.55,-71.37,sa
9 | 3,Paraguay,Para.,PY,PRY,600,406750,6375830,-22.99,-58.00,sa
10 | 3,Ecuador,Ec.,EC,ECU,218,283560,14790608,-2.00,-77.50,sa
11 | 3,Uruguay,Ur.,UY,URY,858,176220,3477000,-33.00,-56.00,sa
12 | 4,Guyana,Guy.,GY,GUY,328,214970,748486,5.00,-59.00,sa
13 | 4,Suriname,Sur.,SR,SUR,740,163270,492829,4.00,-56.00,sa
14 | 4,French Guiana,Fr. Gu.,GF,GUF,254,91000,195506,4.00,-53.00,sa
15 | 4,Falkland Is.,Falk. Is.,FK,FLK,238,12173,2638,-51.75,-59.17,sa
16 | 4,S. Georgia,S. Geor.,GS,SGS,239,3756,1000,-54.50,-37.00,sa
17 | 4,Netherlands Antilles,Neth. Ant.,AN,ANT,530,960,136197,12.17,-69.00,sa
18 |
--------------------------------------------------------------------------------
/places/Countries-West.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Canada,Can.,CA,CAN,124,9984670,33679000,58.08,-101.95,na
3 | 3,United States,U.S.,US,USA,840,9629091,310232863,39.76,-98.50,na
4 | 3,Brazil,Braz.,BR,BRA,76,8511965,201103330,-10.00,-55.00,sa
5 | 3,Argentina,Arg.,AR,ARG,32,2766890,41343201,-34.00,-64.00,sa
6 | 3,Greenland,Green.,GL,GRL,304,2166086,56375,72.00,-40.00,na
7 | 3,Mexico,Mex.,MX,MEX,484,1972550,112468855,23.00,-102.00,na
8 | 3,Peru,Peru,PE,PER,604,1285220,29907003,-10.00,-76.00,sa
9 | 3,Colombia,Col.,CO,COL,170,1138910,44205293,4.00,-72.00,sa
10 | 3,Bolivia,Bol.,BO,BOL,68,1098580,9947418,-17.00,-65.00,sa
11 | 3,Venezuela,Ven.,VE,VEN,862,912050,27223228,8.00,-66.00,sa
12 | 3,Chile,Chile,CL,CHL,152,756950,16746491,-32.55,-71.37,sa
13 | 3,Paraguay,Para.,PY,PRY,600,406750,6375830,-22.99,-58.00,sa
14 | 3,Ecuador,Ec.,EC,ECU,218,283560,14790608,-2.00,-77.50,sa
15 | 3,Uruguay,Ur.,UY,URY,858,176220,3477000,-33.00,-56.00,sa
16 | 3,Cuba,Cuba,CU,CUB,192,110860,11423000,22.00,-79.50,cen
17 | 4,Guyana,Guy.,GY,GUY,328,214970,748486,5.00,-59.00,sa
18 | 4,Suriname,Sur.,SR,SUR,740,163270,492829,4.00,-56.00,sa
19 | 4,Nicaragua,Nic.,NI,NIC,558,129494,5995928,13.00,-85.00,cen
20 | 4,Honduras,Hond.,HN,HND,340,112090,7989415,15.00,-86.50,cen
21 | 4,Guatemala,Guat.,GT,GTM,320,108890,13550440,15.50,-90.25,cen
22 | 4,French Guiana,Fr. Gu.,GF,GUF,254,91000,195506,4.00,-53.00,sa
23 | 4,Panama,Pan.,PA,PAN,591,78200,3410676,9.00,-80.00,cen
24 | 4,Costa Rica,C.R.,CR,CRI,188,51100,4516220,10.00,-84.00,cen
25 | 4,Dominican Republic,Dom. Rep.,DO,DOM,214,48730,9823821,19.00,-70.67,na
26 | 4,Haiti,Haiti,HT,HTI,332,27750,9648924,19.00,-72.42,na
27 | 4,Belize,Belize,BZ,BLZ,84,22966,314522,17.25,-88.75,cen
28 | 4,El Salvador,El Sal.,SV,SLV,222,21040,6052064,13.50,-88.92,cen
29 | 4,Bahamas,Bah.,BS,BHS,44,13940,301790,24.00,-76.00,na
30 | 4,Falkland Is.,Falk. Is.,FK,FLK,238,12173,2638,-51.75,-59.17,sa
31 | 4,Jamaica,Jam.,JM,JAM,388,10991,2847232,18.25,-77.50,na
32 | 4,Puerto Rico,P.R.,PR,PRI,630,9104,3916632,18.25,-66.50,na
33 | 4,Trinidad and Tobago,Trin.,TT,TTO,780,5128,1228691,11.00,-61.00,na
34 | 4,S. Georgia,S. Geor.,GS,SGS,239,3756,1000,-54.50,-37.00,sa
35 | 4,Guadeloupe,Gaud.,GP,GLP,312,1628,443000,16.25,-61.58,na
36 | 4,Martinique,Mart.,MQ,MTQ,474,1100,432900,14.67,-61.00,na
37 | 4,Netherlands Antilles,Neth. Ant.,AN,ANT,530,960,136197,12.17,-69.00,sa
38 | 4,Dominica,Dom.,DM,DMA,212,754,72813,15.50,-61.33,na
39 | 4,St. Lucia,St. Luc.,LC,LCA,662,616,160922,13.88,-60.97,na
40 | 4,Antigua and Barbuda,Antig.,AG,ATG,28,443,86754,17.05,-61.80,na
41 | 4,Barbados,Barb.,BB,BRB,52,431,285653,13.17,-59.53,na
42 | 4,Turks and Caicos Is.,T./C. Is.,TC,TCA,796,430,20556,21.73,-71.58,na
43 | 4,St. Vincent and the Grenadines,St. Vin.,VC,VCT,670,389,120000,13.25,-61.20,na
44 | 4,Virgin Is. (U.S.),V.I.U.S.,VI,VIR,850,352,108708,18.35,-64.98,na
45 | 4,Grenada,Gren.,GD,GRD,308,344,107818,12.12,-61.67,na
46 | 4,Cayman Is.,Cay. Is.,KY,CYM,136,262,44270,19.50,-80.67,na
47 | 4,St. Kitts and Nevis,St. K./N.,KN,KNA,659,261,49898,17.33,-62.75,na
48 | 4,St. Pierre and Miquelon,St. P./M.,PM,SPM,666,242,6125,46.84,-56.32,na
49 | 4,British Virgin Is.,Br. Vir. Is.,VG,VGB,92,153,21730,18.50,-64.50,na
50 | 4,Bermuda,Ber.,BM,BMU,60,53,65365,32.33,-64.75,na
51 |
--------------------------------------------------------------------------------
/places/Countries.csv:
--------------------------------------------------------------------------------
1 | zoom,name,abbreviation,ISO alpha 2,ISO alpha 3,ISO numeric,land area km,population,latitude,longitude,continent
2 | 3,Russia,Rus.,RU,RUS,643,17100000,140702000,62.43,87.54,eu
3 | 3,Canada,Can.,CA,CAN,124,9984670,33679000,58.08,-101.95,na
4 | 3,United States,U.S.,US,USA,840,9629091,310232863,39.76,-98.50,na
5 | 3,China,China,CN,CHN,156,9596960,1330044000,35.00,105.00,asia
6 | 3,Brazil,Braz.,BR,BRA,76,8511965,201103330,-10.00,-55.00,sa
7 | 3,Australia,Austl.,AU,AUS,36,7686850,21515754,-25.00,135.00,ocean
8 | 3,India,India,IN,IND,356,3287590,1173108018,20.00,77.00,asia
9 | 3,Argentina,Arg.,AR,ARG,32,2766890,41343201,-34.00,-64.00,sa
10 | 3,Kazakhstan,Kaz.,KZ,KAZ,398,2717300,15340000,48.00,68.00,asia
11 | 3,Sudan,Sudan,SD,SDN,736,2505810,43939598,15.00,30.00,af
12 | 3,Algeria,Alg.,DZ,DZA,12,2381740,34586184,28.00,3.00,af
13 | 3,Dem. Rep. of the Congo,D.R.C.,CD,COD,180,2345410,70916439,-4.74,22.15,af
14 | 3,Greenland,Green.,GL,GRL,304,2166086,56375,72.00,-40.00,na
15 | 3,Mexico,Mex.,MX,MEX,484,1972550,112468855,23.00,-102.00,na
16 | 3,Saudi Arabia,Sau. Ar.,SA,SAU,682,1960582,25731776,21.62,47.11,asia
17 | 3,Indonesia,Indon.,ID,IDN,364,1919440,242968342,-5.00,120.00,ocean
18 | 3,Libya,Libya,LY,LBY,434,1759540,6461454,25.00,17.00,af
19 | 3,Iran,Iran,IR,IRN,364,1648000,76923300,32.00,53.00,asia
20 | 3,Mongolia,Mong.,MN,MNG,496,1565000,3086918,46.00,105.00,asia
21 | 3,Peru,Peru,PE,PER,604,1285220,29907003,-10.00,-76.00,sa
22 | 3,Chad,Chad,TD,TCD,148,1284000,10543464,15.00,19.00,af
23 | 3,Niger,Niger,NE,NER,562,1267000,15878271,16.00,8.00,af
24 | 3,Angola,Ang.,AO,AGO,24,1246700,13068161,-12.50,18.50,af
25 | 3,S. Africa,S. Afr.,ZA,ZAF,710,1219912,49000000,-29.69,22.68,af
26 | 3,Colombia,Col.,CO,COL,170,1138910,44205293,4.00,-72.00,sa
27 | 3,Ethiopia,Eth.,ET,ETH,231,1127127,88013491,8.00,38.00,af
28 | 3,Bolivia,Bol.,BO,BOL,68,1098580,9947418,-17.00,-65.00,sa
29 | 3,Mauritania,Maur.,MR,MRT,478,1030700,3205060,20.00,-12.00,af
30 | 3,Egypt,Egypt,EG,EGY,818,1001450,80471869,27.00,30.00,af
31 | 3,Tanzania,Tan.,TZ,TZA,834,945087,41892895,-6.00,35.00,af
32 | 3,Nigeria,Nig.,NG,NGA,566,923768,154000000,10.00,8.00,af
33 | 3,Venezuela,Ven.,VE,VEN,862,912050,27223228,8.00,-66.00,sa
34 | 3,Namibia,Nmb.,NA,NAM,516,825418,2128471,-22.00,17.00,af
35 | 3,Pakistan,Pak.,PK,PAK,586,803940,184404791,30.00,70.00,asia
36 | 3,Mozambique,Moz.,MZ,MOZ,508,801590,22061451,-18.25,35.00,af
37 | 3,Turkey,Tur.,TR,TUR,792,780580,77804122,39.00,35.00,asia
38 | 3,Chile,Chile,CL,CHL,152,756950,16746491,-32.55,-71.37,sa
39 | 3,Zambia,Zam.,ZM,ZMB,894,752614,13460305,-14.60,26.37,af
40 | 3,Myanmar,Mya.,MM,MMR,104,678500,53414374,22.00,98.00,asia
41 | 3,Afghanistan,Afg.,AF,AFG,4,647500,29121286,33.00,66.00,asia
42 | 3,Somalia,Som.,SO,SOM,706,637657,10112453,6.00,48.00,af
43 | 3,Central African Republic,C.A.R.,CF,CAF,140,622984,4844927,7.00,21.00,af
44 | 3,Ukraine,Ukr.,UA,UKR,804,603700,45415596,49.00,32.00,eu
45 | 3,Botswana,Bots.,BW,BWA,72,600370,2029307,-22.00,24.00,af
46 | 3,Madagascar,Madag.,MG,MDG,450,587040,21281844,-20.00,47.00,af
47 | 3,Kenya,Kenya,KE,KEN,404,582650,40046566,1.00,38.00,af
48 | 3,France,Fr.,FR,FRA,250,547030,64768389,46.00,2.00,eu
49 | 3,Yemen,Yemen,YE,YEM,887,527970,23495361,15.50,47.50,asia
50 | 3,Thailand,Thai.,TH,THA,764,514000,67089500,15.00,100.00,asia
51 | 3,Spain,Spain,ES,ESP,724,504782,46505963,40.00,-4.00,eu
52 | 3,Turkmenistan,Turkmen.,TM,TKM,795,488100,4940916,40.00,60.00,asia
53 | 3,Cameroon,Camrn.,CM,CMR,120,475440,19294149,6.00,12.00,af
54 | 3,Papua New Guinea,Pap. N. Gui.,PG,PNG,598,462840,6064515,-6.00,147.00,ocean
55 | 3,Sweden,Swe.,SE,SWE,752,449964,9045000,62.00,15.00,eu
56 | 3,Morocco,Mor.,MA,MAR,504,446550,31627428,32.00,-5.00,af
57 | 3,Iraq,Iraq,IQ,IRQ,368,437072,29671605,33.00,44.00,asia
58 | 3,Paraguay,Para.,PY,PRY,600,406750,6375830,-22.99,-58.00,sa
59 | 3,Japan,Japan,JP,JPN,392,377835,127288000,37.23,138.25,asia
60 | 3,Germany,Ger.,DE,DEU,276,357021,82369000,51.50,10.50,eu
61 | 3,Congo,Congo,CG,COG,178,342000,3039126,-1.00,15.00,af
62 | 3,Finland,Fin.,FI,FIN,246,337030,5244000,64.00,26.00,eu
63 | 3,Malaysia,Malay.,MY,MYS,458,329750,28274729,2.50,112.50,ocean
64 | 3,Vietnam,Viet.,VN,VNM,704,329560,89571130,16.17,107.83,asia
65 | 3,Norway,Nor.,NO,NOR,578,324220,4907000,62.00,10.00,eu
66 | 3,Poland,Pol.,PL,POL,616,312685,38500000,52.00,20.00,eu
67 | 3,Italy,Italy,IT,ITA,380,301230,58145000,42.83,12.83,eu
68 | 3,Philippines,Phil.,PH,PHL,608,300000,99900177,13.00,122.00,ocean
69 | 3,Ecuador,Ec.,EC,ECU,218,283560,14790608,-2.00,-77.50,sa
70 | 3,New Zealand,N.Z.,NZ,NZL,554,268680,4252277,-42.00,174.00,ocean
71 | 3,United Kingdom,U.K.,GB,GBR,826,244820,62348447,54.90,-3.12,eu
72 | 3,Romania,Rom.,RO,ROU,642,237500,21959278,46.00,25.00,eu
73 | 3,Oman,Oman,OM,OMN,512,212460,2967717,21.00,57.00,asia
74 | 3,Belarus,Bela.,BY,BLR,112,207600,9685000,53.00,28.00,eu
75 | 3,Kyrgyzstan,Kyrg.,KG,KGZ,417,198500,5508626,41.00,75.00,asia
76 | 3,Senegal,Sen.,SN,SEN,686,196190,12323252,14.00,-14.00,af
77 | 3,Syria,Syria,SY,SYR,760,185180,22198110,35.00,38.00,asia
78 | 3,Uruguay,Ur.,UY,URY,858,176220,3477000,-33.00,-56.00,sa
79 | 3,Tunisia,Tun.,TN,TUN,788,163610,10589025,34.00,9.00,af
80 | 3,Bangladesh,Bngl.,BD,BGD,50,144000,156118464,24.00,90.00,asia
81 | 3,Nepal,Nepal,NP,NPL,524,140800,28951852,28.00,84.00,asia
82 | 3,Greece,Grc.,GR,GRC,300,131940,11000000,39.00,22.00,eu
83 | 3,N. Korea,N. Kor.,KP,PRK,408,120540,22912177,40.00,127.00,asia
84 | 3,Bulgaria,Blg.,BG,BGR,100,110910,7148785,43.00,25.00,eu
85 | 3,Cuba,Cuba,CU,CUB,192,110860,11423000,22.00,-79.50,cen
86 | 3,Iceland,Ice.,IS,ISL,352,103000,308910,65.00,-18.00,eu
87 | 3,S. Korea,S. Kor.,KR,KOR,410,98480,48422644,37.00,127.50,asia
88 | 3,Portugal,Port.,PT,PRT,620,92391,10676000,39.50,-8.00,eu
89 | 3,Azerbaijan,Azer.,AZ,AZE,31,86600,8303512,40.50,47.50,asia
90 | 3,United Arab Emirates,U.A.E.,AE,ARE,784,82880,4975593,24.00,54.00,asia
91 | 3,Czech Republic,Czech Rep.,CZ,CZE,203,78866,10476000,49.75,15.00,eu
92 | 3,Sri Lanka,Sri L.,LK,LKA,144,65610,21513990,7.00,81.00,asia
93 | 3,Denmark,Den.,DK,DNK,208,43094,5484000,56.00,10.00,eu
94 | 3,Solomon Is.,Sol. Is.,SB,SLB,90,28450,559198,-8.00,159.00,ocean
95 | 3,Israel,Isr.,IL,ISR,376,20770,7353985,31.18,34.88,asia
96 | 3,Fiji,Fiji,FJ,FJI,242,18270,875983,-18.00,178.00,ocean
97 | 3,Micronesia,Micron.,FM,FSM,583,702,108105,5.00,152.00,ocean
98 | 3,Marshall Is.,Marsh. Is.,MH,MHL,584,181.3,65859,10.00,167.00,ocean
99 | 4,Mali,Mali,ML,MLI,466,1240000,13796354,17.00,-4.00,af
100 | 4,Uzbekistan,Uzb.,UZ,UZB,860,447400,27865738,41.00,64.00,asia
101 | 4,Zimbabwe,Zimb.,ZW,ZWE,716,390580,11651858,-19.00,29.00,af
102 | 4,Cote d'Ivoire,C. Iv.,CI,CIV,384,322460,21058798,8.00,-5.00,af
103 | 4,Burkina Faso,Burkina,BF,BFA,854,274200,16241811,13.00,-2.00,af
104 | 4,Gabon,Gabon,GA,GAB,266,267667,1545255,-1.00,11.75,af
105 | 4,W. Sahara,W. Sah.,EH,ESH,732,266000,273008,24.49,-12.66,af
106 | 4,Guinea,Gui.,GN,GIN,324,245857,10324025,11.00,-10.00,af
107 | 4,Ghana,Ghana,GH,GHA,288,239460,24339838,8.00,-2.00,af
108 | 4,Laos,Laos,LA,LAO,418,236800,6368162,18.00,105.00,asia
109 | 4,Uganda,Ug.,UG,UGA,800,236040,33398682,2.00,33.00,af
110 | 4,Guyana,Guy.,GY,GUY,328,214970,748486,5.00,-59.00,sa
111 | 4,Cambodia,Camb.,KH,KHM,116,181040,14453680,13.00,105.00,asia
112 | 4,Suriname,Sur.,SR,SUR,740,163270,492829,4.00,-56.00,sa
113 | 4,Tajikistan,Taj.,TJ,TJK,762,143100,7487489,39.00,71.00,asia
114 | 4,Nicaragua,Nic.,NI,NIC,558,129494,5995928,13.00,-85.00,cen
115 | 4,Eritrea,Erit.,ER,ERI,232,121320,5792984,15.00,39.00,af
116 | 4,Malawi,Malawi,MW,MWI,454,118480,15447500,-13.50,34.00,af
117 | 4,Benin,Benin,BJ,BEN,204,112620,9056010,9.50,2.25,af
118 | 4,Honduras,Hond.,HN,HND,340,112090,7989415,15.00,-86.50,cen
119 | 4,Liberia,Lib.,LR,LBR,430,111370,3685076,6.50,-9.50,af
120 | 4,Guatemala,Guat.,GT,GTM,320,108890,13550440,15.50,-90.25,cen
121 | 4,Hungary,Hung.,HU,HUN,348,93030,9930000,47.00,20.00,eu
122 | 4,Jordan,Jord.,JO,JOR,400,92300,6407085,31.00,36.00,asia
123 | 4,French Guiana,Fr. Gu.,GF,GUF,254,91000,195506,4.00,-53.00,sa
124 | 4,Serbia,Serb.,RS,SRB,688,88361,7344847,44.82,20.46,eu
125 | 4,Austria,Aus.,AT,AUT,40,83858,8205000,47.33,13.33,eu
126 | 4,Panama,Pan.,PA,PAN,591,78200,3410676,9.00,-80.00,cen
127 | 4,Sierra Leone,S.L.,SL,SLE,694,71740,5245695,8.50,-11.50,af
128 | 4,Ireland,Ire.,IE,IRL,372,70280,4622917,53.00,-8.00,eu
129 | 4,Georgia,Geor.,GE,GEO,268,69700,4630000,42.00,43.50,asia
130 | 4,Lithuania,Lith.,LT,LTU,440,65200,3565000,56.00,24.00,eu
131 | 4,Latvia,Lat.,LV,LVA,428,64589,2217969,57.00,25.00,eu
132 | 4,Togo,Togo,TG,TGO,768,56785,6587239,8.00,1.17,af
133 | 4,Croatia,Cro.,HR,HRV,191,56542,4491000,45.17,15.50,eu
134 | 4,Bosnia and Herzegovina,Bos.,BA,BIH,70,51129,4590000,44.25,17.83,eu
135 | 4,Costa Rica,C.R.,CR,CRI,188,51100,4516220,10.00,-84.00,cen
136 | 4,Slovakia,Slvk.,SK,SVK,703,48845,5455000,48.67,19.50,eu
137 | 4,Dominican Republic,Dom. Rep.,DO,DOM,214,48730,9823821,19.00,-70.67,na
138 | 4,Bhutan,Bhu.,BT,BTN,64,47000,699847,27.50,90.50,asia
139 | 4,Estonia,Est.,EE,EST,233,45226,1291170,59.00,26.00,eu
140 | 4,Netherlands,Neth.,NL,NLD,528,41526,16645000,52.50,5.75,eu
141 | 4,Switzerland,Switz.,CH,CHE,756,41290,7581000,47.00,8.01,eu
142 | 4,Guinea-Bissau,Gui.-B.,GW,GNB,624,36120,1565126,12.00,-15.00,af
143 | 4,Moldova,Mol.,MD,MDA,498,33843,4324000,47.00,29.00,eu
144 | 4,Belgium,Bel.,BE,BEL,56,30510,10403000,50.83,4.00,eu
145 | 4,Lesotho,Leso.,LS,LSO,426,30355,1919552,-29.50,28.25,af
146 | 4,Armenia,Arm.,AM,ARM,51,29800,2968000,40.00,45.00,asia
147 | 4,Albania,Alb.,AL,ALB,8,28748,2986952,41.00,20.00,eu
148 | 4,Equatorial Guinea,Eq. Gui.,GQ,GNQ,226,28051,1014999,2.00,10.00,af
149 | 4,Burundi,Bdi.,BI,BDI,108,27830,9863117,-3.50,30.00,af
150 | 4,Haiti,Haiti,HT,HTI,332,27750,9648924,19.00,-72.42,na
151 | 4,Rwanda,Rw.,RW,RWA,646,26338,11055976,-2.00,30.00,af
152 | 4,Macedonia,Mac.,MK,MKD,807,25333,2061000,41.83,22.00,eu
153 | 4,Djibouti,Dji.,DJ,DJI,262,23000,740528,11.50,42.50,af
154 | 4,Belize,Belize,BZ,BLZ,84,22966,314522,17.25,-88.75,cen
155 | 4,El Salvador,El Sal.,SV,SLV,222,21040,6052064,13.50,-88.92,cen
156 | 4,Slovenia,Slvn.,SI,SVN,705,20273,2007000,46.25,15.17,eu
157 | 4,New Caledonia,N. Cal.,NC,NCL,540,19060,216494,-21.50,165.50,ocean
158 | 4,Kuwait,Kuw.,KW,KWT,414,17820,2789132,29.50,47.75,asia
159 | 4,Swaziland,Swaz.,SZ,SWZ,748,17363,1354051,-26.50,31.50,af
160 | 4,East Timor,E. Timor,TL,TLS,626,15007,1154625,-8.83,125.75,ocean
161 | 4,Montenegro,Mont.,ME,MNE,499,14026,666730,43.50,19.30,eu
162 | 4,Bahamas,Bah.,BS,BHS,44,13940,301790,24.00,-76.00,na
163 | 4,Vanuatu,Vanuatu,VU,VUT,548,12200,221552,-16.00,167.00,ocean
164 | 4,Falkland Is.,Falk. Is.,FK,FLK,238,12173,2638,-51.75,-59.17,sa
165 | 4,Qatar,Qatar,QA,QAT,634,11437,840926,25.50,51.25,asia
166 | 4,The Gambia,Gam.,GM,GMB,270,11300,1593256,13.50,-15.50,af
167 | 4,Jamaica,Jam.,JM,JAM,388,10991,2847232,18.25,-77.50,na
168 | 4,Lebanon,Leb.,LB,LBN,422,10400,4125247,33.83,35.83,asia
169 | 4,Cyprus,Cyp.,CY,CYP,196,9250,1102677,35.00,33.00,asia
170 | 4,Puerto Rico,P.R.,PR,PRI,630,9104,3916632,18.25,-66.50,na
171 | 4,Brunei,Bru.,BN,BRN,96,5770,395027,4.50,114.67,ocean
172 | 4,Trinidad and Tobago,Trin.,TT,TTO,780,5128,1228691,11.00,-61.00,na
173 | 4,French Polynesia,Fr. Poly.,PF,PYF,258,4167,270485,-15.00,-140.00,ocean
174 | 4,Cape Verde,C.V.,CV,CPV,132,4033,508659,16.00,-24.00,af
175 | 4,S. Georgia,S. Geor.,GS,SGS,239,3756,1000,-54.50,-37.00,sa
176 | 4,Samoa,Samoa,WS,WSM,882,2944,192001,-13.80,-172.18,ocean
177 | 4,Luxembourg,Lux.,LU,LUX,442,2586,497538,49.75,6.17,eu
178 | 4,Comoros,Com.,KM,COM,174,2170,773407,-12.17,44.25,ocean
179 | 4,Mauritius,Mauritius,MU,MUS,480,2040,1294104,-20.30,57.58,af
180 | 4,Guadeloupe,Gaud.,GP,GLP,312,1628,443000,16.25,-61.58,na
181 | 4,Faroe Is.,Far. Is.,FO,FRO,234,1399,48228,62.00,-7.00,eu
182 | 4,Martinique,Mart.,MQ,MTQ,474,1100,432900,14.67,-61.00,na
183 | 4,N. Marianna Is.,N. Mar. Is.,MP,MNP,580,1007,60000,17.00,145.00,ocean
184 | 4,São Tomé and Príncipe,S. Tom./P.,ST,STP,678,1001,175808,1.00,7.00,af
185 | 4,Netherlands Antilles,Neth. Ant.,AN,ANT,530,960,136197,12.17,-69.00,sa
186 | 4,Kiribati,Kir.,KI,KIR,296,811,92533,-5.00,-170.00,ocean
187 | 4,Dominica,Dom.,DM,DMA,212,754,72813,15.50,-61.33,na
188 | 4,Tonga,Tonga,TO,TON,776,748,122580,-20.00,-175.00,ocean
189 | 4,Singapore,Sing.,SG,SGP,702,692.7,4701069,1.37,103.80,asia
190 | 4,Bahrain,Bahr.,BH,BHR,48,665,738004,26.00,50.50,asia
191 | 4,St. Lucia,St. Luc.,LC,LCA,662,616,160922,13.88,-60.97,na
192 | 4,Andorra,And.,AD,AND,20,468,84000,42.50,1.50,eu
193 | 4,Palau,Palau,PW,PLW,585,458,20303,7.46,134.56,ocean
194 | 4,Seychelles,Sey.,SC,SYC,690,455,88340,-4.58,55.67,af
195 | 4,Antigua and Barbuda,Antig.,AG,ATG,28,443,86754,17.05,-61.80,na
196 | 4,Barbados,Barb.,BB,BRB,52,431,285653,13.17,-59.53,na
197 | 4,Turks and Caicos Is.,T./C. Is.,TC,TCA,796,430,20556,21.73,-71.58,na
198 | 4,St. Helena,St. Hel.,SH,SHN,654,410,7460,-15.95,-5.70,af
199 | 4,St. Vincent and the Grenadines,St. Vin.,VC,VCT,670,389,120000,13.25,-61.20,na
200 | 4,Mayotte,May.,YT,MYT,175,374,159042,-12.83,45.17,af
201 | 4,Virgin Is. (U.S.),V.I.U.S.,VI,VIR,850,352,108708,18.35,-64.98,na
202 | 4,Grenada,Gren.,GD,GRD,308,344,107818,12.12,-61.67,na
203 | 4,Malta,Malta,MT,MLT,470,316,403000,35.92,14.43,eu
204 | 4,Maldives,Mald.,MV,MDV,462,300,395650,3.20,73.00,asia
205 | 4,Wallis and Futuna,Wal./F.,WF,WLF,876,274,16025,-13.30,-176.20,ocean
206 | 4,Cayman Is.,Cay. Is.,KY,CYM,136,262,44270,19.50,-80.67,na
207 | 4,St. Kitts and Nevis,St. K./N.,KN,KNA,659,261,49898,17.33,-62.75,na
208 | 4,St. Pierre and Miquelon,St. P./M.,PM,SPM,666,242,6125,46.84,-56.32,na
209 | 4,Cook Is.,Cook Is.,CK,COK,184,240,21388,-21.25,-159.79,ocean
210 | 4,American Samoa,Am. Sam.,AS,ASM,16,199,57881,-14.33,-170.00,ocean
211 | 4,Liechtenstein,Liech.,LI,LIE,438,160,35000,47.17,9.53,eu
212 | 4,British Virgin Is.,Br. Vir. Is.,VG,VGB,92,153,21730,18.50,-64.50,na
213 | 4,Guernsey,Guern.,GG,GGY,831,78,65228,49.58,-2.33,eu
214 | 4,San Marino,S. Mar.,SM,SMR,674,61.2,31477,43.93,12.42,eu
215 | 4,British Indian Ocean Territory,B.I.O.T.,IO,IOT,86,60,4000,-6.00,72.00,asia
216 | 4,Bermuda,Ber.,BM,BMU,60,53,65365,32.33,-64.75,na
217 | 4,Pitcairn,Pit.,PN,PCN,612,47,46,-25.07,-130.10,ocean
218 | 4,Tuvalu,Tuvalu,TV,TUV,798,26,10472,-8.00,178.00,ocean
219 | 4,Nauru,Nauru,NR,NRU,520,21,9267,-0.53,166.92,ocean
220 | 4,Tokelau,Tok.,TK,TKL,772,10,1433,-9.00,-171.75,ocean
221 | 4,Gibraltar,Gib.,GI,GIB,292,6.5,27884,36.13,-5.35,eu
222 | 4,Monaco,Monaco,MC,MCO,492,2,32965,43.73,7.42,eu
223 | 4,Vatican City,Vatican City,VA,VAT,336,0.4,921,41.90,12.45,eu
224 |
--------------------------------------------------------------------------------
/places/Europe-z4-z6.txt:
--------------------------------------------------------------------------------
1 | zoom geonameid name asciiname latitude longitude country code admin1 code population
2 | 4 2759794 Amsterdam Amsterdam 52.37403 4.88969 NL 741636
3 | 4 264371 Athens Athens 37.97945 23.71622 GR 729137
4 | 4 3128760 Barcelona Barcelona 41.38879 2.15899 ES 1621537
5 | 4 2950159 Berlin Berlin 52.52437 13.41053 DE 3426354
6 | 4 2800866 Brussels Brussels 50.8466 4.35277 BE 1019022
7 | 4 2618425 Copenhagen Copenhagen 55.67594 12.56553 DK 1153615
8 | 4 2925533 Frankfurt Frankfurt am Main 50.11667 8.68333 DE 650000
9 | 4 745044 Istanbul Istanbul 41.01384 28.94966 TR 11174257
10 | 4 703448 Kiev Kiev 50.45466 30.5238 UA 2514227
11 | 4 2643743 London London 51.50853 -0.12574 GB 7556900
12 | 4 3117735 Madrid Madrid 40.4165 -3.70256 ES 3255944
13 | 4 3173435 Milan Milano 45.46427 9.18951 IT 1306661
14 | 4 2988507 Paris Paris 48.85341 2.3488 FR 2138551
15 | 4 3169070 Rome Roma 41.89474 12.4839 IT 2563241
16 | 4 2673730 Stockholm Stockholm 59.33258 18.0649 SE 1253309
17 | 4 2761369 Vienna Vienna 48.20849 16.37208 AT 1691468
18 | 4 756135 Warsaw Warsaw 52.22977 21.01178 PL 1702139
19 | 5 792680 Belgrade Belgrade 44.80401 20.46513 RS 1273651
20 | 5 683506 Bucharest Bucuresti 44.43225 26.10626 RO 1877155
21 | 5 3054643 Budapest Budapest 47.49801 19.03991 HU 1696128
22 | 5 2964574 Dublin Dublin 53.34399 -6.26719 IE 1024027
23 | 5 2650225 Edinburgh Edinburgh 55.95 -3.2 GB 435791
24 | 5 2660646 Geneva Geneve 46.20222 6.14569 CH 183981
25 | 5 2911298 Hamburg Hamburg 53.55 10 DE 1739117
26 | 5 658225 Helsinki Helsinki 60.16952 24.93545 FI 558457
27 | 5 2267057 Lisbon Lisbon 38.71667 -9.13333 PT 517802
28 | 5 2995469 Marseille Marseille 43.3 5.4 FR 794811
29 | 5 625144 Minsk Minsk 53.9 27.56667 BY 1742124
30 | 5 2867714 Munich Muenchen 48.13743 11.57549 DE 1260391
31 | 5 3172394 Naples Napoli 40.83333 14.25 IT 988972
32 | 5 698740 Odessa Odesa 46.47747 30.73262 UA 1001558
33 | 5 3143244 Oslo Oslo 59.91325 10.73892 NO 580000
34 | 5 3067696 Prague Praha 50.08804 14.42076 CZ 1165581
35 | 5 3413829 Reykjavik Reykjavik 64.13548 -21.89541 IS 113906
36 | 5 456172 Riga Riga 56.946 24.10589 LV 742572
37 | 5 727011 Sofia Sofia 42.69751 23.32415 BG 1152556
38 | 5 2657896 Zurich Zurich 47.36667 8.55 CH 341730
39 | 6 2521978 Alicante Alicante 38.34517 -0.48149 ES 334757
40 | 6 2803138 Antwerp Antwerp 51.21667 4.41667 BE 459805
41 | 6 2655984 Belfast Belfast 54.58333 -5.93333 GB 274770
42 | 6 3161732 Bergen Bergen 60.39316 5.32428 NO 213585
43 | 6 2661552 Bern Bern 46.94809 7.44744 CH 121631
44 | 6 3128026 Bilbao Bilbao 43.26271 -2.92528 ES 354860
45 | 6 2655603 Birmingham Birmingham 52.46667 -1.91667 GB 984333
46 | 6 3181928 Bologna Bologna 44.49381 11.33875 IT 371217
47 | 6 3031582 Bordeaux Bordeaux 44.83333 -0.56667 FR 231844
48 | 6 3060972 Bratislava Bratislava 48.14816 17.10674 SK 423737
49 | 6 2944388 Bremen Bremen 53.07516 8.80777 DE 546501
50 | 6 2654675 Bristol Bristol 51.45 -2.58333 GB 430713
51 | 6 2653822 Cardiff Cardiff 51.48 -3.18 GB 302139
52 | 6 2886242 Cologne Koeln 50.93333 6.95 DE 963395
53 | 6 2519240 Cordoba Cordoba 37.88333 -4.76667 ES 328428
54 | 6 2965140 Cork Cork 51.89861 -8.49583 IE 190384
55 | 6 709930 Dnipropetrovs’k Dnipropetrovsk 48.45 34.98333 UA 1032822
56 | 6 709717 Donets’k Donets'k 48 37.8 UA 1024700
57 | 6 2935517 Dortmund Dortmund 51.51667 7.45 DE 588462
58 | 6 2935022 Dresden Dresden 51.05089 13.73832 DE 486854
59 | 6 2934246 Dusseldorf Dusseldorf 51.22172 6.77616 DE 573057
60 | 6 2928810 Essen Essen 51.45 7.01667 DE 593085
61 | 6 3176959 Florence Florence 43.76667 11.25 IT 371517
62 | 6 3099434 Gdansk Gdansk 54.35205 18.64637 PL 461865
63 | 6 3176219 Genoa Genova 44.40632 8.93386 IT 601951
64 | 6 2648579 Glasgow Glasgow 55.86515 -4.25763 GB 610268
65 | 6 2711537 Goteborg Goeteborg 57.70716 11.96679 SE 504084
66 | 6 3014728 Grenoble Grenoble 45.16667 5.71667 FR 158552
67 | 6 2910831 Hannover Hannover 52.37052 9.73322 DE 515140
68 | 6 3096472 Katowice Katowice 50.26667 19.01667 PL 317316
69 | 6 706483 Kharkiv Kharkiv 50 36.25 UA 1430885
70 | 6 3094802 Krakow Krakow 50.08333 19.91667 PL 755050
71 | 6 2644688 Leeds Leeds 53.79648 -1.54785 GB 455123
72 | 6 2879139 Leipzig Leipzig 51.33962 12.37129 DE 504971
73 | 6 2644210 Liverpool Liverpool 53.41058 -2.97794 GB 468945
74 | 6 3196359 Ljubljana Ljubljana 46.05108 14.50513 SI 255115
75 | 6 3093133 Lodz Lodz 51.75 19.46667 PL 768755
76 | 6 2960316 Luxembourg Luxembourg 49.61167 6.13 LU 76684
77 | 6 2996944 Lyon Lyon 45.75 4.85 FR 472317
78 | 6 2514256 Malaga Malaga 36.72016 -4.42034 ES 568305
79 | 6 2643123 Manchester Manchester 53.48095 -2.23743 GB 395515
80 | 6 2873891 Mannheim Mannheim 49.48833 8.46472 DE 307960
81 | 6 2993458 Monaco Monaco 43.73333 7.41667 MC 32965
82 | 6 2990969 Nantes Nantes 47.21725 -1.55336 FR 277269
83 | 6 2990440 Nice Nice 43.70313 7.26608 FR 338620
84 | 6 146268 Nicosia Nicosia 35.16667 33.36667 CY 200452
85 | 6 2641170 Nottingham Nottingham 52.9536 -1.15047 GB 246654
86 | 6 2861650 Nuremberg Nuremberg 49.44778 11.06833 DE 499237
87 | 6 2523920 Palermo Palermo 38.11582 13.35976 IT 672175
88 | 6 2735943 Porto Porto 41.15 -8.61667 PT 249633
89 | 6 3088171 Pozan Poznan 52.41667 16.96667 PL 570352
90 | 6 2747891 Rotterdam Rotterdam 51.9225 4.47917 NL 598199
91 | 6 2982652 Rouen Rouen 49.44313 1.09932 FR 112787
92 | 6 3191281 Sarajevo Sarajevo 43.84864 18.35644 BA 696731
93 | 6 2510911 Seville Sevilla 37.37722 -5.98694 ES 703206
94 | 6 2638077 Sheffield Sheffield 53.38297 -1.4659 GB 447047
95 | 6 2825297 Stuttgart Stuttgart 48.78232 9.17702 DE 589793
96 | 6 588409 Tallinn Tallinn 59.43696 24.75353 EE 394024
97 | 6 2747373 The Hague Den Haag 52.07667 4.29861 NL 474292
98 | 6 2972315 Toulouse Toulouse 43.60426 1.44367 FR 433055
99 | 6 2972191 Tours Tours 47.38333 0.68333 FR 141621
100 | 6 3133880 Trondheim Trondheim 63.43052 10.39498 NO 147139
101 | 6 3165524 Turin Torino 45.07049 7.68682 IT 865263
102 | 6 2509954 Valencia Valencia 39.46975 -0.37739 ES 814208
103 | 6 3106672 Valladolid Valladolid 41.65 -4.71667 ES 317864
104 | 6 3164603 Venice Venice 45.43861 12.32667 IT 270816
105 | 6 3164527 Verona Verona 45.43419 10.99779 IT 253208
106 | 6 3081368 Wroclaw Wroclaw 51.1 17.03333 PL 634893
107 | 6 3186886 Zagreb Zagreb 45.81444 15.97798 HR 698966
108 | 6 3104324 Zaragoza Zaragoza 41.65606 -0.87734 ES 674317
109 |
--------------------------------------------------------------------------------
/places/Europe-z7-z11.txt.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/Europe-z7-z11.txt.gz
--------------------------------------------------------------------------------
/places/Makefile:
--------------------------------------------------------------------------------
1 | F=fonts
2 |
3 | all: place-labels-z3.shp place-labels-z4.shp place-labels-z5.shp place-labels-z6.shp place-labels-z7.shp place-labels-z8.shp place-labels-z9.shp place-labels-z10.shp place-labels-z11plus.shp
4 |
5 |
6 |
7 | place-labels-z3.shp: place-labels-z3.json
8 | rm -f place-labels-z3.shp place-labels-z3.dbf place-labels-z3.shx place-labels-z3.prj
9 | ogr2ogr place-labels-z3.shp place-labels-z3.json
10 |
11 | rm -f place-points-z3.shp place-points-z3.dbf place-points-z3.shx place-points-z3.prj
12 | ogr2ogr place-points-z3.shp place-points-z3.json
13 |
14 | place-labels-z4.shp: place-labels-z4.json
15 | rm -f place-labels-z4.shp place-labels-z4.dbf place-labels-z4.shx place-labels-z4.prj
16 | ogr2ogr place-labels-z4.shp place-labels-z4.json
17 |
18 | rm -f place-points-z4.shp place-points-z4.dbf place-points-z4.shx place-points-z4.prj
19 | ogr2ogr place-points-z4.shp place-points-z4.json
20 |
21 | place-labels-z5.shp: place-labels-z5.json
22 | rm -f place-labels-z5.shp place-labels-z5.dbf place-labels-z5.shx place-labels-z5.prj
23 | ogr2ogr place-labels-z5.shp place-labels-z5.json
24 |
25 | rm -f place-points-z5.shp place-points-z5.dbf place-points-z5.shx place-points-z5.prj
26 | ogr2ogr place-points-z5.shp place-points-z5.json
27 |
28 | place-labels-z6.shp: place-labels-z6.json
29 | rm -f place-labels-z6.shp place-labels-z6.dbf place-labels-z6.shx place-labels-z6.prj
30 | ogr2ogr place-labels-z6.shp place-labels-z6.json
31 |
32 | rm -f place-points-z6.shp place-points-z6.dbf place-points-z6.shx place-points-z6.prj
33 | ogr2ogr place-points-z6.shp place-points-z6.json
34 |
35 | place-labels-z7.shp: place-labels-z7.json
36 | rm -f place-labels-z7.shp place-labels-z7.dbf place-labels-z7.shx place-labels-z7.prj
37 | ogr2ogr place-labels-z7.shp place-labels-z7.json
38 |
39 | rm -f place-points-z7.shp place-points-z7.dbf place-points-z7.shx place-points-z7.prj
40 | ogr2ogr place-points-z7.shp place-points-z7.json
41 |
42 | place-labels-z8.shp: place-labels-z8.json
43 | rm -f place-labels-z8.shp place-labels-z8.dbf place-labels-z8.shx place-labels-z8.prj
44 | ogr2ogr place-labels-z8.shp place-labels-z8.json
45 |
46 | rm -f place-points-z8.shp place-points-z8.dbf place-points-z8.shx place-points-z8.prj
47 | ogr2ogr place-points-z8.shp place-points-z8.json
48 |
49 | place-labels-z9.shp: place-labels-z9.json
50 | rm -f place-labels-z9.shp place-labels-z9.dbf place-labels-z9.shx place-labels-z9.prj
51 | ogr2ogr place-labels-z9.shp place-labels-z9.json
52 |
53 | rm -f place-points-z9.shp place-points-z9.dbf place-points-z9.shx place-points-z9.prj
54 | ogr2ogr place-points-z9.shp place-points-z9.json
55 |
56 | place-labels-z10.shp: place-labels-z10.json
57 | rm -f place-labels-z10.shp place-labels-z10.dbf place-labels-z10.shx place-labels-z10.prj
58 | ogr2ogr place-labels-z10.shp place-labels-z10.json
59 |
60 | rm -f place-points-z10.shp place-points-z10.dbf place-points-z10.shx place-points-z10.prj
61 | ogr2ogr place-points-z10.shp place-points-z10.json
62 |
63 | place-labels-z11plus.shp: place-labels-z11plus.json
64 | rm -f place-labels-z11plus.shp place-labels-z11plus.dbf place-labels-z11plus.shx place-labels-z11plus.prj
65 | ogr2ogr place-labels-z11plus.shp place-labels-z11plus.json
66 |
67 | rm -f place-points-z11plus.shp place-points-z11plus.dbf place-points-z11plus.shx place-points-z11plus.prj
68 | ogr2ogr place-points-z11plus.shp place-points-z11plus.json
69 |
70 |
71 |
72 | place-labels-z3.json: Countries.csv
73 | python arrange.py -z 3 -m 5 -p place-points-z3.json -l place-labels-z3.json --country-font "$F/Arial.ttf" 12 -c Countries.csv
74 |
75 | place-labels-z4.json: Countries.csv Europe-z4-z6.txt US-z4-z8.txt Canada-z4-z8.txt Asia-z4-z6.txt Central-America-z4-z5.txt South-America-z4-z5.txt Australia-New-Zealand-z4-z5.txt Africa-z4-z5.txt
76 | python arrange.py -z 4 -m 10 -p place-points-z4.json -l place-labels-z4.json --country-font "$F/Arial Bold.ttf" 12 --pop25m-font "$F/Arial.ttf" 12 --pop250k-font "$F/Arial.ttf" 12 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries.csv Europe-z4-z6.txt Asia-z4-z6.txt Australia-New-Zealand-z4-z5.txt US-z4-z8.txt Canada-z4-z8.txt Central-America-z4-z5.txt South-America-z4-z5.txt Africa-z4-z5.txt
77 |
78 | place-labels-z5.json: Countries-West.csv Countries-East.csv Europe-z4-z6.txt US-z4-z8.txt Canada-z4-z8.txt Asia-z4-z6.txt Central-America-z4-z5.txt South-America-z4-z5.txt Australia-New-Zealand-z4-z5.txt Africa-z4-z5.txt
79 | python arrange.py -z 5 -m 10 -p east-points-z5.json -l east-labels-z5.json --country-font "$F/Arial Bold.ttf" 15 --pop25m-font "$F/Arial.ttf" 15 --pop250k-font "$F/Arial.ttf" 10 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-East.csv Europe-z4-z6.txt Asia-z4-z6.txt Australia-New-Zealand-z4-z5.txt Africa-z4-z5.txt
80 | python arrange.py -z 5 -m 10 -p west-points-z5.json -l west-labels-z5.json --country-font "$F/Arial Bold.ttf" 15 --pop25m-font "$F/Arial.ttf" 15 --pop250k-font "$F/Arial.ttf" 10 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-West.csv US-z4-z8.txt Canada-z4-z8.txt Central-America-z4-z5.txt South-America-z4-z5.txt
81 |
82 | python join-geojson.py west-points-z5.json east-points-z5.json > place-points-z5.json
83 | python join-geojson.py west-labels-z5.json east-labels-z5.json > place-labels-z5.json
84 |
85 | place-labels-z6.json: na-labels-z6.json eu-labels-z6.json sa-labels-z6.json au-labels-z6.json af-labels-z6.json
86 | python join-geojson.py na-points-z6.json eu-points-z6.json sa-points-z6.json au-points-z6.json af-points-z6.json > place-points-z6.json
87 | python join-geojson.py na-labels-z6.json eu-labels-z6.json sa-labels-z6.json au-labels-z6.json af-labels-z6.json > place-labels-z6.json
88 |
89 | na-labels-z6.json: Countries-North-America.csv US-z4-z8.txt Canada-z4-z8.txt Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
90 | python arrange.py -z 6 -m 20 -p na-points-z6.json -l na-labels-z6.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-North-America.csv US-z4-z8.txt Canada-z4-z8.txt Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
91 | sa-labels-z6.json: Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
92 | python arrange.py -z 6 -m 20 -p sa-points-z6.json -l sa-labels-z6.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
93 | eu-labels-z6.json: Countries-Eurasia.csv Europe-z4-z6.txt Asia-z4-z6.txt
94 | python arrange.py -z 6 -m 15 -p eu-points-z6.json -l eu-labels-z6.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-Eurasia.csv Europe-z4-z6.txt Asia-z4-z6.txt
95 | af-labels-z6.json: Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
96 | python arrange.py -z 6 -m 3 -p af-points-z6.json -l af-labels-z6.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
97 | au-labels-z6.json: Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
98 | python arrange.py -z 6 -m 2 -p au-points-z6.json -l au-labels-z6.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
99 |
100 | place-labels-z7.json: na-labels-z7.json eu-labels-z7.json sa-labels-z7.json au-labels-z7.json af-labels-z7.json
101 | python join-geojson.py na-points-z7.json eu-points-z7.json sa-points-z7.json au-points-z7.json af-points-z7.json > place-points-z7.json
102 | python join-geojson.py na-labels-z7.json eu-labels-z7.json sa-labels-z7.json au-labels-z7.json af-labels-z7.json > place-labels-z7.json
103 |
104 | na-labels-z7.json: Countries-North-America.csv US-z4-z8.txt Canada-z4-z8.txt Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
105 | python arrange.py -z 7 -m 60 -p na-points-z7.json -l na-labels-z7.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-North-America.csv US-z4-z8.txt Canada-z4-z8.txt Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
106 | sa-labels-z7.json: Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
107 | python arrange.py -z 7 -m 60 -p sa-points-z7.json -l sa-labels-z7.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
108 | eu-labels-z7.json: Countries-Eurasia.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz Asia-z4-z6.txt Asia-z7-z11.txt.gz
109 | python arrange.py -z 7 -m 90 -p eu-points-z7.json -l eu-labels-z7.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-Eurasia.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz Asia-z4-z6.txt Asia-z7-z11.txt.gz
110 | af-labels-z7.json: Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
111 | python arrange.py -z 7 -m 10 -p af-points-z7.json -l af-labels-z7.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
112 | au-labels-z7.json: Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
113 | python arrange.py -z 7 -m 10 -p au-points-z7.json -l au-labels-z7.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 13 --pop50k-font "$F/Arial.ttf" 10 --popother-font "$F/Arial.ttf" 10 -c Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
114 |
115 | place-labels-z8.json: na-labels-z8.json eu-labels-z8.json as-labels-z8.json sa-labels-z8.json au-labels-z8.json af-labels-z8.json
116 | python join-geojson.py na-points-z8.json eu-points-z8.json as-points-z8.json sa-points-z8.json au-points-z8.json af-points-z8.json > place-points-z8.json
117 | python join-geojson.py na-labels-z8.json eu-labels-z8.json as-labels-z8.json sa-labels-z8.json au-labels-z8.json af-labels-z8.json > place-labels-z8.json
118 |
119 | na-labels-z8.json: Countries-North-America.csv US-z4-z8.txt Canada-z4-z8.txt Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
120 | python arrange.py -z 8 -m 90 -p na-points-z8.json -l na-labels-z8.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-North-America.csv US-z4-z8.txt Canada-z4-z8.txt Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
121 | sa-labels-z8.json: Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
122 | python arrange.py -z 8 -m 90 -p sa-points-z8.json -l sa-labels-z8.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
123 | eu-labels-z8.json: Countries-Europe.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz
124 | python arrange.py -z 8 -m 120 -p eu-points-z8.json -l eu-labels-z8.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Europe.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz
125 | as-labels-z8.json: Countries-Asia.csv Asia-z4-z6.txt Asia-z7-z11.txt.gz
126 | python arrange.py -z 8 -m 120 -p as-points-z8.json -l as-labels-z8.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Asia.csv Asia-z4-z6.txt Asia-z7-z11.txt.gz
127 | af-labels-z8.json: Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
128 | python arrange.py -z 8 -m 20 -p af-points-z8.json -l af-labels-z8.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
129 | au-labels-z8.json: Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
130 | python arrange.py -z 8 -m 20 -p au-points-z8.json -l au-labels-z8.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
131 |
132 | place-labels-z9.json: na-labels-z9.json eu-labels-z9.json as-labels-z9.json sa-labels-z9.json au-labels-z9.json af-labels-z9.json
133 | python join-geojson.py na-points-z9.json eu-points-z9.json as-points-z9.json sa-points-z9.json au-points-z9.json af-points-z9.json > place-points-z9.json
134 | python join-geojson.py na-labels-z9.json eu-labels-z9.json as-labels-z9.json sa-labels-z9.json au-labels-z9.json af-labels-z9.json > place-labels-z9.json
135 |
136 | na-labels-z9.json: Countries-North-America.csv US-z4-z8.txt US-z9-z11.txt.gz Canada-z4-z8.txt Canada-z9-z11.txt.gz Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
137 | python arrange.py -z 9 -m 90 -p na-points-z9.json -l na-labels-z9.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-North-America.csv US-z4-z8.txt US-z9-z11.txt.gz Canada-z4-z8.txt Canada-z9-z11.txt.gz Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
138 | sa-labels-z9.json: Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
139 | python arrange.py -z 9 -m 90 -p sa-points-z9.json -l sa-labels-z9.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
140 | eu-labels-z9.json: Countries-Europe.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz
141 | python arrange.py -z 9 -m 120 -p eu-points-z9.json -l eu-labels-z9.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Europe.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz
142 | as-labels-z9.json: Countries-Asia.csv Asia-z4-z6.txt Asia-z7-z11.txt.gz
143 | python arrange.py -z 9 -m 120 -p as-points-z9.json -l as-labels-z9.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Asia.csv Asia-z4-z6.txt Asia-z7-z11.txt.gz
144 | af-labels-z9.json: Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
145 | python arrange.py -z 9 -m 20 -p af-points-z9.json -l af-labels-z9.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
146 | au-labels-z9.json: Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
147 | python arrange.py -z 9 -m 20 -p au-points-z9.json -l au-labels-z9.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
148 |
149 | place-labels-z10.json: na-labels-z10.json eu-labels-z10.json as-labels-z10.json sa-labels-z10.json au-labels-z10.json af-labels-z10.json
150 | python join-geojson.py na-points-z10.json eu-points-z10.json as-points-z10.json sa-points-z10.json au-points-z10.json af-points-z10.json > place-points-z10.json
151 | python join-geojson.py na-labels-z10.json eu-labels-z10.json as-labels-z10.json sa-labels-z10.json au-labels-z10.json af-labels-z10.json > place-labels-z10.json
152 |
153 | na-labels-z10.json: Countries-North-America.csv US-z4-z8.txt US-z9-z11.txt.gz Canada-z4-z8.txt Canada-z9-z11.txt.gz Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
154 | python arrange.py -z 10 -m 90 -p na-points-z10.json -l na-labels-z10.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-North-America.csv US-z4-z8.txt US-z9-z11.txt.gz Canada-z4-z8.txt Canada-z9-z11.txt.gz Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
155 | sa-labels-z10.json: Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
156 | python arrange.py -z 10 -m 90 -p sa-points-z10.json -l sa-labels-z10.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
157 | eu-labels-z10.json: Countries-Europe.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz
158 | python arrange.py -z 10 -m 120 -p eu-points-z10.json -l eu-labels-z10.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Europe.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz
159 | as-labels-z10.json: Countries-Asia.csv Asia-z4-z6.txt Asia-z7-z11.txt.gz
160 | python arrange.py -z 10 -m 120 -p as-points-z10.json -l as-labels-z10.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Asia.csv Asia-z4-z6.txt Asia-z7-z11.txt.gz
161 | af-labels-z10.json: Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
162 | python arrange.py -z 10 -m 20 -p af-points-z10.json -l af-labels-z10.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
163 | au-labels-z10.json: Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
164 | python arrange.py -z 10 -m 20 -p au-points-z10.json -l au-labels-z10.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
165 |
166 | place-labels-z11plus.json: na-labels-z11plus.json eu-labels-z11plus.json as-labels-z11plus.json sa-labels-z11plus.json au-labels-z11plus.json af-labels-z11plus.json
167 | python join-geojson.py na-points-z11plus.json eu-points-z11plus.json as-points-z11plus.json sa-points-z11plus.json au-points-z11plus.json af-points-z11plus.json > place-points-z11plus.json
168 | python join-geojson.py na-labels-z11plus.json eu-labels-z11plus.json as-labels-z11plus.json sa-labels-z11plus.json au-labels-z11plus.json af-labels-z11plus.json > place-labels-z11plus.json
169 |
170 | na-labels-z11plus.json: Countries-North-America.csv US-z4-z8.txt US-z9-z11.txt.gz Canada-z4-z8.txt Canada-z9-z11.txt.gz Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
171 | python arrange.py -z 11 --no-anneal -p na-points-z11plus.json -l na-labels-z11plus.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-North-America.csv US-z4-z8.txt US-z9-z11.txt.gz Canada-z4-z8.txt Canada-z9-z11.txt.gz Central-America-z4-z5.txt Central-America-z6-z11.txt.gz
172 | sa-labels-z11plus.json: Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
173 | python arrange.py -z 11 --no-anneal -p sa-points-z11plus.json -l sa-labels-z11plus.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-South-America.csv South-America-z4-z5.txt South-America-z6-z11.txt.gz
174 | eu-labels-z11plus.json: Countries-Europe.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz
175 | python arrange.py -z 11 --no-anneal -p eu-points-z11plus.json -l eu-labels-z11plus.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Europe.csv Europe-z4-z6.txt Europe-z7-z11.txt.gz
176 | as-labels-z11plus.json: Countries-Asia.csv Asia-z4-z6.txt Asia-z7-z11.txt.gz
177 | python arrange.py -z 11 --no-anneal -p as-points-z11plus.json -l as-labels-z11plus.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Asia.csv Asia-z4-z6.txt Asia-z7-z11.txt.gz
178 | af-labels-z11plus.json: Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
179 | python arrange.py -z 11 --no-anneal -p af-points-z11plus.json -l af-labels-z11plus.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Africa.csv Africa-z4-z5.txt Africa-z6-z11.txt.gz
180 | au-labels-z11plus.json: Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
181 | python arrange.py -z 11 --no-anneal -p au-points-z11plus.json -l au-labels-z11plus.json --country-font "$F/Arial Bold.ttf" 18 --pop25m-font "$F/Arial.ttf" 18 --pop250k-font "$F/Arial.ttf" 18 --pop50k-font "$F/Arial.ttf" 13 --popother-font "$F/Arial.ttf" 10 -c Countries-Australia-NZ.csv Australia-New-Zealand-z4-z5.txt Australia-New-Zealand-z6-z11.txt.gz
182 |
183 |
184 |
185 | clean:
186 | rm -f place-labels-z3.json
187 | rm -f place-labels-z4.json
188 | rm -f place-labels-z5.json west-labels-z5.json east-labels-z5.json
189 | rm -f place-labels-z6.json na-labels-z6.json eu-labels-z6.json sa-labels-z6.json au-labels-z6.json af-labels-z6.json
190 | rm -f place-labels-z7.json na-labels-z7.json eu-labels-z7.json sa-labels-z7.json au-labels-z7.json af-labels-z7.json
191 | rm -f place-labels-z8.json na-labels-z8.json eu-labels-z8.json sa-labels-z8.json au-labels-z8.json af-labels-z8.json
192 | rm -f place-labels-z9.json na-labels-z9.json eu-labels-z9.json sa-labels-z9.json au-labels-z9.json af-labels-z9.json
193 | rm -f place-labels-z10.json na-labels-z10.json eu-labels-z10.json sa-labels-z10.json au-labels-z10.json af-labels-z10.json
194 | rm -f place-labels-z11plus.json na-labels-z11plus.json eu-labels-z11plus.json sa-labels-z11plus.json au-labels-z11plus.json af-labels-z11plus.json
195 |
196 | rm -f place-points-z3.json
197 | rm -f place-points-z4.json
198 | rm -f place-points-z5.json west-points-z5.json east-points-z5.json
199 | rm -f place-points-z6.json na-points-z6.json eu-points-z6.json sa-points-z6.json au-points-z6.json af-points-z6.json
200 | rm -f place-points-z7.json na-points-z7.json eu-points-z7.json sa-points-z7.json au-points-z7.json af-points-z7.json
201 | rm -f place-points-z8.json na-points-z8.json eu-points-z8.json sa-points-z8.json au-points-z8.json af-points-z8.json
202 | rm -f place-points-z9.json na-points-z9.json eu-points-z9.json sa-points-z9.json au-points-z9.json af-points-z9.json
203 | rm -f place-points-z10.json na-points-z10.json eu-points-z10.json sa-points-z10.json au-points-z10.json af-points-z10.json
204 | rm -f place-points-z11plus.json na-points-z11plus.json eu-points-z11plus.json sa-points-z11plus.json au-points-z11plus.json af-points-z11plus.json
205 |
206 | rm -f place-labels-z3.shp place-labels-z3.dbf place-labels-z3.shx place-labels-z3.prj
207 | rm -f place-labels-z4.shp place-labels-z4.dbf place-labels-z4.shx place-labels-z4.prj
208 | rm -f place-labels-z5.shp place-labels-z5.dbf place-labels-z5.shx place-labels-z5.prj
209 | rm -f place-labels-z6.shp place-labels-z6.dbf place-labels-z6.shx place-labels-z6.prj
210 | rm -f place-labels-z7.shp place-labels-z7.dbf place-labels-z7.shx place-labels-z7.prj
211 | rm -f place-labels-z8.shp place-labels-z8.dbf place-labels-z8.shx place-labels-z8.prj
212 | rm -f place-labels-z9.shp place-labels-z9.dbf place-labels-z9.shx place-labels-z9.prj
213 | rm -f place-labels-z10.shp place-labels-z10.dbf place-labels-z10.shx place-labels-z10.prj
214 | rm -f place-labels-z11plus.shp place-labels-z11plus.dbf place-labels-z11plus.shx place-labels-z11plus.prj
215 |
216 | rm -f place-points-z3.shp place-points-z3.dbf place-points-z3.shx place-points-z3.prj
217 | rm -f place-points-z4.shp place-points-z4.dbf place-points-z4.shx place-points-z4.prj
218 | rm -f place-points-z5.shp place-points-z5.dbf place-points-z5.shx place-points-z5.prj
219 | rm -f place-points-z6.shp place-points-z6.dbf place-points-z6.shx place-points-z6.prj
220 | rm -f place-points-z7.shp place-points-z7.dbf place-points-z7.shx place-points-z7.prj
221 | rm -f place-points-z8.shp place-points-z8.dbf place-points-z8.shx place-points-z8.prj
222 | rm -f place-points-z9.shp place-points-z9.dbf place-points-z9.shx place-points-z9.prj
223 | rm -f place-points-z10.shp place-points-z10.dbf place-points-z10.shx place-points-z10.prj
224 | rm -f place-points-z11plus.shp place-points-z11plus.dbf place-points-z11plus.shx place-points-z11plus.prj
225 |
--------------------------------------------------------------------------------
/places/South-America-z4-z5.txt:
--------------------------------------------------------------------------------
1 | zoom geonameid name asciiname latitude longitude country code admin1 code population
2 | 4 3439389 Asuncion Asuncion -25.30066 -57.63591 PY 1482200
3 | 4 3688689 Bogota Bogota 4.60971 -74.08175 CO 7102602
4 | 4 3469058 Brasilia Brasilia -15.77972 -47.92972 BR 2207718
5 | 4 3435910 Buenos Aries Buenos Aires -34.61315 -58.37723 AR 13076300
6 | 4 3646738 Caracas Caracas 10.5 -66.91667 VE 3000000
7 | 4 3911925 La Paz La Paz -16.5 -68.15 BO 812799
8 | 4 3936456 Lima Lima -12.04318 -77.02824 PE 7737002
9 | 4 3441575 Montevideo Montevideo -34.83346 -56.16735 UY 1270737
10 | 4 3652462 Quito Quito -0.22985 -78.52495 EC 1399814
11 | 4 3451190 Rio de Janeiro Rio de Janeiro -22.90278 -43.2075 BR 6023699
12 | 4 3871336 Santiago Santiago -33.42628 -70.56656 CL 4837295
13 | 4 3448439 Sao Paulo Sao Paulo -23.5475 -46.63611 BR 10021295
14 | 5 3689147 Barranquilla Barranquilla 10.96389 -74.79639 CO 1380425
15 | 5 3405870 Belem Belem -1.45583 -48.50444 BR 1407737
16 | 5 3470127 Belo Horizonte Belo Horizonte -19.92083 -43.93778 BR 2373224
17 | 5 3687925 Cali Cali 3.43722 -76.5225 CO 2392877
18 | 5 3860259 Cordoba Cordoba -31.4 -64.18333 AR 1428214
19 | 5 3464975 Curitiba Curitiba -25.42778 -49.27306 BR 1718421
20 | 5 3399415 Fortaleza Fortaleza -3.71722 -38.54306 BR 2400000
21 | 5 3462377 Goiania Goiania -16.67861 -49.25389 BR 1171195
22 | 5 3657509 Guayaquil Guayaquil -2.16667 -79.9 EC 1952029
23 | 5 3663517 Manaus Manaus -3.10194 -60.025 BR 1598210
24 | 5 3633009 Maracaibo Maracaibo 10.63167 -71.64056 VE 2225000
25 | 5 3674962 Medellin Medellin 6.29139 -75.53611 CO 1999979
26 | 5 3452925 Porto Alegre Porto Alegre -30.03306 -51.23 BR 1372741
27 | 5 3390760 Recife Recife -8.05389 -34.88111 BR 1478098
28 | 5 3838583 Rosario Rosario -32.95111 -60.66639 AR 1173533
29 | 5 3450554 Salvador Salvador -12.97111 -38.51083 BR 2711840
30 | 5 3904906 Santa Cruz Santa Cruz de la Sierra -17.8 -63.16667 BO 1364389
31 | 5 3868626 Valparaiso Valparaiso -33.03932 -71.62725 CL 282448
32 | 5 3439101 Ciudad del Este Ciudad del Este -25.51667 -54.61667 PY
33 |
--------------------------------------------------------------------------------
/places/South-America-z6-z11.txt.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/South-America-z6-z11.txt.gz
--------------------------------------------------------------------------------
/places/US-z9-z11.txt.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/US-z9-z11.txt.gz
--------------------------------------------------------------------------------
/places/anneal.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | # Python module for simulated annealing - anneal.py - v1.0 - 2 Sep 2009
4 | #
5 | # Copyright (c) 2009, Richard J. Wagner
6 | #
7 | # Permission to use, copy, modify, and/or distribute this software for any
8 | # purpose with or without fee is hereby granted, provided that the above
9 | # copyright notice and this permission notice appear in all copies.
10 | #
11 | # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12 | # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13 | # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14 | # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15 | # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16 | # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18 |
19 | """
20 | This module performs simulated annealing to find a state of a system that
21 | minimizes its energy.
22 |
23 | An example program demonstrates simulated annealing with a traveling
24 | salesman problem to find the shortest route to visit the twenty largest
25 | cities in the United States.
26 | """
27 |
28 | # How to optimize a system with simulated annealing:
29 | #
30 | # 1) Define a format for describing the state of the system.
31 | #
32 | # 2) Define a function to calculate the energy of a state.
33 | #
34 | # 3) Define a function to make a random change to a state.
35 | #
36 | # 4) Choose a maximum temperature, minimum temperature, and number of steps.
37 | #
38 | # 5) Set the annealer to work with your state and functions.
39 | #
40 | # 6) Study the variation in energy with temperature and duration to find a
41 | # productive annealing schedule.
42 | #
43 | # Or,
44 | #
45 | # 4) Run the automatic annealer which will attempt to choose reasonable values
46 | # for maximum and minimum temperatures and then anneal for the allotted time.
47 |
48 | import copy, math, random, sys, time
49 |
50 | def round_figures(x, n):
51 | """Returns x rounded to n significant figures."""
52 | return round(x, int(n - math.ceil(math.log10(abs(x)))))
53 |
54 | def time_string(seconds):
55 | """Returns time in seconds as a string formatted HHHH:MM:SS."""
56 | s = int(round(seconds)) # round to nearest second
57 | h, s = divmod(s, 3600) # get hours and remainder
58 | m, s = divmod(s, 60) # split remainder into minutes and seconds
59 | return '%4i:%02i:%02i' % (h, m, s)
60 |
61 | class Annealer:
62 | """Performs simulated annealing by calling functions to calculate
63 | energy and make moves on a state. The temperature schedule for
64 | annealing may be provided manually or estimated automatically.
65 | """
66 | def __init__(self, energy, move):
67 | self.energy = energy # function to calculate energy of a state
68 | self.move = move # function to make a random change to a state
69 |
70 | def anneal(self, state, Tmax, Tmin, steps, updates=0):
71 | """Minimizes the energy of a system by simulated annealing.
72 |
73 | Keyword arguments:
74 | state -- an initial arrangement of the system
75 | Tmax -- maximum temperature (in units of energy)
76 | Tmin -- minimum temperature (must be greater than zero)
77 | steps -- the number of steps requested
78 | updates -- the number of updates to print during annealing
79 |
80 | Returns the best state and energy found."""
81 |
82 | step = 0
83 | start = time.time()
84 |
85 | def update(T, E, acceptance, improvement):
86 | """Prints the current temperature, energy, acceptance rate,
87 | improvement rate, elapsed time, and remaining time.
88 |
89 | The acceptance rate indicates the percentage of moves since the last
90 | update that were accepted by the Metropolis algorithm. It includes
91 | moves that decreased the energy, moves that left the energy
92 | unchanged, and moves that increased the energy yet were reached by
93 | thermal excitation.
94 |
95 | The improvement rate indicates the percentage of moves since the
96 | last update that strictly decreased the energy. At high
97 | temperatures it will include both moves that improved the overall
98 | state and moves that simply undid previously accepted moves that
99 | increased the energy by thermal excititation. At low temperatures
100 | it will tend toward zero as the moves that can decrease the energy
101 | are exhausted and moves that would increase the energy are no longer
102 | thermally accessible."""
103 |
104 | elapsed = time.time() - start
105 | if step == 0:
106 | print ' Temperature Energy Accept Improve Elapsed Remaining'
107 | print '%12.2f %12.2f %s ' % \
108 | (T, E, time_string(elapsed) )
109 | else:
110 | remain = ( steps - step ) * ( elapsed / step )
111 | print '%12.2f %12.2f %7.2f%% %7.2f%% %s %s' % \
112 | (T, E, 100.0*acceptance, 100.0*improvement,
113 | time_string(elapsed), time_string(remain))
114 |
115 | # Precompute factor for exponential cooling from Tmax to Tmin
116 | if Tmin <= 0.0:
117 | print 'Exponential cooling requires a minimum temperature greater than zero.'
118 | sys.exit()
119 | Tfactor = -math.log( float(Tmax) / Tmin )
120 |
121 | # Note initial state
122 | T = Tmax
123 | E = self.energy(state)
124 | prevState = copy.deepcopy(state)
125 | prevEnergy = E
126 | bestState = copy.deepcopy(state)
127 | bestEnergy = E
128 | trials, accepts, improves = 0, 0, 0
129 | if updates > 0:
130 | updateWavelength = float(steps) / updates
131 | update(T, E, None, None)
132 |
133 | # Attempt moves to new states
134 | while step < steps:
135 | step += 1
136 | T = Tmax * math.exp( Tfactor * step / steps )
137 | self.move(state)
138 | E = self.energy(state)
139 | dE = E - prevEnergy
140 | trials += 1
141 | if dE > 0.0 and math.exp(-dE/T) < random.random():
142 | # Restore previous state
143 | state = copy.deepcopy(prevState)
144 | E = prevEnergy
145 | else:
146 | # Accept new state and compare to best state
147 | accepts += 1
148 | if dE < 0.0:
149 | improves += 1
150 | prevState = copy.deepcopy(state)
151 | prevEnergy = E
152 | if E < bestEnergy:
153 | bestState = copy.deepcopy(state)
154 | bestEnergy = E
155 | if updates > 1:
156 | if step // updateWavelength > (step-1) // updateWavelength:
157 | update(T, E, float(accepts)/trials, float(improves)/trials)
158 | trials, accepts, improves = 0, 0, 0
159 |
160 | # Return best state and energy
161 | return bestState, bestEnergy
162 |
163 | def auto(self, state, minutes, steps=2000):
164 | """Minimizes the energy of a system by simulated annealing with
165 | automatic selection of the temperature schedule.
166 |
167 | Keyword arguments:
168 | state -- an initial arrangement of the system
169 | minutes -- time to spend annealing (after exploring temperatures)
170 | steps -- number of steps to spend on each stage of exploration
171 |
172 | Returns the best state and energy found."""
173 |
174 | def run(state, T, steps):
175 | """Anneals a system at constant temperature and returns the state,
176 | energy, rate of acceptance, and rate of improvement."""
177 | E = self.energy(state)
178 | prevState = copy.deepcopy(state)
179 | prevEnergy = E
180 | accepts, improves = 0, 0
181 | for step in range(steps):
182 | self.move(state)
183 | E = self.energy(state)
184 | dE = E - prevEnergy
185 | if dE > 0.0 and math.exp(-dE/T) < random.random():
186 | state = copy.deepcopy(prevState)
187 | E = prevEnergy
188 | else:
189 | accepts += 1
190 | if dE < 0.0:
191 | improves += 1
192 | prevState = copy.deepcopy(state)
193 | prevEnergy = E
194 | return state, E, float(accepts)/steps, float(improves)/steps
195 |
196 | step = 0
197 | start = time.time()
198 |
199 | print 'Attempting automatic simulated anneal...'
200 |
201 | # Find an initial guess for temperature
202 | T = 0.0
203 | E = self.energy(state)
204 | while T == 0.0:
205 | step += 1
206 | self.move(state)
207 | T = abs( self.energy(state) - E )
208 |
209 | print 'Exploring temperature landscape:'
210 | print ' Temperature Energy Accept Improve Elapsed'
211 | def update(T, E, acceptance, improvement):
212 | """Prints the current temperature, energy, acceptance rate,
213 | improvement rate, and elapsed time."""
214 | elapsed = time.time() - start
215 | print '%12.2f %12.2f %7.2f%% %7.2f%% %s' % \
216 | (T, E, 100.0*acceptance, 100.0*improvement, time_string(elapsed))
217 |
218 | # Search for Tmax - a temperature that gives 98% acceptance
219 | state, E, acceptance, improvement = run(state, T, steps)
220 | step += steps
221 | while acceptance > 0.98:
222 | T = round_figures(T/1.5, 2)
223 | state, E, acceptance, improvement = run(state, T, steps)
224 | step += steps
225 | update(T, E, acceptance, improvement)
226 | while acceptance < 0.98:
227 | T = round_figures(T*1.5, 2)
228 | state, E, acceptance, improvement = run(state, T, steps)
229 | step += steps
230 | update(T, E, acceptance, improvement)
231 | Tmax = T
232 |
233 | # Search for Tmin - a temperature that gives 0% improvement
234 | while improvement > 0.0:
235 | T = round_figures(T/1.5, 2)
236 | state, E, acceptance, improvement = run(state, T, steps)
237 | step += steps
238 | update(T, E, acceptance, improvement)
239 | Tmin = T
240 |
241 | # Calculate anneal duration
242 | elapsed = time.time() - start
243 | duration = round_figures(int(60.0 * minutes * step / elapsed), 2)
244 |
245 | # Perform anneal
246 | print 'Annealing from %.2f to %.2f over %i steps:' % (Tmax, Tmin, duration)
247 | return self.anneal(state, Tmax, Tmin, duration, 20)
248 |
249 | if __name__ == '__main__':
250 | """Test annealer with a traveling salesman problem."""
251 |
252 | # List latitude and longitude (degrees) for the twenty largest U.S. cities
253 | cities = { 'New York City': (40.72,74.00), 'Los Angeles': (34.05,118.25),
254 | 'Chicago': (41.88,87.63), 'Houston': (29.77,95.38),
255 | 'Phoenix': (33.45,112.07), 'Philadelphia': (39.95,75.17),
256 | 'San Antonio': (29.53,98.47), 'Dallas': (32.78,96.80),
257 | 'San Diego': (32.78,117.15), 'San Jose': (37.30,121.87),
258 | 'Detroit': (42.33,83.05), 'San Francisco': (37.78,122.42),
259 | 'Jacksonville': (30.32,81.70), 'Indianapolis': (39.78,86.15),
260 | 'Austin': (30.27,97.77), 'Columbus': (39.98,82.98),
261 | 'Fort Worth': (32.75,97.33), 'Charlotte': (35.23,80.85),
262 | 'Memphis': (35.12,89.97), 'Baltimore': (39.28,76.62) }
263 |
264 | def distance(a, b):
265 | """Calculates distance between two latitude-longitude coordinates."""
266 | R = 3963 # radius of Earth (miles)
267 | lat1, lon1 = math.radians(a[0]), math.radians(a[1])
268 | lat2, lon2 = math.radians(b[0]), math.radians(b[1])
269 | return math.acos( math.sin(lat1)*math.sin(lat2) +
270 | math.cos(lat1)*math.cos(lat2)*math.cos(lon1-lon2) ) * R
271 |
272 | def route_move(state):
273 | """Swaps two cities in the route."""
274 | a = random.randint( 0, len(state)-1 )
275 | b = random.randint( 0, len(state)-1 )
276 | state[a], state[b] = state[b], state[a]
277 |
278 | def route_energy(state):
279 | """Calculates the length of the route."""
280 | e = 0
281 | for i in range(len(state)):
282 | e += distance( cities[state[i-1]], cities[state[i]] )
283 | return e
284 |
285 | # Start with the cities listed in random order
286 | state = cities.keys()
287 | random.shuffle(state)
288 |
289 | # Minimize the distance to be traveled by simulated annealing with a
290 | # manually chosen temperature schedule
291 | annealer = Annealer(route_energy, route_move)
292 | state, e = annealer.anneal(state, 10000000, 0.01, 18000*len(state), 9)
293 | while state[0] != 'New York City':
294 | state = state[1:] + state[:1] # rotate NYC to start
295 | print "%i mile route:" % route_energy(state)
296 | for city in state:
297 | print "\t", city
298 |
299 | # Minimize the distance to be traveled by simulated annealing with an
300 | # automatically chosen temperature schedule
301 | state, e = annealer.auto(state, 4)
302 | while state[0] != 'New York City':
303 | state = state[1:] + state[:1] # rotate NYC to start
304 | print "%i mile route:" % route_energy(state)
305 | for city in state:
306 | print "\t", city
307 |
308 | sys.exit()
309 |
--------------------------------------------------------------------------------
/places/arrange.py:
--------------------------------------------------------------------------------
1 | from os.path import exists
2 | from csv import DictReader
3 | from math import sin, cos, pi, hypot
4 | from json import dump as dumpjson
5 | from itertools import combinations
6 | from optparse import OptionParser, OptParseError
7 | from gzip import GzipFile
8 | from copy import deepcopy
9 | from random import choice, random
10 |
11 | from PIL.Image import new as newimg
12 | from PIL.ImageDraw import Draw as drawimg
13 | from PIL.ImageFont import truetype
14 |
15 | from anneal import Annealer
16 |
17 | from ModestMaps import mapByCenterZoom
18 | from ModestMaps.Geo import Location
19 | from ModestMaps.OpenStreetMap import Provider
20 | from ModestMaps.Core import Point, Coordinate
21 |
22 | from shapely.geometry import Polygon
23 |
24 | NE, ENE, ESE, SE, SSE, S, SW, WSW, WNW, NW, NNW, N, NNE = range(13)
25 |
26 | # slide 13 of http://www.cs.uu.nl/docs/vakken/gd/steven2.pdf
27 | placements = {NE: 0.000, ENE: 0.070, ESE: 0.100, SE: 0.175, SSE: 0.200,
28 | S: 0.900, SW: 0.600, WSW: 0.500, WNW: 0.470, NW: 0.400,
29 | NNW: 0.575, N: 0.800, NNE: 0.150}
30 |
31 | optparser = OptionParser(usage="""%prog [options]
32 | """)
33 |
34 | defaults = {
35 | 'zoom': 5,
36 | 'minutes': 1,
37 | 'points': 'out-points.json',
38 | 'labels': 'out-labels.json',
39 | 'countries': 'Countries.csv',
40 | 'countryfont': ('fonts/DejaVuSans.ttf', 12),
41 | 'pop25mfont': ('fonts/DejaVuSans.ttf', 14),
42 | 'pop250kfont': ('fonts/DejaVuSans.ttf', 12),
43 | 'pop50kfont': ('fonts/DejaVuSans.ttf', 12),
44 | 'popotherfont': ('fonts/DejaVuSans.ttf', 12)
45 | }
46 |
47 | optparser.set_defaults(**defaults)
48 |
49 | optparser.add_option('-c', '--countries', dest='countries',
50 | type='string', help='Input filename for countries. Default value is "%(countries)s".' % defaults)
51 |
52 | optparser.add_option('-p', '--points', dest='points',
53 | type='string', help='Output filename for points. Default value is "%(points)s".' % defaults)
54 |
55 | optparser.add_option('-l', '--labels', dest='labels',
56 | type='string', help='Output filename for labels. Default value is "%(labels)s".' % defaults)
57 |
58 | optparser.add_option('-m', '--minutes', dest='minutes',
59 | type='float', help='Number of minutes to run annealer. Default value is %(minutes).1f.' % defaults)
60 |
61 | optparser.add_option('-z', '--zoom', dest='zoom',
62 | type='int', help='Map zoom level. Default value is %(zoom)d.' % defaults)
63 |
64 | optparser.add_option('--country-font', dest='countryfont',
65 | type='string', nargs=2, help='Font filename and point size for countries. Default value is "%s", %d.' % (defaults['popotherfont'][0], defaults['popotherfont'][1]))
66 |
67 | optparser.add_option('--pop25m-font', dest='pop25mfont',
68 | type='string', nargs=2, help='Font filename and point size for cities of population 2.5m+. Default value is "%s", %d.' % (defaults['pop25mfont'][0], defaults['pop25mfont'][1]))
69 |
70 | optparser.add_option('--pop250k-font', dest='pop250kfont',
71 | type='string', nargs=2, help='Font filename and point size for cities of population 250k+. Default value is "%s", %d.' % (defaults['pop250kfont'][0], defaults['pop250kfont'][1]))
72 |
73 | optparser.add_option('--pop50k-font', dest='pop50kfont',
74 | type='string', nargs=2, help='Font filename and point size for cities of population 50k+. Default value is "%s", %d.' % (defaults['pop50kfont'][0], defaults['pop50kfont'][1]))
75 |
76 | optparser.add_option('--popother-font', dest='popotherfont',
77 | type='string', nargs=2, help='Font filename and point size for smaller cities. Default value is "%s", %d.' % (defaults['popotherfont'][0], defaults['popotherfont'][1]))
78 |
79 | def coin_flip():
80 | return choice((True, False))
81 |
82 | def compare_places(this, that):
83 | this = -int(this.__class__ is Country), this.rank, -(this.population or 0)
84 | that = -int(that.__class__ is Country), that.rank, -(that.population or 0)
85 |
86 | return cmp(this, that)
87 |
88 | class Country:
89 |
90 | def __init__(self, name, abbreviation, rank, zoom, land_area, population, location, position, font):
91 | self.name = name
92 | self.abbr = abbreviation
93 | self.rank = rank
94 | self.zoom = zoom
95 | self.area = land_area
96 | self.population = population
97 | self.location = location
98 | self.position = position
99 |
100 | self.buffer = 2
101 | self.use_abbr = False
102 |
103 | self._original = deepcopy(position)
104 | self._label_shape = None
105 |
106 | self._minwidth, self._minheight = font.getsize(self.abbr)
107 | self._maxwidth, self._maxheight = font.getsize(self.name)
108 |
109 | self._update_label_shape()
110 |
111 | def __repr__(self):
112 | return '' % self.abbr
113 |
114 | def __hash__(self):
115 | return id(self)
116 |
117 | def __cmp__(self, other):
118 | return compare_places(self, other)
119 |
120 | def __unicode__(self):
121 | return unicode(self.use_abbr and self.abbr or self.name)
122 |
123 | def _update_label_shape(self):
124 | """
125 | """
126 | x, y = self.position.x, self.position.y
127 |
128 | if self.use_abbr:
129 | width, height = self._minwidth, self._minheight
130 | else:
131 | width, height = self._maxwidth, self._maxheight
132 |
133 | x1, y1 = x - width/2, y - height/2
134 | x2, y2 = x + width/2, y + height/2
135 |
136 | self._label_shape = Polygon(((x1, y1), (x1, y2), (x2, y2), (x2, y1), (x1, y1)))
137 |
138 | def label_bbox(self):
139 | return self._label_shape.envelope
140 |
141 | def mask_shape(self):
142 | return self._label_shape.buffer(self.buffer).envelope
143 |
144 | def move(self):
145 | self.use_abbr = coin_flip()
146 |
147 | width = self.use_abbr and self._minwidth or self._maxwidth
148 | height = self.use_abbr and self._minheight or self._maxheight
149 |
150 | x = (random() - .5) * width
151 | y = (random() - .5) * height
152 |
153 | self.position.x = self._original.x + x
154 | self.position.y = self._original.y + y
155 |
156 | self._update_label_shape()
157 |
158 | def placement_energy(self):
159 | width = self.use_abbr and self._minwidth or self._maxwidth
160 |
161 | x = 2 * (self.position.x - self._original.x) / width
162 | y = 2 * (self.position.y - self._original.y) / width
163 |
164 | return int(self.use_abbr) + hypot(x, y) ** 2
165 |
166 | def overlap_energy(self, other):
167 | if self.overlaps(other):
168 | return min(10.0 / self.rank, 10.0 / other.rank)
169 |
170 | return 0.0
171 |
172 | def overlaps(self, other, reflexive=True):
173 | overlaps = self.mask_shape().intersects(other.label_bbox())
174 |
175 | if reflexive:
176 | overlaps |= other.overlaps(self, False)
177 |
178 | return overlaps
179 |
180 | def in_range(self, other, reflexive=True):
181 | range = hypot(self._maxwidth + self.buffer*2, self._maxheight + self.buffer*2)
182 | distance = hypot(self.position.x - other.position.x, self.position.y - other.position.y)
183 | in_range = distance <= range
184 |
185 | if reflexive:
186 | in_range |= other.in_range(self, False)
187 |
188 | return in_range
189 |
190 | class City:
191 |
192 | def __init__(self, name, rank, zoom, population, geonameid, location, position, font):
193 | self.name = name
194 | self.rank = rank
195 | self.zoom = zoom
196 | self.population = population
197 | self.geonameid = geonameid
198 | self.location = location
199 | self.position = position
200 |
201 | self.placement = NE
202 | self.radius = 4
203 | self.buffer = 2
204 |
205 | x1, y1 = position.x - self.radius, position.y - self.radius
206 | x2, y2 = position.x + self.radius, position.y + self.radius
207 |
208 | self._point_shape = Polygon(((x1, y1), (x1, y2), (x2, y2), (x2, y1), (x1, y1)))
209 | self._label_shape = None
210 |
211 | self._width, self._height = font.getsize(self.name)
212 | self._update_label_shape()
213 |
214 | def __repr__(self):
215 | return '' % self.name
216 |
217 | def __hash__(self):
218 | return id(self)
219 |
220 | def __cmp__(self, other):
221 | return compare_places(self, other)
222 |
223 | def __unicode__(self):
224 | return unicode(self.name)
225 |
226 | def _update_label_shape(self):
227 | """
228 | """
229 | x, y = self.position.x, self.position.y
230 |
231 | if self.placement in (NE, ENE, ESE, SE):
232 | x += self.radius + self._width/2
233 |
234 | if self.placement in (NW, WNW, WSW, SW):
235 | x -= self.radius + self._width/2
236 |
237 | if self.placement in (NW, NE):
238 | y -= self._height/2
239 |
240 | if self.placement in (SW, SE):
241 | y += self._height/2
242 |
243 | if self.placement in (ENE, WNW):
244 | y -= self._height/6
245 |
246 | if self.placement in (ESE, WSW):
247 | y += self._height/6
248 |
249 | if self.placement in (NNE, SSE, NNW):
250 | _x = self.radius * cos(pi/4) + self._width/2
251 | _y = self.radius * sin(pi/4) + self._height/2
252 |
253 | if self.placement in (NNE, SSE):
254 | x += _x
255 | else:
256 | x -= _x
257 |
258 | if self.placement in (SSE, ):
259 | y += _y
260 | else:
261 | y -= _y
262 |
263 | if self.placement == N:
264 | y -= self.radius + self._height / 2
265 |
266 | if self.placement == S:
267 | y += self.radius + self._height / 2
268 |
269 | x1, y1 = x - self._width/2, y - self._height/2
270 | x2, y2 = x + self._width/2, y + self._height/2
271 |
272 | self._label_shape = Polygon(((x1, y1), (x1, y2), (x2, y2), (x2, y1), (x1, y1)))
273 |
274 | def label_bbox(self):
275 | return self._label_shape.envelope
276 |
277 | def mask_shape(self):
278 | return self._label_shape.buffer(self.buffer).envelope.union(self._point_shape)
279 |
280 | def move(self):
281 | self.placement = choice(placements.keys())
282 | self._update_label_shape()
283 |
284 | def placement_energy(self):
285 | return placements[self.placement]
286 |
287 | def overlap_energy(self, other):
288 | if self.overlaps(other):
289 | return min(10.0 / self.rank, 10.0 / other.rank)
290 |
291 | return 0.0
292 |
293 | def overlaps(self, other, reflexive=True):
294 | overlaps = self.mask_shape().intersects(other.label_bbox())
295 |
296 | if reflexive:
297 | overlaps |= other.overlaps(self, False)
298 |
299 | return overlaps
300 |
301 | def in_range(self, other, reflexive=True):
302 | range = self.radius + hypot(self._width + self.buffer*2, self._height + self.buffer*2)
303 | distance = hypot(self.position.x - other.position.x, self.position.y - other.position.y)
304 | in_range = distance <= range
305 |
306 | if reflexive:
307 | in_range |= other.in_range(self, False)
308 |
309 | return in_range
310 |
311 | class HighZoomCity(City):
312 |
313 | def __init__(self, name, rank, zoom, population, geonameid, location, position, font):
314 | self.name = name
315 | self.rank = rank
316 | self.zoom = zoom
317 | self.population = population
318 | self.geonameid = geonameid
319 | self.location = location
320 | self.position = position
321 |
322 | self.buffer = 2
323 |
324 | self._original = deepcopy(position)
325 | self._label_shape = None
326 |
327 | self._width, self._height = font.getsize(self.name)
328 |
329 | self._update_label_shape()
330 |
331 | def __repr__(self):
332 | return '' % self.name
333 |
334 | def __hash__(self):
335 | return id(self)
336 |
337 | def _update_label_shape(self):
338 | """
339 | """
340 | x, y = self.position.x, self.position.y
341 |
342 | x1, y1 = x - self._width/2, y - self._height/2
343 | x2, y2 = x + self._width/2, y + self._height/2
344 |
345 | self._label_shape = Polygon(((x1, y1), (x1, y2), (x2, y2), (x2, y1), (x1, y1)))
346 |
347 | def mask_shape(self):
348 | return self._label_shape.buffer(self.buffer).envelope
349 |
350 | def move(self):
351 | x = (random() - .5) * self._width
352 | y = (random() - .5) * self._height
353 |
354 | self.position.x = self._original.x + x
355 | self.position.y = self._original.y + y
356 |
357 | self._update_label_shape()
358 |
359 | def placement_energy(self):
360 | x = 2 * (self.position.x - self._original.x) / self._width
361 | y = 2 * (self.position.y - self._original.y) / self._width
362 |
363 | return hypot(x, y) ** 2
364 |
365 | def overlap_energy(self, other):
366 | if self.overlaps(other):
367 | return min(10.0 / self.rank, 10.0 / other.rank)
368 |
369 | return 0.0
370 |
371 | def in_range(self, other, reflexive=True):
372 | range = hypot(self._width + self.buffer*2, self._height + self.buffer*2)
373 | distance = hypot(self.position.x - other.position.x, self.position.y - other.position.y)
374 | in_range = distance <= range
375 |
376 | if reflexive:
377 | in_range |= other.in_range(self, False)
378 |
379 | return in_range
380 |
381 | class Places:
382 |
383 | def __init__(self):
384 | self._places = []
385 | self._energy = 0.0
386 | self._neighbors = {}
387 | self._moveable = []
388 |
389 | def __iter__(self):
390 | return iter(self._places)
391 |
392 | def add(self, place):
393 | self._neighbors[place] = set()
394 |
395 | for other in self._places:
396 | if not place.in_range(other):
397 | continue
398 |
399 | self._energy += place.overlap_energy(other)
400 | self._neighbors[place].add(other)
401 | self._neighbors[other].add(place)
402 |
403 | self._energy += place.placement_energy()
404 | self._places.append(place)
405 |
406 | if place.zoom <= 7:
407 | self._moveable.append(place)
408 |
409 | return self._neighbors[place]
410 |
411 | def energy(self):
412 | return self._energy
413 |
414 | def move(self):
415 | place = choice(self._moveable)
416 |
417 | for other in self._neighbors[place]:
418 | self._energy -= place.overlap_energy(other)
419 |
420 | self._energy -= place.placement_energy()
421 |
422 | place.move()
423 |
424 | for other in self._neighbors[place]:
425 | self._energy += place.overlap_energy(other)
426 |
427 | self._energy += place.placement_energy()
428 |
429 | def postprocess_args(opts, args):
430 | """ Return inputfile, pointsfile, labelsfile, minutes, zoom, fonts after optparser.parse_args().
431 | """
432 | try:
433 | inputfiles = args[0:]
434 | except IndexError:
435 | raise OptParseError('Input filename is required.')
436 |
437 | for inputfile in inputfiles:
438 | if not exists(inputfile):
439 | raise OptParseError('Non-existent input filename: "%(inputfile)s".' % locals())
440 |
441 | minutes = opts.minutes
442 |
443 | if minutes <= 0:
444 | raise OptParseError('Minutes must be greater than 0: "%(minutes).1f".' % locals())
445 |
446 | fonts = {}
447 |
448 | fontfile, fontsize = opts.countryfont
449 |
450 | try:
451 | fontsize = int(fontsize)
452 | except ValueError:
453 | raise OptParseError('Bad font size for countries: "%(fontsize)s".' % locals())
454 |
455 | if not exists(fontfile):
456 | raise OptParseError('Non-existent font filename for counties: "%(fontfile)s".' % locals())
457 |
458 | fonts['country'] = truetype(fontfile, fontsize, encoding='unic')
459 |
460 | for opt in ('pop25mfont', 'pop250kfont', 'pop50kfont', 'popotherfont'):
461 | population = opt[3:-4]
462 | fontfile, fontsize = getattr(opts, opt)
463 |
464 | try:
465 | fontsize = int(fontsize)
466 | except ValueError:
467 | raise OptParseError('Bad font size for population %(population)s: "%(fontsize)s".' % locals())
468 |
469 | if not exists(fontfile):
470 | raise OptParseError('Non-existent font filename for population %(population)s: "%(fontfile)s".' % locals())
471 |
472 | fonts[population] = truetype(fontfile, fontsize, encoding='unic')
473 |
474 | zoom = opts.zoom
475 | countriesfile = opts.countries
476 | pointsfile = opts.points
477 | labelsfile = opts.labels
478 |
479 | return countriesfile, inputfiles, pointsfile, labelsfile, minutes, zoom, fonts
480 |
481 | def location_point(lat, lon, zoom):
482 | """ Return a point that maps to pixels at the requested zoom level for 2^8 tile size.
483 | """
484 | try:
485 | osm = Provider()
486 |
487 | location = Location(float(lat), float(lon))
488 | coord = osm.locationCoordinate(location).zoomTo(zoom + 8)
489 | point = Point(coord.column, coord.row)
490 |
491 | return location, point
492 | except ValueError:
493 | raise Exception((lat, lon, zoom))
494 |
495 | def load_places(countriesfile, inputfiles, fonts, zoom):
496 | """ Load a new Places instance from the named text files for a given zoom.
497 | """
498 | osm = Provider()
499 | places = Places()
500 | count = 0
501 |
502 | for row in DictReader(open(countriesfile, 'r'), dialect='excel'):
503 | if int(row['zoom']) > zoom:
504 | continue
505 |
506 | location, point = location_point(row['latitude'], row['longitude'], zoom)
507 | land_area = float(row['land area km'])
508 | population = int(row['population'])
509 | font = fonts['country']
510 |
511 | kwargs = {'name': row['name'].decode('utf-8'),
512 | 'abbreviation': row['abbreviation'].decode('utf-8'),
513 | 'land_area': land_area,
514 | 'population': population,
515 | 'font': font,
516 | 'zoom': int(row['zoom']),
517 |
518 | 'location': location,
519 | 'position': point,
520 |
521 | # subtract two because the biggest countries appear at z3
522 | 'rank': int(row['zoom']) - 2
523 | }
524 |
525 | neighbors = places.add(Country(**kwargs))
526 |
527 | count += 1
528 | print '%5d)' % count, row['name'], location, point
529 |
530 | if neighbors:
531 | print ' is in range of', ', '.join([n.name for n in neighbors])
532 |
533 | for inputfile in inputfiles:
534 |
535 | input = inputfile.endswith('.gz') and GzipFile(inputfile, 'r') or open(inputfile, 'r')
536 |
537 | for row in DictReader(input, dialect='excel-tab'):
538 | if int(row['zoom']) > zoom:
539 | continue
540 |
541 | location, point = location_point(row['latitude'], row['longitude'], zoom)
542 |
543 | try:
544 | population = int(row['population'])
545 | except ValueError:
546 | population = None
547 |
548 | if population >= 2500000:
549 | font = fonts['25m']
550 | elif population >= 250000:
551 | font = fonts['250k']
552 | elif population >= 50000:
553 | font = fonts['50k']
554 | else:
555 | font = fonts['other']
556 |
557 | kwargs = {'name': row['name'].decode('utf-8'),
558 | 'population': population,
559 | 'font': font,
560 | 'zoom': int(row['zoom']),
561 |
562 | 'geonameid': row['geonameid'],
563 | 'location': location,
564 | 'position': point,
565 |
566 | # subtract three because the biggest cities appear at z4
567 | 'rank': int(row['zoom']) - 3
568 | }
569 |
570 | if zoom >= 9:
571 | neighbors = places.add(HighZoomCity(**kwargs))
572 | else:
573 | neighbors = places.add(City(**kwargs))
574 |
575 | count += 1
576 | print '%5d)' % count, row['name'], location, point
577 |
578 | if neighbors:
579 | print ' is in range of', ', '.join([n.name for n in neighbors])
580 |
581 | return places
582 |
583 | def bbox_polygon(bbox, provider, zoom):
584 |
585 | rectangle = bbox.envelope.exterior
586 | (x1, y1), (x2, y2) = rectangle.coords[0], rectangle.coords[2]
587 |
588 | coord1 = Coordinate(y1, x1, zoom + 8)
589 | coord2 = Coordinate(y2, x2, zoom + 8)
590 |
591 | location1 = provider.coordinateLocation(coord1)
592 | location2 = provider.coordinateLocation(coord2)
593 |
594 | lat1, lon1 = location1.lat, location1.lon
595 | lat2, lon2 = location2.lat, location2.lon
596 |
597 | return Polygon(((lon1, lat1), (lon1, lat2), (lon2, lat2), (lon2, lat1), (lon1, lat1)))
598 |
599 | if __name__ == '__main__':
600 |
601 | opts, args = optparser.parse_args()
602 | countriesfile, inputfiles, pointsfile, labelsfile, minutes, zoom, fonts \
603 | = postprocess_args(opts, args)
604 |
605 | capitals = set( [geonameid.strip() for geonameid in open('Capitals.txt')] )
606 | places = load_places(countriesfile, inputfiles, fonts, zoom)
607 |
608 | print '-' * 80
609 |
610 | print len(places._moveable), 'moveable places vs.', len(places._places), 'others'
611 |
612 | print '-' * 80
613 |
614 | def state_energy(places):
615 | return places.energy()
616 |
617 | def state_move(places):
618 | places.move()
619 |
620 | places, e = Annealer(state_energy, state_move).auto(places, minutes, 50)
621 |
622 | print '-' * 80
623 |
624 | osm = Provider()
625 | point_features, label_features = [], []
626 | visible_places = []
627 |
628 | for place in sorted(places):
629 |
630 | is_visible = True
631 |
632 | for other in visible_places:
633 | if place.overlaps(other):
634 | print 'skip', place.name, 'because of', other.name
635 | is_visible = False
636 | break
637 |
638 | if not is_visible:
639 | continue
640 |
641 | visible_places.append(place)
642 |
643 | properties = {'name': unicode(place),
644 | 'rank': place.rank,
645 | 'population': place.population,
646 | 'geonameid': getattr(place, 'geonameid', None),
647 | 'capital': (getattr(place, 'geonameid', '') in capitals and 'yes' or 'no'),
648 | 'place': (place.__class__ is Country and 'country' or 'city')
649 | }
650 |
651 | location = place.location
652 | point_geometry = {'type': 'Point', 'coordinates': (location.lon, location.lat)}
653 |
654 | point_features.append({'type': 'Feature',
655 | 'geometry': point_geometry,
656 | 'properties': properties
657 | })
658 |
659 | label_geometry = bbox_polygon(place.label_bbox(), osm, zoom).__geo_interface__
660 |
661 | label_features.append({'type': 'Feature',
662 | 'geometry': label_geometry,
663 | 'properties': properties
664 | })
665 |
666 | dumpjson({'type': 'FeatureCollection', 'features': point_features}, open(pointsfile, 'w'))
667 | dumpjson({'type': 'FeatureCollection', 'features': label_features}, open(labelsfile, 'w'))
668 |
669 | print 'Wrote %d points to %s and %s.' % (len(point_features), pointsfile, labelsfile)
670 |
671 | print '-' * 80
672 |
673 | map = mapByCenterZoom(osm, Location(0, 0), zoom, Point(2 ** (zoom + 8), 2 ** (zoom + 8)))
674 |
675 | if zoom > 5:
676 | map = mapByCenterZoom(osm, Location(40.078, -96.987), zoom, Point(1400, 800))
677 | map = mapByCenterZoom(osm, Location(38.889, -77.050), zoom, Point(1200, 900))
678 |
679 | img = map.draw(False) # newimg('RGB', (map.dimensions.x, map.dimensions.y), (0xFF, 0xFF, 0xFF))
680 | draw = drawimg(img)
681 |
682 | print '-' * 80
683 |
684 | sw = map.pointLocation(Point(-100, map.dimensions.y + 100))
685 | ne = map.pointLocation(Point(map.dimensions.x + 100, -100))
686 |
687 | previewed_places = [place for place in visible_places
688 | if (sw.lat < place.location.lat and place.location.lat < ne.lat
689 | and sw.lon < place.location.lon and place.location.lon < ne.lon)]
690 |
691 | for place in previewed_places:
692 | box = place.label_bbox().envelope.exterior
693 | coord1 = Coordinate(box.coords[0][1], box.coords[0][0], zoom + 8)
694 | coord2 = Coordinate(box.coords[2][1], box.coords[2][0], zoom + 8)
695 |
696 | loc1, loc2 = osm.coordinateLocation(coord1), osm.coordinateLocation(coord2)
697 | point1, point2 = map.locationPoint(loc1), map.locationPoint(loc2)
698 |
699 | draw.rectangle((point1.x, point1.y, point2.x, point2.y), fill=(0xEE, 0xEE, 0xEE))
700 |
701 | i = 1
702 | for (cityA, cityB) in combinations(previewed_places, 2):
703 | if cityA.overlaps(cityB):
704 | print '%03d:' % i, cityA.name, 'x', cityB.name
705 | i += 1
706 |
707 | for place in previewed_places:
708 | if place.__class__ is Country:
709 | continue
710 |
711 | location = place.location
712 | point = map.locationPoint(location)
713 | color = (place.__class__ is Country) and (0x66, 0x66, 0x66) or (0x00, 0x00, 0x99)
714 |
715 | draw.rectangle((point.x-1, point.y-1, point.x+1, point.y+1), fill=color)
716 |
717 | for place in previewed_places:
718 | box = place.label_bbox().exterior
719 | coords = [Coordinate(c[1], c[0], zoom + 8) for c in box.coords]
720 | locations = [osm.coordinateLocation(coord) for coord in coords]
721 | points = [map.locationPoint(location) for location in locations]
722 |
723 | x = min([point.x for point in points]) + place.buffer
724 | y = min([point.y for point in points]) + place.buffer
725 |
726 | if place.__class__ is Country:
727 | font = fonts['country']
728 | elif place.population >= 2500000:
729 | font = fonts['25m']
730 | elif place.population >= 250000:
731 | font = fonts['250k']
732 | elif place.population >= 50000:
733 | font = fonts['50k']
734 | else:
735 | font = fonts['other']
736 |
737 | draw.text((x, y), unicode(place), font=font, fill=(0x00, 0x00, 0x00))
738 |
739 | img.save('out.png')
740 |
741 | print 'Saved preview map to out.png.'
742 |
--------------------------------------------------------------------------------
/places/fonts/Arial Bold Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/fonts/Arial Bold Italic.ttf
--------------------------------------------------------------------------------
/places/fonts/Arial Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/fonts/Arial Bold.ttf
--------------------------------------------------------------------------------
/places/fonts/Arial Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/fonts/Arial Italic.ttf
--------------------------------------------------------------------------------
/places/fonts/Arial.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/fonts/Arial.ttf
--------------------------------------------------------------------------------
/places/fonts/DejaVuSans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/places/fonts/DejaVuSans.ttf
--------------------------------------------------------------------------------
/places/join-geojson.py:
--------------------------------------------------------------------------------
1 | """ Join multiple GeoJSON files into one on stdout.
2 | """
3 | from sys import argv, stdout
4 | from json import load, dump
5 | from operator import add
6 |
7 | if __name__ == '__main__':
8 | collections = [load(open(filename, 'r')) for filename in argv[1:]]
9 | features = reduce(add, [c['features'] for c in collections], [])
10 | dump({'type': 'FeatureCollection', 'features': features}, stdout)
11 |
--------------------------------------------------------------------------------
/tile.cgi:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 | import os, TileStache
3 | TileStache.cgiHandler(os.environ, 'acetate.cfg', debug=True)
4 |
5 |
--------------------------------------------------------------------------------
/tiles/Makefile:
--------------------------------------------------------------------------------
1 | all: cache
2 |
3 | cache:
4 | mkdir cache
5 | chmod a+rwX cache
6 |
7 | clean:
8 | rm -rf cache
9 |
--------------------------------------------------------------------------------
/tiles/acetate.cfg:
--------------------------------------------------------------------------------
1 | {
2 | "cache": {"name": "Disk", "path": "cache", "umask": "0000"},
3 | "layers":
4 | {
5 |
6 | "composite-choropleth":
7 | {
8 | "provider":
9 | {
10 | "class": "TileStache.Goodies.Providers.Composite.Provider",
11 | "kwargs":
12 | {
13 | "stack":
14 | [
15 | { "src": "acetate-bg" },
16 | { "src": "sample-choropleth" },
17 | { "src": "acetate-fg" }
18 | ]
19 | }
20 | },
21 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 },
22 | "preview": { "zoom": 12 }
23 | },
24 |
25 | "composite-hillshading":
26 | {
27 | "provider":
28 | {
29 | "class": "TileStache.Goodies.Providers.Composite.Provider",
30 | "kwargs":
31 | {
32 | "stack":
33 | [
34 | { "src": "acetate-bg" },
35 | {
36 | "src": "hillshading",
37 | "adjustments": [ ["curves", [0, 181, 255]] ],
38 | "mode": "hard light",
39 | "opacity": 0.5
40 | },
41 | { "src": "acetate-fg" }
42 | ]
43 | }
44 | },
45 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 },
46 | "preview": { "zoom": 8, "ext": "jpg" }
47 | },
48 |
49 |
50 |
51 | "acetate":
52 | {
53 | "provider": { "name": "mapnik", "mapfile": "style-combined.xml", "fonts": "fonts" },
54 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 },
55 | "preview": { "zoom": 14 }
56 | },
57 |
58 | "acetate-bg":
59 | {
60 | "provider": { "name": "mapnik", "mapfile": "style-background.xml", "fonts": "fonts" },
61 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 },
62 | "preview": { "zoom": 14 }
63 | },
64 |
65 | "acetate-fg":
66 | {
67 | "provider": { "name": "mapnik", "mapfile": "style-foreground.xml", "fonts": "fonts" },
68 | "metatile": { "rows": 4, "columns": 4, "buffer": 128 },
69 | "preview": { "zoom": 14 }
70 | },
71 |
72 |
73 |
74 | "hillshading":
75 | {
76 | "provider": { "name": "proxy", "url": "http://184.72.183.90/hillshade/{Z}/{X}/{Y}.png" },
77 | "preview": { "zoom": 8 }
78 | }
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/tiles/fonts/Arial Bold Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/fonts/Arial Bold Italic.ttf
--------------------------------------------------------------------------------
/tiles/fonts/Arial Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/fonts/Arial Bold.ttf
--------------------------------------------------------------------------------
/tiles/fonts/Arial Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/fonts/Arial Italic.ttf
--------------------------------------------------------------------------------
/tiles/fonts/Arial.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/fonts/Arial.ttf
--------------------------------------------------------------------------------
/tiles/gray-point.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/gray-point.png
--------------------------------------------------------------------------------
/tiles/shp/continents.dbf:
--------------------------------------------------------------------------------
1 | _ A Q W name C P
North America South America Africa Australia Asia Europe Antarctica
--------------------------------------------------------------------------------
/tiles/shp/continents.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/continents.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/continents.shp
--------------------------------------------------------------------------------
/tiles/shp/continents.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/continents.shx
--------------------------------------------------------------------------------
/tiles/shp/null.dbf:
--------------------------------------------------------------------------------
1 | _ A Q W name C P
Null Island
--------------------------------------------------------------------------------
/tiles/shp/null.prj:
--------------------------------------------------------------------------------
1 | PROJCS["Google Maps Global Mercator",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator_2SP"],PARAMETER["standard_parallel_1",0],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]]
--------------------------------------------------------------------------------
/tiles/shp/null.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/null.shp
--------------------------------------------------------------------------------
/tiles/shp/null.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/null.shx
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z10.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z10.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z10.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z10.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z10.shp
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z10.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z10.shx
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z11plus.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z11plus.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z11plus.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z11plus.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z11plus.shp
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z11plus.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z11plus.shx
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z3.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z3.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z3.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z3.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z3.shp
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z3.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z3.shx
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z4.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z4.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z4.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z4.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z4.shp
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z4.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z4.shx
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z5.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z5.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z5.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z5.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z5.shp
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z5.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z5.shx
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z6.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z6.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z6.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z6.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z6.shp
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z6.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z6.shx
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z7.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z7.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z7.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z7.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z7.shp
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z7.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z7.shx
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z8.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z8.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z8.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z8.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z8.shp
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z8.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z8.shx
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z9.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z9.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z9.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z9.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z9.shp
--------------------------------------------------------------------------------
/tiles/shp/place-labels-z9.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-labels-z9.shx
--------------------------------------------------------------------------------
/tiles/shp/place-points-z10.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z10.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-points-z10.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-points-z10.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z10.shp
--------------------------------------------------------------------------------
/tiles/shp/place-points-z10.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z10.shx
--------------------------------------------------------------------------------
/tiles/shp/place-points-z11plus.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z11plus.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-points-z11plus.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-points-z11plus.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z11plus.shp
--------------------------------------------------------------------------------
/tiles/shp/place-points-z11plus.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z11plus.shx
--------------------------------------------------------------------------------
/tiles/shp/place-points-z3.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z3.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-points-z3.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-points-z3.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z3.shp
--------------------------------------------------------------------------------
/tiles/shp/place-points-z3.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z3.shx
--------------------------------------------------------------------------------
/tiles/shp/place-points-z4.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z4.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-points-z4.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-points-z4.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z4.shp
--------------------------------------------------------------------------------
/tiles/shp/place-points-z4.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z4.shx
--------------------------------------------------------------------------------
/tiles/shp/place-points-z5.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z5.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-points-z5.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-points-z5.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z5.shp
--------------------------------------------------------------------------------
/tiles/shp/place-points-z5.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z5.shx
--------------------------------------------------------------------------------
/tiles/shp/place-points-z6.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z6.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-points-z6.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-points-z6.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z6.shp
--------------------------------------------------------------------------------
/tiles/shp/place-points-z6.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z6.shx
--------------------------------------------------------------------------------
/tiles/shp/place-points-z7.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z7.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-points-z7.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-points-z7.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z7.shp
--------------------------------------------------------------------------------
/tiles/shp/place-points-z7.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z7.shx
--------------------------------------------------------------------------------
/tiles/shp/place-points-z8.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z8.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-points-z8.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-points-z8.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z8.shp
--------------------------------------------------------------------------------
/tiles/shp/place-points-z8.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z8.shx
--------------------------------------------------------------------------------
/tiles/shp/place-points-z9.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z9.dbf
--------------------------------------------------------------------------------
/tiles/shp/place-points-z9.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/tiles/shp/place-points-z9.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z9.shp
--------------------------------------------------------------------------------
/tiles/shp/place-points-z9.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/shp/place-points-z9.shx
--------------------------------------------------------------------------------
/tiles/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/star.png
--------------------------------------------------------------------------------
/tiles/tile.cgi:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 | import os, TileStache
3 |
4 | class Layers:
5 | def __init__(self, config, layers):
6 | self.config = config
7 |
8 | # each layer has a back-reference to config that we'll need to update.
9 | for name in layers:
10 | layers[name].config = config
11 |
12 | self._layers = layers
13 |
14 | def keys(self):
15 | return self._layers.keys()
16 |
17 | def items(self):
18 | return self._layers.items()
19 |
20 | def __contains__(self, name):
21 | return name in self._layers
22 |
23 | def __getitem__(self, name):
24 | """
25 | """
26 | if name not in self._layers and name == 'sample-choropleth':
27 |
28 | # Boilerplate needed to build up a layer in code:
29 | # 1. configuration object from self.config.
30 | # 2. projection object instantiated out of TileStache.Geography.
31 | # 3. a metatile, which is just 1x1 without any arguments.
32 |
33 | projection = TileStache.Geography.SphericalMercator()
34 | metatile = TileStache.Core.Metatile()
35 | layer = TileStache.Core.Layer(self.config, projection, metatile)
36 |
37 | # The provider needs a backreference to
38 | # the layer, so it's added after the fact.
39 |
40 | layer.provider = TileStache.Providers.Mapnik(layer, 'cities-choropleth.xml')
41 | self._layers[name] = layer
42 |
43 | return self._layers[name]
44 |
45 | class WrapConfiguration:
46 |
47 | def __init__(self, config):
48 | self.cache = config.cache
49 | self.dirpath = config.dirpath
50 | self.layers = Layers(self, config.layers)
51 |
52 | config = WrapConfiguration(TileStache.parseConfigfile('acetate.cfg'))
53 |
54 | TileStache.cgiHandler(os.environ, config, debug=True)
55 |
56 |
--------------------------------------------------------------------------------
/tiles/tr06_d00_shp/tracts.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/tr06_d00_shp/tracts.dbf
--------------------------------------------------------------------------------
/tiles/tr06_d00_shp/tracts.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/tr06_d00_shp/tracts.shp
--------------------------------------------------------------------------------
/tiles/tr06_d00_shp/tracts.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tiles/tr06_d00_shp/tracts.shx
--------------------------------------------------------------------------------
/tr06_d00_shp/tracts.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tr06_d00_shp/tracts.dbf
--------------------------------------------------------------------------------
/tr06_d00_shp/tracts.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tr06_d00_shp/tracts.shp
--------------------------------------------------------------------------------
/tr06_d00_shp/tracts.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/tr06_d00_shp/tracts.shx
--------------------------------------------------------------------------------
/world-shp/admin_0_countries_110m-points.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/admin_0_countries_110m-points.dbf
--------------------------------------------------------------------------------
/world-shp/admin_0_countries_110m-points.prj:
--------------------------------------------------------------------------------
1 | PROJCS["Google Maps Global Mercator",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]],PROJECTION["Mercator_2SP"],PARAMETER["standard_parallel_1",0],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["Meter",1]]
--------------------------------------------------------------------------------
/world-shp/admin_0_countries_110m-points.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/admin_0_countries_110m-points.shp
--------------------------------------------------------------------------------
/world-shp/admin_0_countries_110m-points.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/admin_0_countries_110m-points.shx
--------------------------------------------------------------------------------
/world-shp/city-labels-z4.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z4.dbf
--------------------------------------------------------------------------------
/world-shp/city-labels-z4.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-labels-z4.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z4.shp
--------------------------------------------------------------------------------
/world-shp/city-labels-z4.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z4.shx
--------------------------------------------------------------------------------
/world-shp/city-labels-z5.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z5.dbf
--------------------------------------------------------------------------------
/world-shp/city-labels-z5.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-labels-z5.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z5.shp
--------------------------------------------------------------------------------
/world-shp/city-labels-z5.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z5.shx
--------------------------------------------------------------------------------
/world-shp/city-labels-z6.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z6.dbf
--------------------------------------------------------------------------------
/world-shp/city-labels-z6.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-labels-z6.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z6.shp
--------------------------------------------------------------------------------
/world-shp/city-labels-z6.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z6.shx
--------------------------------------------------------------------------------
/world-shp/city-labels-z7.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z7.dbf
--------------------------------------------------------------------------------
/world-shp/city-labels-z7.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-labels-z7.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z7.shp
--------------------------------------------------------------------------------
/world-shp/city-labels-z7.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z7.shx
--------------------------------------------------------------------------------
/world-shp/city-labels-z8.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z8.dbf
--------------------------------------------------------------------------------
/world-shp/city-labels-z8.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-labels-z8.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z8.shp
--------------------------------------------------------------------------------
/world-shp/city-labels-z8.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-labels-z8.shx
--------------------------------------------------------------------------------
/world-shp/city-points-z4.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z4.dbf
--------------------------------------------------------------------------------
/world-shp/city-points-z4.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-points-z4.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z4.shp
--------------------------------------------------------------------------------
/world-shp/city-points-z4.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z4.shx
--------------------------------------------------------------------------------
/world-shp/city-points-z5.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z5.dbf
--------------------------------------------------------------------------------
/world-shp/city-points-z5.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-points-z5.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z5.shp
--------------------------------------------------------------------------------
/world-shp/city-points-z5.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z5.shx
--------------------------------------------------------------------------------
/world-shp/city-points-z6.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z6.dbf
--------------------------------------------------------------------------------
/world-shp/city-points-z6.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-points-z6.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z6.shp
--------------------------------------------------------------------------------
/world-shp/city-points-z6.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z6.shx
--------------------------------------------------------------------------------
/world-shp/city-points-z7.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z7.dbf
--------------------------------------------------------------------------------
/world-shp/city-points-z7.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-points-z7.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z7.shp
--------------------------------------------------------------------------------
/world-shp/city-points-z7.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z7.shx
--------------------------------------------------------------------------------
/world-shp/city-points-z8.dbf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z8.dbf
--------------------------------------------------------------------------------
/world-shp/city-points-z8.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/city-points-z8.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z8.shp
--------------------------------------------------------------------------------
/world-shp/city-points-z8.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/city-points-z8.shx
--------------------------------------------------------------------------------
/world-shp/continents.dbf:
--------------------------------------------------------------------------------
1 | _ A Q W name C P
North America South America Africa Australia Asia Europe Antarctica
--------------------------------------------------------------------------------
/world-shp/continents.prj:
--------------------------------------------------------------------------------
1 | GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
--------------------------------------------------------------------------------
/world-shp/continents.shp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/continents.shp
--------------------------------------------------------------------------------
/world-shp/continents.shx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ajturner/acetate/32fd0eb052fcdcc30dd1364450111fa4f5ccf120/world-shp/continents.shx
--------------------------------------------------------------------------------