# For loop within GeoGraphics

Clash Royale CLAN TAG#URR8PPP

I’m trying to plot a map with a list of destinations as Disks.

I first input the cities into a list such as:

destinations = {GeoPosition[New York City],
GeoPosition[Mumbai],
...}


where “New York City” is input using the Ctrl+= method to access interpreter and specify it as a city.

Then I have something summarizing to:

GeoGraphics[{
Black,
Disk[For[i=1, i<Length[destinations]+1,i++,destinations[[i]],1],
...
Disk[city,1],
},
...
]


This outputs a map with my desired projection settings such as background, range, and the single disk that I specified separately like:

Disk[city,1],


I have also tried to put the Disk function inside a for loop like:

For[i=1, i<Length[destinations]+1,i++,Disk[destinations[[i]],1]],


It’s not an incorrect indexing of the destinations list either, because

For[i=1, i<Length[destinations]+1,i++,Print[destinations[[i]]]]


outputs the correct amount of cities, whereas

For[i=0, i<Length[destinations],i++,Print[destinations[[i]]]]


outputs a first item of “List” and doesn’t print the last city.

Is it possible to use for loops within a GeoGraphics function, or would I be required to add a Disk function line for each item I would like to plot instead of iterating through a list?

Thanks in advance for the help!

I’m trying to plot a map with a list of destinations as Disks.

I first input the cities into a list such as:

destinations = {GeoPosition[New York City],
GeoPosition[Mumbai],
...}


where “New York City” is input using the Ctrl+= method to access interpreter and specify it as a city.

Then I have something summarizing to:

GeoGraphics[{
Black,
Disk[For[i=1, i<Length[destinations]+1,i++,destinations[[i]],1],
...
Disk[city,1],
},
...
]


This outputs a map with my desired projection settings such as background, range, and the single disk that I specified separately like:

Disk[city,1],


I have also tried to put the Disk function inside a for loop like:

For[i=1, i<Length[destinations]+1,i++,Disk[destinations[[i]],1]],


It’s not an incorrect indexing of the destinations list either, because

For[i=1, i<Length[destinations]+1,i++,Print[destinations[[i]]]]


outputs the correct amount of cities, whereas

For[i=0, i<Length[destinations],i++,Print[destinations[[i]]]]


outputs a first item of “List” and doesn’t print the last city.

Is it possible to use for loops within a GeoGraphics function, or would I be required to add a Disk function line for each item I would like to plot instead of iterating through a list?

Thanks in advance for the help!

I’m trying to plot a map with a list of destinations as Disks.

I first input the cities into a list such as:

destinations = {GeoPosition[New York City],
GeoPosition[Mumbai],
...}


where “New York City” is input using the Ctrl+= method to access interpreter and specify it as a city.

Then I have something summarizing to:

GeoGraphics[{
Black,
Disk[For[i=1, i<Length[destinations]+1,i++,destinations[[i]],1],
...
Disk[city,1],
},
...
]


This outputs a map with my desired projection settings such as background, range, and the single disk that I specified separately like:

Disk[city,1],


I have also tried to put the Disk function inside a for loop like:

For[i=1, i<Length[destinations]+1,i++,Disk[destinations[[i]],1]],


It’s not an incorrect indexing of the destinations list either, because

For[i=1, i<Length[destinations]+1,i++,Print[destinations[[i]]]]


outputs the correct amount of cities, whereas

For[i=0, i<Length[destinations],i++,Print[destinations[[i]]]]


outputs a first item of “List” and doesn’t print the last city.

Is it possible to use for loops within a GeoGraphics function, or would I be required to add a Disk function line for each item I would like to plot instead of iterating through a list?

Thanks in advance for the help!

I’m trying to plot a map with a list of destinations as Disks.

I first input the cities into a list such as:

destinations = {GeoPosition[New York City],
GeoPosition[Mumbai],
...}


where “New York City” is input using the Ctrl+= method to access interpreter and specify it as a city.

Then I have something summarizing to:

GeoGraphics[{
Black,
Disk[For[i=1, i<Length[destinations]+1,i++,destinations[[i]],1],
...
Disk[city,1],
},
...
]


This outputs a map with my desired projection settings such as background, range, and the single disk that I specified separately like:

Disk[city,1],


I have also tried to put the Disk function inside a for loop like:

For[i=1, i<Length[destinations]+1,i++,Disk[destinations[[i]],1]],


It’s not an incorrect indexing of the destinations list either, because

For[i=1, i<Length[destinations]+1,i++,Print[destinations[[i]]]]


outputs the correct amount of cities, whereas

For[i=0, i<Length[destinations],i++,Print[destinations[[i]]]]


outputs a first item of “List” and doesn’t print the last city.

Is it possible to use for loops within a GeoGraphics function, or would I be required to add a Disk function line for each item I would like to plot instead of iterating through a list?

Thanks in advance for the help!

list-manipulation geographics

edited Nov 29 at 21:08

kglr

175k9197402

175k9197402

Reedinationer

415

415

active

oldest

You don’t need For loops.

Instead you can Map Disk on destinations; that is, use Disk /@ destionations (Disk[#, 5]& /@ destionations if you want a radius of 5 instead of the default radius 1).

cities = {Entity["City", {"NewYork", "NewYork", "UnitedStates"}],
Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}],
Entity["City", {"Bombay", "Maharashtra", "India"}],
Entity["City", {"Delhi", "Delhi", "India"}]};
destinations = GeoPosition /@ cities;

GeoGraphics[{Black, Disk /@ destinations}]


Notes: If you have to use a For loop you can do:

disks = {};
For[i = 1, i <= Length[destinations], i++, AppendTo[disks, Disk[destinations[[i]]]]];
GeoGraphics[{Black, disks}]


same picture

Alternatively, you can use Table:

Table[Disk[i], {i, destinations}] == disks


True

and if you have to use a For loop inside GeoGraphics

GeoGraphics[{Black, disks = {};
For[i = 1, i <= Length[destinations], i++,
AppendTo[disks, Disk[destinations[[i]]]]]; disks}]


same picture

• Yes, this works perfectly thank you!
– Reedinationer
Nov 29 at 22:07

active

oldest

active

oldest

active

oldest

active

oldest

You don’t need For loops.

Instead you can Map Disk on destinations; that is, use Disk /@ destionations (Disk[#, 5]& /@ destionations if you want a radius of 5 instead of the default radius 1).

cities = {Entity["City", {"NewYork", "NewYork", "UnitedStates"}],
Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}],
Entity["City", {"Bombay", "Maharashtra", "India"}],
Entity["City", {"Delhi", "Delhi", "India"}]};
destinations = GeoPosition /@ cities;

GeoGraphics[{Black, Disk /@ destinations}]


Notes: If you have to use a For loop you can do:

disks = {};
For[i = 1, i <= Length[destinations], i++, AppendTo[disks, Disk[destinations[[i]]]]];
GeoGraphics[{Black, disks}]


same picture

Alternatively, you can use Table:

Table[Disk[i], {i, destinations}] == disks


True

and if you have to use a For loop inside GeoGraphics

GeoGraphics[{Black, disks = {};
For[i = 1, i <= Length[destinations], i++,
AppendTo[disks, Disk[destinations[[i]]]]]; disks}]


same picture

• Yes, this works perfectly thank you!
– Reedinationer
Nov 29 at 22:07

You don’t need For loops.

Instead you can Map Disk on destinations; that is, use Disk /@ destionations (Disk[#, 5]& /@ destionations if you want a radius of 5 instead of the default radius 1).

cities = {Entity["City", {"NewYork", "NewYork", "UnitedStates"}],
Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}],
Entity["City", {"Bombay", "Maharashtra", "India"}],
Entity["City", {"Delhi", "Delhi", "India"}]};
destinations = GeoPosition /@ cities;

GeoGraphics[{Black, Disk /@ destinations}]


Notes: If you have to use a For loop you can do:

disks = {};
For[i = 1, i <= Length[destinations], i++, AppendTo[disks, Disk[destinations[[i]]]]];
GeoGraphics[{Black, disks}]


same picture

Alternatively, you can use Table:

Table[Disk[i], {i, destinations}] == disks


True

and if you have to use a For loop inside GeoGraphics

GeoGraphics[{Black, disks = {};
For[i = 1, i <= Length[destinations], i++,
AppendTo[disks, Disk[destinations[[i]]]]]; disks}]


same picture

• Yes, this works perfectly thank you!
– Reedinationer
Nov 29 at 22:07

You don’t need For loops.

Instead you can Map Disk on destinations; that is, use Disk /@ destionations (Disk[#, 5]& /@ destionations if you want a radius of 5 instead of the default radius 1).

cities = {Entity["City", {"NewYork", "NewYork", "UnitedStates"}],
Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}],
Entity["City", {"Bombay", "Maharashtra", "India"}],
Entity["City", {"Delhi", "Delhi", "India"}]};
destinations = GeoPosition /@ cities;

GeoGraphics[{Black, Disk /@ destinations}]


Notes: If you have to use a For loop you can do:

disks = {};
For[i = 1, i <= Length[destinations], i++, AppendTo[disks, Disk[destinations[[i]]]]];
GeoGraphics[{Black, disks}]


same picture

Alternatively, you can use Table:

Table[Disk[i], {i, destinations}] == disks


True

and if you have to use a For loop inside GeoGraphics

GeoGraphics[{Black, disks = {};
For[i = 1, i <= Length[destinations], i++,
AppendTo[disks, Disk[destinations[[i]]]]]; disks}]


same picture

You don’t need For loops.

Instead you can Map Disk on destinations; that is, use Disk /@ destionations (Disk[#, 5]& /@ destionations if you want a radius of 5 instead of the default radius 1).

cities = {Entity["City", {"NewYork", "NewYork", "UnitedStates"}],
Entity["City", {"London", "GreaterLondon", "UnitedKingdom"}],
Entity["City", {"Bombay", "Maharashtra", "India"}],
Entity["City", {"Delhi", "Delhi", "India"}]};
destinations = GeoPosition /@ cities;

GeoGraphics[{Black, Disk /@ destinations}]


Notes: If you have to use a For loop you can do:

disks = {};
For[i = 1, i <= Length[destinations], i++, AppendTo[disks, Disk[destinations[[i]]]]];
GeoGraphics[{Black, disks}]


same picture

Alternatively, you can use Table:

Table[Disk[i], {i, destinations}] == disks


True

and if you have to use a For loop inside GeoGraphics

GeoGraphics[{Black, disks = {};
For[i = 1, i <= Length[destinations], i++,
AppendTo[disks, Disk[destinations[[i]]]]]; disks}]


same picture

edited Nov 29 at 21:05

kglr

175k9197402

175k9197402

• Yes, this works perfectly thank you!
– Reedinationer
Nov 29 at 22:07

• Yes, this works perfectly thank you!
– Reedinationer
Nov 29 at 22:07

Yes, this works perfectly thank you!
– Reedinationer
Nov 29 at 22:07

Yes, this works perfectly thank you!
– Reedinationer
Nov 29 at 22:07

Thanks for contributing an answer to Mathematica Stack Exchange!

But avoid

• Making statements based on opinion; back them up with references or personal experience.

Use MathJax to format equations. MathJax reference.

Please pay close attention to the following guidance:

But avoid

• Making statements based on opinion; back them up with references or personal experience.

draft saved

function () {
}
);

### Post as a guest

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown