Dear Visitors:

Please scroll down the page to see present and archive blogs.

Thank you very much: Tramway Null(0)

Webrings - Maps - Trolleys and More

Navigation by WebRing.
Showing posts with label maps. Show all posts
Showing posts with label maps. Show all posts

Tuesday, November 13, 2018

Plotting Japanese Railways: Source: R Blog



Hi folks:

 I ran into this posting in R-Bloggers for 11/9/18 by "R on Chi's Impe[r]fect blog.   I just looked at it for a few moments and it should be of interest to "R" users, map makers and railway fans form all over.   The code looks complicated but the diagrams are great.   I hope this helps someone.   Will eventually get to look at the code.



Voronoi diagram with ggvoronoi package with Train Station data

November 9, 2018
By
(This article was first published on R on Chi's Impe[r]fect Blog, and kindly contributed to R-bloggers)

I’ve always been curious to make Voronoi diagram, I just think they are beautiful! When I came across data set with train stations in Japan. I instantly thought this would be great data sets to make Voronoi diagram! I’ve gotten data sets from (Ekidata)[http://www.ekidata.jp/] site. I’m amazed how many train stations we have in Japan, as well as coverage of train systems in Japan.
There are couple of packages I could’ve used to make Voronoi diagram, but I’ve utilized package ggvoronoi. I really like using “outline” inside of geom_voronoi function to mask out the shape! (Which I wasn’t sure how to do before using deldir package).

Voronoi Diagram with Train Station as a seed.

ggvoronoi makes it easy to plot voronoi diagram! All I really needed to produce voronoi diagram was longitude & latitude.
Initially I’ve plotted all the train station as a point (using geom_point), you can see that station will reveal shape of Japan, as JR (Japan Railway) really covers coast line of Japan. There are total of 10828 points, as there were 10828 stations listed in most recent data set downloaded today.
I also used treemap package to create treemap.
I’ve colour coded rectangle inside of treemap with company types. 47% of 10K+ stations are JR Japan Railway stations in Japan.
Tokyo (area: 2,188 sq.km) has 943 stations all together, followed by Hokkaido 650 stations, but Hokkaido is the biggest prefecture in terms of area (83,456.87 sq.km) . It would be interesting to get area data for each prefecture, so we can calculate stations per area.
jp <- ggplot2::map_data('world2', region='japan')
names(jp) <- c("lon","lat", "group","order","region","subregion")
## for train, I'm going to tidy up the map bit. (I've excluded Okinawa for now)
jp_outline <- jp %>% filter(subregion %in% c("Honshu","Hokkaido","Kyushu","Shikoku"))

## I also wanted prefecture level data, so I've used map data from mapdata package.
jp_outline_detailed <- map_data("japan")


## station_master lists all stations of all lines
plotPoints <-station_master %>%
  ggplot(aes(x=lon, y=lat)) +
  theme_void(base_family="Roboto Condensed") +
  geom_polygon(data=jp_outline, aes(group=group), fill="#ffffff", color="#33333380") +
  geom_point(aes(color=pref_cd),size=0.1, alpha=0.8) +
  scale_color_viridis_c(end=0.5, guide="none") +
  labs(title="Each Train Station as a point") +
  coord_quickmap()

## station_master2 is reduced version of station_master
plotVoronoi <-station_master2 %>%
  ggplot(aes(x=lon, y=lat)) +
  theme_void(base_family="Roboto Condensed") +
  geom_polygon(data=jp_outline, aes(group=group), fill="#ffffff00", color="#33333380") +
  geom_path(stat="voronoi", size=0.1, aes(color=pref_cd)) +
  coord_quickmap() +
  scale_color_viridis_c(end=0.5, guide="none") +
  labs(title="Voronoi Diagram with station as a seed")

## use patchwork package to plot 2 plots side by side
plotPoints + plotVoronoi

## All of Japan - Takes long time to draw on my machine.
station_master2 %>% 
  ggplot(aes(x=lon, y=lat)) +
  theme_void(base_family="Hiragino Sans W5") +
  geom_voronoi(aes(fill=station_cnt),size=0.05, color="#ffffff", 
               outline=jp_outline) + ## this outline feature is awesome!
  coord_quickmap() +
  scale_fill_viridis_c(end=0.8, option="magma", guide="none") 

Treemap with treemap package

With treemap, I can easily see which prefecture has more stations. Also I wanted to see which railway company are dominant in each prefecture.
## Treemap to see which prefecture has more stations.
station_master %>% 
  count(pref_name,company_type_descr,company_name_r) %>%
  add_count(pref_name,wt=n) %>%
  mutate(pref_descr = paste(pref_name,":",nn,"駅")) %>%
  treemap(index=c("pref_descr","company_type_descr","company_name_r"),
          vSize="n", vColor="company_type_descr", type="categorical",
          fontfamily.labels="Hiragino Sans W3",
          align.labels=list(c("left","top"),c("center","center"),c("right","bottom")),
          fontsize.labels=c(13,0,11),
          palette=viridis_pal(end=0.6)(4),
          border.col="white",
          bg.labels=0,
          position.legend="bottom",
          title.legend="", 
          title="Number of Stations by Prefecture\ncoloured by operating company types")

Writing Function to Plot Prefecture Level Voronoi

There are 47 prefectures in Japan. So I’ve decided to write function to draw voronoi as below. I think below can be simplified…, but for now it does the job…
## function to draw voronoi map at prefecture level
draw_pref <- function(pref_no=1,zoom=T,save_file=F,folder_name="prefecture",...){
  region <- prefs %>% filter(pref_cd==pref_no) %>% pull(pref_name_en)
  region_jp <- prefs %>% filter(pref_cd==pref_no) %>% pull(pref_name) 
  pref_summary  <- station_master %>% 
    filter(pref_cd==pref_no) %>% 
    summarise(station_cnt=n(),
              line_cnt =n_distinct(line_name), 
              company_count=n_distinct(company_name_r))
  
  tmp_df <- station_master2 %>% filter(pref_cd==pref_no)
  pref_outline <- map_data("japan", region=region)
  
  capital <-jpnprefs %>% mutate(pref_cd=row_number()) %>% filter(pref_cd==pref_no)
  
  ## calculate distance between capital city & each station so i can colour the cell of voronoi.
  tmp_df <- tmp_df %>%
    mutate(dist_from_capital = 
             sqrt((lon-capital$capital_longitude)^2 + (lat-capital$capital_latitude)^2))
  
  # finding bounding box from train station data... , so I can crop the map if I want to.
  bbox <-tmp_df  %>% ungroup() %>% 
    summarise(xmax=max(lon), xmin=min(lon), ymax=max(lat), ymin=min(lat))
  
  
  base_map <-tmp_df %>% ggplot(aes(x=lon,y=lat)) +
    theme_void(base_family="Hiragino Sans W5") +
    #geom_voronoi(aes(fill=comp_cd_min) ,size=0.1, color="#ffffff", 
    #           outline=pref_outline) +
    geom_voronoi(aes(fill=dist_from_capital) ,size=0.1, color="#ffffff", 
               outline=pref_outline) +
    #scale_fill_gradientn(colors = c("#440154FF","#000000FF","#31688EFF", "#1F9E89FF","#6DCD59FF"),
                       #breaks=c(0,7,30,100,200), limits=c(1,250), guide="none") +
    scale_fill_viridis_c(end=0.9, guide="none", option="magma") +
    labs(title=paste0(region_jp," (",region,")"), 
         caption=paste0("Capital City of ",region," is ",capital$capital, " @ (",
                        round(capital$capital_longitude,2),",", round(capital$capital_latitude,2),")"),
         subtitle=paste(pref_summary$station_cnt,"stations", 
                       pref_summary$line_cnt," lines operated by", 
                       pref_summary$company_count, "companies in", 
                       str_to_title(region))) +
    geom_point(data=capital, aes(x=capital_longitude, y=capital_latitude),shape=4, color="#ffffff") 
  
  if (zoom) {
    print(base_map + 
            coord_quickmap(xlim=c(bbox$xmin-0.1,bbox$xmax+0.1), 
                           ylim=c(bbox$ymin-0.1,bbox$ymax+0.1)))
    } else {
    print(base_map + coord_quickmap())
    }
  
  if(save_file){
    ggsave(paste0(folder_name,"/",
                  formatC(pref_no, width=2,flag="0"),"-",str_to_lower(region),".png"),
           width=9,height=9,dpi=300)
  }
  
}


## function to draw treemap at prefecture level
draw_treemap <- function(pref_no=1,...){
  station_master$color <- 
    viridis_pal(end=0.6)(nlevels(station_master$company_type_descr))[station_master$company_type_descr]
  title_text <- prefs %>% filter(pref_cd==pref_no) %>% pull(pref_name_en)
  
  station_master %>% 
    filter(pref_cd==pref_no) %>%
    count(company_type_descr,company_name_r,line_name,color,station_name) %>%
    treemap(index=c("company_type_descr","company_name_r","line_name","station_name"),
            vSize="n", vColor="color", type="color",
            fontfamily.labels="Hiragino Sans W3",
            fontfamily.title="Roboto Condensed",
            align.labels=list(c("center","center"),c("left","top"),
                              c("right","bottom"),c("center","center")),
            fontsize.labels=c(0,13,11,0),
            border.col=c("#ffffffff","#ffffff90","#ffffff30","#ffffff10"),
            border.lwds = c(3,2,1,0.2),
            bg.labels=0,
            title.legend="", title="",
            aspRatio = 16/9)
}

Tokyo!

While it’s interesting to see Voronoi map of Japan, I wanted to zoom into selected prefectures that I care maybe more about.
Firstly, Tokyo. I love looking at Tokyo’s train map such as this one. JR East Route Map PDF.
For below voronoi diagram, I’ve decided to colour the voronoi cell with distance from Shinjuku (capital city of Tokyo) to corresponding station cell. (I actually think it’s more interesting to get train usage data, and colour the cell with train usage data, but because there are so many different operating company, getting data about train usage seemed like pretty hard task to do…)
I like how dense train staions are packed around central tokyo (east side), but as you go towards the west, cell becomes bigger and bigger. In fact, far west side of Tokyo, there are NOT that many stations at all.
I’ve also created treemap for Tokyo below. Personally I was surprised that there are maybe more Tokyo metro stations than JR stations in Tokyo. I’ve also came to realize that there are so many companies…
draw_pref(13, zoom=T, save_file=F)

draw_treemap(13)

station_master %>% 
  filter(pref_cd==13) %>%
  arrange(e_sort) %>%
  ggplot(aes(x=lon, y=lat)) +
  geom_sf(data=jpn_pref(13), inherit.aes=F, color="#33333320") +
  geom_point(aes(color=company_name_r, shape=company_type_descr), alpha=0.8) +
  theme(axis.text=element_blank(),
        axis.title=element_blank()) +
  theme_minimal(base_family="Hiragino Sans W5") +
  geom_text_repel(data=station_master2 %>% filter(pref_cd==13 & station_cnt>6), 
            aes(label=station_name),
            family="Osaka", min.segment.length=0, nudge_x=0.25, segment.color="#33333350") +
  scale_color_hue(l=45) +
  coord_sf(ylim=c(35.5,35.9), xlim=c(138.8,139.9)) ## to remove islands of Tokyo

Plotting Kanagawa Prefecture

Kanagawa prefecture is where Yokohama, Also where one of my favourite place, Kamakura is. I like the shape of prefecture, as it sort of looks like a dog?! Maybe camel?!
Capital city of Kanagawa prefecture is Yokohama, and I’ve again coloured cell based on distance from Yokohama. Similar to Tokyo, east side of Kanagawa has a lot of stations but west side is pretty sparse.
draw_pref(14, zoom=T, save_file=F)

draw_treemap(14)

## See Station in Kanagawa
station_master %>% 
  filter(pref_cd==14) %>%
  arrange(e_sort) %>%
  ggplot(aes(x=lon, y=lat)) +
  geom_sf(data=jpn_pref(14), inherit.aes=F, color="#33333320") +
  geom_point(aes(color=company_name_r, shape=company_type_descr), alpha=0.8) +
  theme(axis.text=element_blank(),
        axis.title=element_blank()) +
  theme_minimal(base_family="Hiragino Sans W5") +
  geom_text_repel(data=station_master2 %>% filter(pref_cd==14 & station_cnt>3), 
            aes(label=station_name),
            family="Osaka", min.segment.length=0, nudge_x=0.25, segment.color="#33333350") +
  scale_color_hue(l=45)

Plotting Chiba Prefecture

Chiba is where Narita Airport is. I just had to plot it out, because I like the shape of prefecture 🙂 It looks like a hummingbird to me, but Chiba prefecture actually have a maskot called Chi-ba-kun, and it’s a dog character.
draw_pref(12, zoom=T, save_file=F)

draw_treemap(12)

## See Station in Chiba
station_master %>% 
  filter(pref_cd==12) %>%
  arrange(e_sort) %>%
  ggplot(aes(x=lon, y=lat)) +
  geom_sf(data=jpn_pref(12), inherit.aes=F, color="#33333320") +
  geom_point(aes(color=company_name_r, shape=company_type_descr), alpha=0.8) +
  theme(axis.text=element_blank(),
        axis.title=element_blank()) +
  theme_minimal(base_family="Hiragino Sans W5") +
  geom_text_repel(data=station_master2 %>% filter(pref_cd==12 & station_cnt>3), 
            aes(label=station_name),size=3,
            family="Osaka", min.segment.length=0, nudge_x=0.25, segment.color="#33333350") +
  scale_color_hue(l=45)

Bonus: Plotting Hokkaido Prefecture

Hokkaido is the largest prefecture in Japan, and it has 2nd most numbers of train stations. (While it has 2nd most stations in number, Hokkaido is about 37 times bigger than Tokyo in area).
Shape of Hokkaido is pretty iconic (at least in my mind.) I recently found out there’s heart-shaped lake called Toyoni lake in Hokkaido too, but I didn’t spot heart-shaped Voronoi cell…
draw_pref(1, zoom=T, save_file=F)

draw_treemap(1)

## To see station on actual map
station_master %>% 
  filter(pref_cd==1) %>%
  arrange(e_sort) %>%
  ggplot(aes(x=lon, y=lat)) +
  geom_sf(data=jpn_pref(1), inherit.aes=F, color="#33333320") +
  geom_point(aes(color=company_name_r, shape=company_type_descr), alpha=0.8) +
  theme(axis.text=element_blank(),
        axis.title=element_blank()) +
  theme_minimal(base_family="Hiragino Sans W5") +
  geom_text_repel(data=station_master2 %>% filter(pref_cd==1 & station_cnt>=3), 
            aes(label=station_name),
            family="Osaka", min.segment.length=0, nudge_x=2, segment.color="#33333350") +
  scale_color_hue(l=45, name="company name")
To leave a comment for the author, please follow the link and comment on their blog: R on Chi's Impe[r]fect Blog.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...



If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...
Comments are closed.

Thursday, January 19, 2017

Brooklyn Jockey Club as seen on a 1905 Map



      On resource that I did not look at in a long time is the New York Public Library Digital Collection.  This vast resource has many maps and the above section comes from a Brooklyn Eagle newspaper map drawn in 1905 dealing with transportation improvements for Brooklyn.  Notice the two race tracks and also note that the Jockey Club's southern boarder is Johnson's Lane, a street that does not exist today.  The red lines shown are surface railroads including streetcars.  In 1905, for this portion of the Brooklyn, the former steam railways ran on the surface  This was the case for the Culver Line prior to 1919.       Notice the Brighton Line branch to the Coney  Island Jockey Club at  Avenue X near Ocean Avenue.                                                                                                                                                                    

Tuesday, April 5, 2016

East 161 Street & 3rd Avenue Bronx 1954



Yesterday, in Subchat, Dave posted an post titled "New York, 1954" and this great photo taken in the Bronx in 1954 is shown.  The 3rd Avenue El  with wooden equipment and abandoned trolley tracks on the surface. On writer wrote that he would like to see  Bernard Linder trackmap of the area.  My archive at home is not indexed and I knew that I would never find it.. but I pulled a binder at random and it seems that the "Bulletin" in 1996 had a series on Bronx Trolleys.


  In this great photo of the Bronx, you can see tracks under the Third Avenue el.  The street sign says "East 161th Street".  A writer asked about that turnoff in the foreground.  Was it part of the St. Anns
Avenue Line?   I am less familiar with Bronx trolleys compared to Brooklyn trolleys.  Bronx lost it's trolleys in 1948 and 1952 near the Westchester boarder.


The trackmap below comes from  Linder, B.  " New York Division Bulletin", Electric Railway Association, Vol. 39, No. 9, September, 1996, pp.2-3.


  Please take a look at the 1934-1948 map.  On the left side near the bottom find "B___B".

You will see the 161 Street 3rd Avenue intersection with St. Anns Avenue.  The turnout seems in the wrong position but if you turn the map upside down, you can see by 1948 the St. Anns branch was a turnout.  It did not exist in the 1909 map.  The photo was taken facing south?  Notice how elegant New Yorkers dressed in 1954.

I hope this helps.

Tramway Null

Tuesday, December 1, 2015

A Selection of Maps Made Using QGIS



I revisited QGIS again, that GRASS related geo-spatial software.  It is possible to bring in previously created or used raster and vector files into that environment.  There are many advanced features that I did not try yet, that the no-frills ARCGIS software does not supply.  In QGIS, you can take a raster file and make contours; something that you cannot do in ARCGIS without buying a more expensive package.

In this QGIS map,   a NYC raster file was brought in and converted to contours.  A vector subway map (stations, lines and RR's) was also added.  The arrow points to the area between the Culver and Brighton Lines in Brooklyn along the Bay Ridge RR cut/  The map is able to show the open cut (change of the elevation) around the area.  The contour lines are very crisp and easy to produce.

 A closer map of the area.  The arrow points to the location where the Culver Line on McDonald Avenue passes over the Bay Ridge Cut at "Stop and Shop".  Produced in QGIS using Bytes of the Big Apple and other sources.

  This interesting map was produced using recent NYC flood zone information, the street grid for Staten Island and a contour map produced in QGIS from a NYC Elevation raster file.  I was surprised to see that the RR for the northern shore of Staten Island at this point is more inland as one goes west.  These three maps were produced using QGIS, is a free online software.

Friday, January 11, 2013

Shapefile Data From New Jersey

Some maps created using shapefiles provided free by the State of New Jersey.  Maps showing elevations, fire harzards in Bergen County are found above.  In the Bergen County map, I wanted to show that New Jersey Transit trains travel through some fire hazard areas and could be delayed, let us say due to brush fires and other hazards.  The darker the green, the higher the danger.  Shapefiles may be used by such programs such as ARCGIS after being unzipped.  The data can be transferred to GEODA and playing around with elevations and earthquake magnitude, there was a slight correlation which was modified by location (autocorrelation).  These maps are just experiments and should not be used for any scientific work.  The fire hazard file is probably from 2007.  Thank you State of New Jersey for providing the public with these free shape files.  Source of shape files: http://www.state.nj.us/dep/gis/lists.html
Welcome to the web page of the :

Tuesday, September 4, 2012

Your Maps are all Wet: Using the Typographic Index to find Rapid Transit Lines

  In the above map, I brought in our elevation file for New York City and then I tried something different.  I used the GRASS 6.4.1 Raster  Typographic Index.  This index is used to generate a map showing water run off.  I then added my standard subway route line and station shape file.  To my surprise, the yellow areas (lines) seem to follow the existing rapid transit structures that are either on the embankment or a open cut and show the water drainage areas.  Interestingly, the iron elevated structures, such as found on the West End (D) and Culver Lines (F) do not produce such an effect.  Although I did not bring in the RR shape file, the LIRR Bay Ridge Division is clearly visible because it is either on an embankment or an open cut.  Going from west ot east the labels show the Fourth Avenue Subway, (N and R trains) with no effect, the West End El (D), with no effect, the Sea Beach open cut (N), with an effect, the Culver Line (F) with no effect and finally the Brighton Line  (B, Q) on an embankment with a strong effect.  The bottom line is that the software is able to pick up great changes in elevation near rapid transit structures.  While a map is good to have, perhaps the software can be used for finding interesting artifacts no usually visible.

Anyone interested in the code in GRASS 6.4.1 that creates this can find it below:

r.topidx creates topographic index (wetness index), ln(a/tan(beta)), map from elevation map
where
a: the area of the hillslope per unit contour length that drains through any point,
tan(beta): the local surface topographic slope (delta vertical) / (delta horizontal).

Thursday, January 19, 2012

Church Avenue Line 1923-56

The Church Avenue Line with its' sister, the McDonald Avenue Line died on October 31, 1956. On that same day, the Cortelyou Road trolleybus also died. The Church Avenue line was unique in that it had its own separate two track tunnel crossing Ocean Parkway. If we follow the model of last out first in, the Church Avenue Line would be a good candidate for revival. The question is, should the entire line be equipped with streetcars? Looking at the track diagrams, we see that the line ran over some private right of way trackage in the Sunset Park area between first and second avenues off 39 th Street. At the other end, a trolley loop at Bristol Street was also in a private right of way. The Church Avenue line today is a busy one, and I do not have the statistics at hand, but in 1989 there were plans that called for the conversion of this line to trolleybus (trackless trolley) along with the Bx-12 route in the Bronx. Of course, nothing ever came of these plans. In its' last days, the Church Avenue Trolley started at a loop at First Avenue and runs along a private right of way until Second Avenue, It curved slightly on Second Avenue and turned east on 39 th Street, going up a hill. Along 39 Street, there was in the past turnouts for the 3 rd Avenue Line, the Fifth Avenue Line, the 8th Avenue Line and yes, the West End Trolley at 39 th Street and New Utrecht Avenue. The West End Trolley was never replaced with a bus after the line died around 1948. At 39 th Street and 13 th Avenue, the line makes a sharp curve and runs east on 13 th Avenue to 37 Street. At this point, the lines crosses the South Brooklyn Railway trolley-freight tracks and makes a sharp curve east. At this point, I remember near the beginning of Church Avenue there was a stub track leading to the former Nassau Electric yards. More about this later. the line now enters Church Avenue and joins and crosses the McDonald Avenue Line. This was a complicated junction with many curves. The line goes underground for a short distance crossing Ocean Parkway. The line surfaces and crosses the Coney Island Avenue Line that died in 1955. The line continues and crosses Flatbush Avenue and crosses Rogers Avenue. At Rogers Avenue, there was what is called a "Wye" that allows for a single ended car, such as a PCC car to reverse directions without a loop. Nostrand Avenue and Utica Avenues Lines are crossed as well, There was a branch at East 98 th Street but I do not know what line this connected to. At Hegeman Avenue, there was a small PRW at the loop and there was a turnout to the Carnarsie Depot. In a future blog, I will show the approximate location of a much bigger PRW that ran from East 98 th Street to Rockaway Avenue. This private right of way was in operation until 1928 and it could be seen by aerial photographs of the area in 1924 and 1951. According to Edward B. Watson, a trolley historian, the Church Avenue Line used 11, 8, and presently 35 as its' route numbers. Over the years, many other trolley routes used the Church Avenue trackage to reach Coney Island or Sheepshead Bay.

Wednesday, January 18, 2012

Streetcars and Spatial Analysis - Picture Credit: Frank Pfuhler Collection - Dave's RailPix-- 1015 at First Avenue Loop

If you came to this blog, you probably love streetcars and perhaps trolleybuses as much as I do.  I live in Brooklyn, New York which is part of New York City.  The last streetcar that was city owned ran in October 1956 and I remember it, although I was in the first grade.  Trolleybuses, as someone said, is transit's stepchild, also ran in Brooklyn.  I remember them on the Cortelyou Road route in Flatbush.  The last trolley bus ran in Brooklyn in July, 1960.   As you probably know, streetcars, also known as light rail, are coming back all over the world including many cities in the United States.  Unfortunately, they do not appear to be coming back to Brooklyn or in the other boroughs despite the efforts of various groups such as Vision 42 http://www.vision42.org/ or Brooklyn Historical Railway Association.http://brooklynrail.net/.
       About a year ago, Yonah Freemarkhttp://www.thetransportpolitic.com/ wrote an interesting blog asking the theoretical question:  If streetcars did come back to Brooklyn, what would that system look like?  He produced a great map that stole my thunder.  I will comment on his map later but for now, I would like to present the aims of this blog:

1)  If streetcars came back to Brooklyn, what routes would they run on?  What would a map of these routes look like?  Would the route be the same as in 1956?  What routes do you think should come back and why?  How about streetcar and or trolley bus routes in other parts of the city? 
What do you think about "peak oil" and electric surface transportation and how about trolley boats and trolley trucks in a limited oil environment?  We all know that electric surface transportation is good for the environment.  Perhaps we can show this using maps.

http://www.lowtechmagazine.com/2009/12/trolley-canal-boats.html

2)  How can I make better maps using ESRI ARCGIS to display this information?


3)  How can I use some of the geoanalytical techniques available in ARCGIS for making better maps that show proposed streecar lines?  For example, should new streetcar routes be established in neighborhoods that are far away from existing subway/bus lines and have light/heavy concentration of population?

4)  If my edition of ARCGIS cannot do not regression analysis, can I use Geoda or "R" to do analysis for proposed routes?  What methodology should I use? and finally:

5) Although not streetcar related, what geospatial /analytical techniques can I to study isolated communities that receive a form of social services if I have demographic and other type of census data including rapid transit line data?  What software do you suggest other than ARCGIS, Geoda, or "R" can I use to study isolated populations?