Jelajahi Sumber

Lisatud 'gtfs'.

Ardo Kubjas 5 tahun lalu
induk
melakukan
1634f03164

+ 1 - 0
.gitignore

@@ -1 +1,2 @@
 .Rproj.user
+inst/testimiseks/

+ 1 - 1
DESCRIPTION

@@ -12,4 +12,4 @@ Encoding: UTF-8
 LazyData: true
 Roxygen: list(markdown = TRUE)
 RoxygenNote: 7.1.1.9000
-Imports: ruut, qgisprocess, DBI, pool, RPostgreSQL, sf, raster, stars, rgdal, tidyverse, inborutils, rvest, seleniumPipes, rjson, methods, utils, jsonlite, urltools, magrittr, stringr, xml2, purrr, readr
+Imports: ruut, qgisprocess, DBI, pool, RPostgreSQL, sf, raster, stars, rgdal, tidyverse, inborutils, rvest, seleniumPipes, rjson, methods, utils, jsonlite, urltools, magrittr, stringr, xml2, purrr, readr, rgeos, sp, dplyr, rlang

+ 2 - 0
NAMESPACE

@@ -1,5 +1,6 @@
 # Generated by roxygen2: do not edit by hand
 
+export(gtfs)
 export(inspire_grids)
 export(maaamet_aadressandmed)
 export(maaamet_ehak)
@@ -8,3 +9,4 @@ export(maaamet_kataster)
 export(maaamet_ortofotod)
 export(osm_shp)
 importFrom(magrittr,"%>%")
+importFrom(rlang,.data)

+ 187 - 0
R/gtfs.R

@@ -0,0 +1,187 @@
+#' GTFS - maanteeameti ühistranspordi andmed
+#'
+#' General Transit Feed Specification (GTFS). Source: \url{http://peatus.ee/gtfs/}. Ühistranspordiregistri avaandmed sisaldavad lihtsustatud struktuuri andmekoosseisuga väljavõtet Riiklikku Ühistranspordiregistrisse kantud andmetest, mis hõlmavad siseriiklikult käigus olevate ühistranspordiliinide kirjeldusi, sõidugraafikuid ja peatuste asukohtasid.\url{https://www.mnt.ee/et/uhistransport/uhistranspordi-infosusteem} Funktsioon impordib gtfs andmestiku importimine andmebaasi.
+#'
+#' Ühistranspordiregistri avaandmete andmefailid:
+#' - agency.txt
+#' - calendar.txt
+#' - calendar_dates.txt
+#' - feed_info.txt
+#' - routes.txt
+#' - stop_times.txt
+#' - stops.txt
+#' - trips.txt
+
+#' @importFrom magrittr %>%
+#' @importFrom rlang .data
+#' @param conf A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.
+#' @return No output.
+#' @seealso [ruut::get_config()], [ruut::copy_shp_to_db()]
+#' @keywords postgis, maps, ESRI Shpfile, OSM
+#' @export
+#' @examples
+#' ## Not run:
+#' ##
+#' ## gtfs()
+#' ##
+#' ## End(**Not run**)
+gtfs <- function(conf = NULL) {
+  ans <- utils::askYesNo("Do you want to import gtfs data into database?")
+  if (!ans) {
+    cat("\n------------------------\n")
+    cat("Kaardikihte ei lisatud.")
+    cat("\n------------------------\n")
+  }
+  if (ans) {
+    # Temp directory
+    tmp_dir <- "/tmp/gtfs"
+    if (!dir.exists(tmp_dir)) {
+      dir.create(tmp_dir)
+    }
+    # Download link
+    url <- "http://www.peatus.ee/gtfs/"
+    # Estonia shapefile (ZIP archive)
+    map_shapefile <- "gtfs.zip"
+    # Download and save
+    url_download <- sprintf("%s%s", url, map_shapefile)
+    saveTo <- sprintf("%s/%s", tmp_dir, map_shapefile)
+    if (!file.exists(saveTo)) {
+      utils::download.file(
+        url = url_download,
+        destfile = saveTo, method = "curl", extra = "-L"
+      )
+    }
+    # Unzip
+    utils::unzip(saveTo, overwrite = T, exdir = tmp_dir)
+    # List of files
+    ls <- list.files(path = tmp_dir, pattern = ".txt")
+    ls_long <- list.files(path = tmp_dir, pattern = ".txt", full.names = T)
+    tbl_names <- tools::file_path_sans_ext(list.files(path = tmp_dir, pattern = "*.txt"))
+    # Export to postgis
+    if (is.null(conf)) {
+      conf <- ruut::get_config()
+      conf$schema <- "gtfs"
+      conf$table <- ""
+    }
+    # Multi layer: paneme kõik csv failid üheks failiks.
+    if (file.exists(saveTo)) {
+      ## Export to postgis database.
+      # New schema
+      ruut::db_create_new_schema(conf = conf)
+      # Postgresql string
+      pg <- ruut::construct_ogr2ogr_PG_connect_str()
+      # Connect to db
+      conn <- ruut::db_connect()
+
+      # ---------- Copy CSV!!! data to database ----------
+      for (i in 1:length(tbl_names)) {
+        # Tabeli nimi
+        conf$table <- tbl_names[i]
+        # ogr2ogr oskab csv faili lugeda juhul kui laiend on csv. Muudame.
+        system(sprintf("mv %s %s/%s.csv", ls_long[i], tmp_dir, tbl_names[i]))
+        # Laeme eraldi andmed shape muutujasse, et teede geomeetriat leida
+        if (tbl_names[i] == "shapes") {
+          shapes <- utils::read.csv(file = sprintf("%s/%s.csv", tmp_dir, tbl_names[i]))
+          ## --------------- Points to SpatialLines -----------------
+          cat("\n----------------\nMarsruutide geomeetria loomine\n")
+
+          sl <- shapes %>%
+            dplyr::arrange(.data$shape_id, .data$shape_pt_sequence) %>%
+            sf::st_as_sf(coords = c("shape_pt_lon", "shape_pt_lat"), agr = "constant") %>%
+            # dplyr::group_by(shape_id) %>%
+            # dplyr::summarise() %>%
+            sf::st_cast("POINT")
+          sf::st_crs(sl) <- 4326
+          # # Test plot
+          # sl %>%
+          #   ggplot2::ggplot(ggplot2::aes(colour = shape_id)) +
+          #   ggplot2::geom_sf()
+          # plot(sl)
+          # Write to database
+          tabeli_suffix <- "_source"
+          sf::st_write(
+            obj = sl, dsn = conn, layer_options = c("GEOMETRY=AS_XY", "OVERWRITE=yes"),
+            layer = sprintf("%s%s", conf$table, tabeli_suffix)
+          )
+          # Change schema
+          q <- sprintf("
+          drop table if exists %s.%s%s cascade; \
+          ALTER TABLE %s%s SET SCHEMA %s", conf$schema, conf$table, tabeli_suffix, conf$table, tabeli_suffix, conf$schema)
+          cat("\n----------------\nMuudame schema.\n")
+          cat(q)
+          DBI::dbExecute(conn, q)
+          # ----------- Point to path teisendus ------------
+          # Algoritmi juhend!
+          # qgis_algorithm_search_by_word(str = "pointstopath")
+          algorithm <- "qgis:pointstopath"
+          # cat(qgis_show_help(algorithm = algorithm))
+          # Run algorithm.
+          ## !!!!!!!!!!!!!!!!!!!! NB! pead muutma pythoni skripti 188 rida.
+          ## File "/usr/share/qgis/python/plugins/processing/algs/qgis/PointsToPaths.py", line 188, in processAlgorithm
+          ## Panin sinna mingi faili, sest temp faili ei osanud python kirjutada ja pärast lugeda.
+          output <- sprintf(
+            'postgres://dbname=\'%s\' host=%s port=%s user=\'%s\' sslmode=%s password=\'%s\' table=\"%s\".\"%s\" (geom)',
+            conf$dbname, conf$host, conf$port, conf$user, conf$sslmode, conf$password,
+            conf$schema, conf$table
+          )
+          input <- sprintf(
+            'postgres://dbname=\'%s\' host=%s port=%s user=\'%s\' sslmode=%s password=\'%s\' srid=4326 type=Point checkPrimaryKeyUnicity=\'1\' table=\"%s\".\"%s_source\" (geometry)',
+            conf$dbname, conf$host, conf$port, conf$user, conf$sslmode, conf$password,
+            conf$schema, conf$table
+          )
+          result <- qgisprocess::qgis_run_algorithm(
+            algorithm = algorithm,
+            CLOSE_PATH = 0,
+            DATE_FORMAT = "",
+            GROUP_FIELD = "shape_id",
+            INPUT = input,
+            ORDER_FIELD = "shape_pt_sequence",
+            OUTPUT = output,
+            .quiet = TRUE
+          )
+        } else {
+          cmd <- sprintf(
+            paste0(
+              "ogr2ogr -f PostgreSQL ",
+              "%s -lco SCHEMA=%s -lco OVERWRITE=yes -lco FID=%s -nln \"%s\" \"%s/%s.csv\""
+            ), pg, conf$schema, "fid", conf$table, tmp_dir, tbl_names[i]
+          )
+          cat(cmd)
+          cat("\n\n")
+          system(cmd)
+        }
+      }
+
+      # Lisame andmebaasi seosed
+      q <- sprintf("
+      ALTER TABLE %s.agency ADD CONSTRAINT agency_un UNIQUE (agency_id); \
+      ALTER TABLE %s.calendar ADD CONSTRAINT calendar_un UNIQUE (service_id); \
+      ALTER TABLE %s.fare_attributes ADD CONSTRAINT fare_attributes_un UNIQUE (fare_id); \
+      ALTER TABLE %s.routes ADD CONSTRAINT routes_un UNIQUE (route_id); \
+      ALTER TABLE %s.shapes ADD CONSTRAINT shapes_un UNIQUE (shape_id); \
+      ALTER TABLE %s.stops ADD CONSTRAINT stops_un UNIQUE (stop_id); \
+      ALTER TABLE %s.trips ADD CONSTRAINT trips_un UNIQUE (trip_id); \
+      ALTER TABLE %s.fare_rules ADD CONSTRAINT fare_rules_fk FOREIGN KEY (fare_id) REFERENCES %s.fare_attributes(fare_id); \
+      ALTER TABLE %s.fare_attributes ADD CONSTRAINT fare_attributes_fk FOREIGN KEY (agency_id) REFERENCES %s.agency(agency_id); \
+      ALTER TABLE %s.routes ADD CONSTRAINT routes_fk FOREIGN KEY (agency_id) REFERENCES %s.agency(agency_id); \
+      ALTER TABLE %s.calendar_dates ADD CONSTRAINT calendar_dates_fk FOREIGN KEY (service_id) REFERENCES %s.calendar(service_id); \
+      ALTER TABLE %s.fare_rules ADD CONSTRAINT fare_rules_route_fk FOREIGN KEY (route_id) REFERENCES %s.routes(route_id); \
+      ALTER TABLE %s.stop_times ADD CONSTRAINT stop_times_stops_fk FOREIGN KEY (stop_id) REFERENCES %s.stops(stop_id); \
+      ALTER TABLE %s.stop_times ADD CONSTRAINT stop_times_trips_fk FOREIGN KEY (trip_id) REFERENCES %s.trips(trip_id); \
+      ALTER TABLE %s.trips ADD CONSTRAINT trips_calendar_fk FOREIGN KEY (service_id) REFERENCES %s.calendar(service_id); \
+      ALTER TABLE %s.trips ADD CONSTRAINT trips_routes_fk FOREIGN KEY (route_id) REFERENCES %s.routes(route_id);", conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema, conf$schema)
+      cat(q)
+      DBI::dbExecute(conn, q)
+
+      # ogr2ogr help.
+      # system("ogr2ogr --long-usage")
+      # ogrinfo help.
+      # system("ogrinfo --help-general")
+      # pg <- ruut::construct_ogr2ogr_PG_connect_str()
+      # system(sprintf("ogrinfo %s xgtfs.trips ", pg))
+      # system(sprintf("ogrinfo %s xgtfs.trips ", pg))
+    }
+    # Delete temp directory
+    # system(sprintf("rm -rf %s/*.csv", tmp_dir))
+  }
+}

+ 7 - 4
R/maaamet_aadressandmed.R

@@ -138,8 +138,8 @@ maaamet_aadressandmed <- function(conf = NULL) {
       pg <- ruut::construct_ogr2ogr_PG_connect_str()
       cmd <- sprintf(
         paste0(
-          "ogr2ogr -overwrite --config PG_USE_COPY YES -f PostgreSQL ",
-          "%s -lco SCHEMA=%s -lco OVERWRITE=yes -skipfailures -nln %s \"%s/%s\""
+          "ogr2ogr -f PostgreSQL ",
+          "%s -lco SCHEMA=%s -lco OVERWRITE=yes -nln \"%s\" \"%s/%s\""
         ), pg, conf$schema, conf$table, tmp_dir, "aadressandmed.csv"
       )
       # cmd <- sprintf(
@@ -150,18 +150,19 @@ maaamet_aadressandmed <- function(conf = NULL) {
       #   ), pg, conf$schema, conf$table, tmp_dir, "aadressandmed.csv"
       # )
       cat(cmd)
+      cat('\n')
       # -overwrite vs. -append  -progress
       # -sql ST_Transform(ST_SetSRID(ST_MakePoint(viitepunkt_x::double precision, viitepunkt_y::double precision),3301),4326) as geometry
       system(cmd)
       # Add geometry column
+      Sys.sleep(2)
       conn <- ruut::db_connect()
       # Import source CSV
       # q <- sprintf("
       # COPY %s.%s FROM '%s/%s' DELIMITER ';' CSV header ENCODING 'utf8';",
       #              conf$schema, conf$table, tmp_dir, "aadressandmed.csv")
       # DBI::dbExecute(conn, q)
-      q <- sprintf(
-        "
+      q <- sprintf("
       -- ALTER TABLE %s.%s DROP COLUMN geometry; \
       ALTER TABLE %s.%s ADD geometry geometry DEFAULT NULL; \
       UPDATE %s.%s SET viitepunkt_x=NULL where viitepunkt_x=''; \
@@ -175,6 +176,7 @@ maaamet_aadressandmed <- function(conf = NULL) {
         conf$schema, conf$table
       )
       cat(q)
+      cat('\n')
       DBI::dbExecute(conn, q)
       # Insert data into geometry
       q <- sprintf(
@@ -190,6 +192,7 @@ maaamet_aadressandmed <- function(conf = NULL) {
         conf$schema, conf$table, conf$schema, conf$table
       )
       cat(q)
+      cat('\n')
       DBI::dbExecute(conn, q)
 
       # ogr2ogr help.

+ 1 - 0
inst/tallinna_transporditsoonid/tln_transporditsoonid.cpg

@@ -0,0 +1 @@
+UTF-8

TEMPAT SAMPAH
inst/tallinna_transporditsoonid/tln_transporditsoonid.dbf


+ 1 - 0
inst/tallinna_transporditsoonid/tln_transporditsoonid.prj

@@ -0,0 +1 @@
+GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]

+ 1 - 0
inst/tallinna_transporditsoonid/tln_transporditsoonid.qpj

@@ -0,0 +1 @@
+GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]

TEMPAT SAMPAH
inst/tallinna_transporditsoonid/tln_transporditsoonid.shp


TEMPAT SAMPAH
inst/tallinna_transporditsoonid/tln_transporditsoonid.shx


+ 269 - 0
inst/tallinna_transporditsoonid/tsoon-asum-linnaosad_seosed.csv

@@ -0,0 +1,269 @@
+Uus nr,Vana nr,Soome nr,Nimi,Asum,Linnaosa
+T00101,1001,2001,Tiskre,Tiskre,Haabersti
+T00102,1002,2001,Tiskre,Tiskre,Haabersti
+T00200,2,2002,Kakumäe,Kakumäe,Haabersti
+T00301,3001,2003,Landi,Kakumäe,Haabersti
+T00302,3002,2003,Landi,Vismeistri,Haabersti
+T00400,4,2004,Vismeistri,Pikaliiva,Haabersti
+T00500,5,2005,Merirahu,Õismäe,Haabersti
+T00601,6001,2006,Pikaliiva,Pikaliiva,Haabersti
+T00602,6002,2006,Pikaliiva,Õismäe,Haabersti
+T00700,7,2007,Rocca al Mare,Rocca al Mare,Haabersti
+T00801,8001,2008,Haabersti,Haabersti,Haabersti
+T00802,8002,2008,Haabersti,Haabersti,Haabersti
+T00900,9,2009,Karikakra,Väike-Õismäe,Haabersti
+T01000,10,2010,Sinilille,Väike-Õismäe,Haabersti
+T01100,11,2011,Meelespea,Väike-Õismäe,Haabersti
+T01200,12,2012,Väike-Õismae,Väike-Õismäe,Haabersti
+T01300,13,2013,Veskimetsa,Veskimetsa,Haabersti
+T01400,14,2014,Nurmenuku,Väike-Õismäe,Haabersti
+T01500,15,2015,Kullerkupu,Väike-Õismäe,Haabersti
+T01600,16,2016,Bussipark,Kadaka,Mustamäe
+T01700,17,2017,Järveotsa,Väike-Õismäe,Haabersti
+T01800,18,2018,Kadaka,Kadaka,Mustamäe
+T01900,19,2019,Astangu,Astangu,Haabersti
+T02001,2021,2020,Tähetorni,Mäeküla,Haabersti
+T02002,2022,2020,Tähetorni,Astangu,Haabersti
+T02100,21,2021,Joostimäe,Kadaka,Mustamäe
+T02200,22,2022,Aiandi,Kadaka,Mustamäe
+T02300,23,2023,Sääse,Sääse,Mustamäe
+T02400,24,2024,Mustamäe,Mustamäe,Mustamäe
+T02600,26,2026,Sipelga,Mustamäe,Mustamäe
+T02700,27,2027,Lepistiku,Mustamäe,Mustamäe
+T02800,28,2028,Tervise,Mustamäe,Mustamäe
+T02900,29,2029,TTÜ,Mustamäe,Mustamäe
+T03000,30,2030,Männi park,Mustamäe,Mustamäe
+T03100,31,2031,Liivaku,Mustamäe,Mustamäe
+T03200,32,2032,Kaja,Mustamäe,Mustamäe
+T03300,33,2033,A. H. Tammsaare tee,Mustamäe,Mustamäe
+T03400,34,2034,Szolnok,Mustamäe,Mustamäe
+T03500,35,2035,Männi,Mustamäe,Mustamäe
+T03600,36,2036,TTÜ,Kadaka,Mustamäe
+T03700,37,2037,Mäepealse,Kadaka,Mustamäe
+T03801,3801,2038,Kadaka puiestee,Vana-Mustamäe,Nõmme
+T03802,3802,2038,Kadaka puiestee,Vana-Mustamäe,Nõmme
+T03900,39,2039,Vana-Mustamäe,Vana-Mustamäe,Nõmme
+T04000,40,2040,Kalda,Pääsküla,Nõmme
+T04100,41,2041,Salve,Hiiu,Nõmme
+T04200,42,2042,Laane,Kivimäe,Nõmme
+T04300,43,2043,Rohula,Pääsküla,Nõmme
+T04400,44,2044,Turbasambla,Pääsküla,Nõmme
+T04500,45,2045,Vana Pääsküla,Pääsküla,Nõmme
+T04600,46,2046,Pääsküla prügila,Pääsküla,Nõmme
+T04700,47,2047,Naaritsa,Pääsküla,Nõmme
+T04800,48,2048,Vikerkaare,Pääsküla,Nõmme
+T04900,49,2049,Kivimäe,Kivimäe,Nõmme
+T05001,5051,2050,Hõimu,Kivimäe,Nõmme
+T05002,5052,2050,Hõimu,Kivimäe,Nõmme
+T05100,51,2051,Raudtee,Hiiu,Nõmme
+T05201,5251,2052,Hiiu,Hiiu,Nõmme
+T05202,5252,2052,Hiiu,Hiiu,Nõmme
+T05301,5351,2053,Männiku,Nõmme,Nõmme
+T05302,5352,2053,Männiku,Männiku,Nõmme
+T05401,5451,2054,Nurme,Nõmme,Nõmme
+T05402,5452,2054,Nurme,Nõmme,Nõmme
+T05403,5453,2054,Nurme,Nõmme,Nõmme
+T05404,5454,2054,Nurme,Nõmme,Nõmme
+T05500,55,2055,Roheline,Nõmme,Nõmme
+T05600,56,2056,Hiiu jaam,Hiiu,Nõmme
+T05700,57,2057,Nõmme,Nõmme,Nõmme
+T05801,5851,2058,Rahumäe,Rahumäe,Nõmme
+T05802,5852,2058,Rahumäe,Rahumäe,Nõmme
+T05803,5853,2058,Rahumäe,Rahumäe,Nõmme
+T05901,5951,2059,Kraavi,Männiku,Nõmme
+T05902,5952,2059,Kraavi,Männiku,Nõmme
+T06001,6061,2060,Rahumäe kalmistu,Rahumäe,Nõmme
+T06002,6062,2060,Rahumäe kalmistu,Rahumäe,Nõmme
+T06101,6161,2061,Raku järv,Männiku,Nõmme
+T06102,6162,2061,Raku järv,Männiku,Nõmme
+T06200,62,2062,Raudalu,Raudalu,Nõmme
+T06301,6361,2063,Raku,Liiva,Nõmme
+T06302,6362,2063,Raku,Raudalu,Nõmme
+T06400,64,2064,Liiva 1,Liiva,Nõmme
+T06500,65,2065,Liiva 2,Ülemiste järv,Kesklinn
+T06600,66,2066,Risti,Järve,Kristiine
+T06700,67,2067,Järve,Ülemiste järv,Kesklinn
+T06800,68,2068,Tuisu,Järve,Kristiine
+T06901,6961,2069,Marsi,Tondi,Kristiine
+T06902,6962,2069,Marsi,Tondi,Kristiine
+T07001,7071,2070,Kalev,Kitseküla,Kesklinn
+T07002,7072,2070,Kalev,Kitseküla,Kesklinn
+T07100,71,2071,Tondi,Tondi,Kristiine
+T07200,72,2072,Räägu,Lilleküla,Kristiine
+T07301,7301,2073,Kristiine keskus,Lilleküla,Kristiine
+T07302,7302,2073,Kristiine keskus,Lilleküla,Kristiine
+T07400,74,2074,Tallinn-Väike,Kitseküla,Kesklinn
+T07501,7501,2075,Tedre,Lilleküla,Kristiine
+T07502,7502,2075,Tedre,Lilleküla,Kristiine
+T07701,7701,2077,Välja,Lilleküla,Kristiine
+T07702,7702,2077,Välja,Lilleküla,Kristiine
+T07801,7801,2078,Löwenruh,Lilleküla,Kristiine
+T07802,7802,2078,Löwenruh,Lilleküla,Kristiine
+T07900,79,2079,Forelli,Lilleküla,Kristiine
+T08000,80,2080,Humala,Mustjõe,Haabersti
+T08101,8101,2081,Siili,Siili,Mustamäe
+T08102,8102,2081,Siili,Sääse,Mustamäe
+T08201,8201,2082,Vilja,Lilleküla,Kristiine
+T08202,8202,2082,Vilja,Lilleküla,Kristiine
+T08300,83,2083,Mustjõe,Mustjõe,Haabersti
+T08400,84,2084,Haabersti,Veskimetsa,Haabersti
+T08500,85,2085,Rocca-al-Mare,Mustjõe,Haabersti
+T08600,86,2086,Merimetsa,Merimetsa,Põhja- Tallinn
+T08700,87,2087,Merimetsa,Merimetsa,Põhja- Tallinn
+T08800,88,2088,Ülase,Lilleküla,Kristiine
+T08900,89,2089,Kopli,Kopli,Põhja- Tallinn
+T09000,90,2090,Sepa,Kopli,Põhja- Tallinn
+T09100,91,2091,Sirbi,Kopli,Põhja- Tallinn
+T09201,9201,2092,Lahesuu,Kopli,Põhja- Tallinn
+T09202,9202,2092,Lahesuu,Paljassaare,Põhja- Tallinn
+T09301,9301,2093,Paljassaare,Paljassaare,Põhja- Tallinn
+T09302,9302,2093,Paljassaare,Paljassaare,Põhja- Tallinn
+T09401,9401,2094,Pikakari,Paljassaare,Põhja- Tallinn
+T09402,9402,2094,Pikakari,Paljassaare,Põhja- Tallinn
+T09500,95,2095,Sitsi,Sitsi,Põhja- Tallinn
+T09600,96,2096,Maleva,Pelguranna,Põhja- Tallinn
+T09700,97,2097,Pelguranna,Pelguranna,Põhja- Tallinn
+T09800,98,2098,Angerja,Sitsi,Põhja- Tallinn
+T09900,99,2099,Karjamaa,Karjamaa,Põhja- Tallinn
+T10000,100,2100,Rukki,Pelgulinn,Põhja- Tallinn
+T10100,101,2101,Härjapea,Pelgulinn,Põhja- Tallinn
+T10200,102,2102,Hipodroom,Pelgulinn,Põhja- Tallinn
+T10300,103,2103,Nisu,Pelgulinn,Põhja- Tallinn
+T10400,104,2104,Kungla,Kalamaja,Põhja- Tallinn
+T10500,105,2105,Volta,Kalamaja,Põhja- Tallinn
+T10600,106,2106,Volta,Kalamaja,Põhja- Tallinn
+T10700,107,2107,Volta,Kalamaja,Põhja- Tallinn
+T10800,108,2108,Lennusadama,Kalamaja,Põhja- Tallinn
+T10900,109,2109,Kalamaja 1,Kalamaja,Põhja- Tallinn
+T11000,110,2110,Kalamaja 2,Kalamaja,Põhja- Tallinn
+T11100,111,2111,Linnahall,Kalamaja,Põhja- Tallinn
+T11200,112,2112,Kalamaja,Kalamaja,Põhja- Tallinn
+T11300,113,2113,Telliskivi,Kalamaja,Põhja- Tallinn
+T11400,114,2114,Kelmiküla,Kelmiküla,Põhja- Tallinn
+T11500,115,2115,Tehnika,Kassisaba,Kesklinn
+T11600,116,2116,Hirvepark,Vanalinn,Kesklinn
+T11700,117,2117,Balti jaam,Kelmiküla,Põhja- Tallinn
+T11800,118,2118,Tornide väljak,Vanalinn,Kesklinn
+T11900,119,2119,Mere puiestee,Vanalinn,Kesklinn
+T12000,120,2120,Toompea,Vanalinn,Kesklinn
+T12100,121,2121,Vabaduse väljak,Vanalinn,Kesklinn
+T12200,122,2122,Endla,Kassisaba,Kesklinn
+T12300,123,2123,Koidu,Kassisaba,Kesklinn
+T12400,124,2124,Uus maailm,Uus Maailm,Kesklinn
+T12500,125,2125,Vineeri,Uus Maailm,Kesklinn
+T12600,126,2126,Tõnismäe,Tõnismäe,Kesklinn
+T12700,127,2127,Roosikrantsi,Tõnismäe,Kesklinn
+T12800,128,2128,Tatari,Tatari,Kesklinn
+T12900,129,2129,Veerenni,Veerenni,Kesklinn
+T13000,130,2130,Trammidepoo,Veerenni,Kesklinn
+T13101,13101,2131,Vaikne park,Veerenni,Kesklinn
+T13102,13102,2131,Vaikne park,Juhkentali,Kesklinn
+T13200,132,2132,Siselinna kalmistu,Juhkentali,Kesklinn
+T13300,133,2133,Liivalaia,Veerenni,Kesklinn
+T13400,134,2134,Tiigiveski park,Veerenni,Kesklinn
+T13501,135,2135,Keldrimäe,Sibulaküla,Kesklinn
+T13502,135,2135,Keldrimäe,Keldrimäe,Kesklinn
+T13600,136,2136,Vabaduse väljak,Südalinn,Kesklinn
+T13700,137,2137,Maakri,Maakri,Kesklinn
+T13800,138,2138,Kaubamaja,Südalinn,Kesklinn
+T13900,139,2139,Kompassi,Kompassi,Kesklinn
+T14000,140,2140,Hobujaama,Sadama,Kesklinn
+T14100,141,2141,Keskturg,Keldrimäe,Kesklinn
+T14200,142,2142,Autobussijaam,Keldrimäe,Kesklinn
+T14300,143,2143,Juhkentali,Juhkentali,Kesklinn
+T14400,144,2144,Luite,Ülemiste järv,Kesklinn
+T14500,145,2145,Veepuhastusjaam,Ülemiste järv,Kesklinn
+T14601,14601,2146,Sikupilli,Sikupilli,Lasnamäe
+T14602,14602,2146,Sikupilli,Sikupilli,Lasnamäe
+T14700,147,2147,Pae,Sikupilli,Lasnamäe
+T14800,148,2148,Ülemiste keskus,Ülemiste,Lasnamäe
+T14900,149,2149,Lennujaam,Ülemiste,Lasnamäe
+T15001,15001,2150,Mõigu,Ülemiste järv,Kesklinn
+T15002,15002,2150,Mõigu,Mõigu,Kesklinn
+T15100,151,2151,Pae järv,Sikupilli,Lasnamäe
+T15200,152,2152,Pae park,Sikupilli,Lasnamäe
+T15300,153,2153,Uus-Pae,Pae,Lasnamäe
+T15400,154,2154,Liikuri,Kurepõllu,Lasnamäe
+T15500,155,2155,Uuslinn,Uuslinn,Lasnamäe
+T15601,15601,2156,Oru,Kadriorg,Kesklinn
+T15602,15602,2156,Oru,Kadriorg,Kesklinn
+T15700,157,2157,Kadrioru park,Kadriorg,Kesklinn
+T15800,158,2158,J. Poska,Kadriorg,Kesklinn
+T15900,159,2159,Kadriorg,Kadriorg,Kesklinn
+T16000,160,2160,Uus-Sadama,Sadama,Kesklinn
+T16100,161,2161,Ülikooli,Raua,Kesklinn
+T16200,162,2162,D-terminal,Sadama,Kesklinn
+T16300,163,2163,Reisisadam,Sadama,Kesklinn
+T16400,164,2164,Lasnamägi,Kurepõllu,Lasnamäe
+T16500,165,2165,Maarjamägi,Kadriorg,Kesklinn
+T16601,16601,2166,Paevälja,Loopealse,Lasnamäe
+T16602,16602,2166,Paevälja,Paevälja,Lasnamäe
+T16700,167,2167,Vana-Kuuli,Paevälja,Lasnamäe
+T16800,168,2168,Kotka Kauplus,Laagna,Lasnamäe
+T16901,169,2169,Laagna,Laagna,Lasnamäe
+T16902,169,2169,Laagna,Laagna,Lasnamäe
+T17001,17001,2170,Ülemiste,Ülemiste,Lasnamäe
+T17002,17002,2170,Ülemiste,Ülemiste,Lasnamäe
+T17101,17101,2171,Vesse,Sõjamäe,Lasnamäe
+T17102,17102,2171,Vesse,Sõjamäe,Lasnamäe
+T17200,172,2172,Kesk-Sõjamäe,Ülemiste,Lasnamäe
+T17301,17301,2173,Suur-Sõjamäe,Sõjamäe,Lasnamäe
+T17302,17302,2173,Suur-Sõjamäe,Sõjamäe,Lasnamäe
+T17400,174,2174,Raudbetooni,Sõjamäe,Lasnamäe
+T17501,17501,2175,Betooni põik,Sõjamäe,Lasnamäe
+T17502,17502,2175,Betooni põik,Sõjamäe,Lasnamäe
+T17601,17601,2176,Gaasi,Sõjamäe,Lasnamäe
+T17602,17602,2176,Gaasi,Sõjamäe,Lasnamäe
+T17701,17701,2177,Pinna,Sõjamäe,Lasnamäe
+T17702,17702,2177,Pinna,Sõjamäe,Lasnamäe
+T17800,178,2178,Loitsu,Laagna,Lasnamäe
+T17900,179,2179,Katleri,Katleri,Lasnamäe
+T18000,180,2180,Mereakadeemia,Tondiraba,Lasnamäe
+T18100,181,2181,Tähesaju tee,Tondiraba,Lasnamäe
+T18200,182,2182,Tondiraba,Tondiraba,Lasnamäe
+T18301,18301,2183,Pikamägi,Sõjamäe,Lasnamäe
+T18302,18302,2183,Pikamägi,Väo,Lasnamäe
+T18401,18401,2184,Paneeli,Sõjamäe,Lasnamäe
+T18402,18402,2184,Paneeli,Väo,Lasnamäe
+T18500,185,2185,Väo karjäär,Väo,Lasnamäe
+T18600,186,2186,Väo 2,Väo,Lasnamäe
+T18700,187,2187,Raadiku,Mustakivi,Lasnamäe
+T18800,188,2188,Ümera,Seli,Lasnamäe
+T18900,189,2189,Seli,Seli,Lasnamäe
+T19000,190,2190,Mustakivi,Mustakivi,Lasnamäe
+T19100,191,2191,Priisle,Seli,Lasnamäe
+T19200,192,2192,Iru Hooldekodu,Priisle,Lasnamäe
+T19300,193,2193,Reinumägi,Priisle,Lasnamäe
+T19400,194,2194,Priisle kauplus,Priisle,Lasnamäe
+T19500,195,2195,Kuristiku,Kuristiku,Lasnamäe
+T19600,196,2196,Läänemere tee,Kuristiku,Lasnamäe
+T19700,197,2197,Lillepi,Maarjamäe,Pirita
+T19801,19801,2198,Maarjamäe,Kose,Pirita
+T19802,19802,2198,Maarjamäe,Maarjamäe,Pirita
+T19900,199,2199,Lükati tee,Kose,Pirita
+T20000,200,2200,Rummu,Pirita,Pirita
+T20100,201,2201,Metsakooli,Kose,Pirita
+T20200,202,2202,Vabaõhukooli,Kose,Pirita
+T20300,203,2203,Helmiku tee,Kose,Pirita
+T20400,204,2204,Pirita,Pirita,Pirita
+T20500,205,2205,Pirita rand,Mähe,Pirita
+T20601,20601,2206,Merivälja,Merivälja,Pirita
+T20602,20602,2206,Merivälja,Mähe,Pirita
+T20701,20701,2207,Metsakalmistu,Kloostrimetsa,Pirita
+T20702,20702,2207,Metsakalmistu,Kloostrimetsa,Pirita
+T20800,208,2208,Mähe,Mähe,Pirita
+T20900,209,2209,Merivälja pansion,Merivälja,Pirita
+T21001,21001,2210,Laiakküla,Iru,Pirita
+T21002,21002,2210,Laiakküla,Laiaküla,Pirita
+T21101,21101,2211,Teletorn,Lepiku,Pirita
+T21102,21102,2211,Teletorn,Laiaküla,Pirita
+T21200,212,2212,Lepiku,Lepiku,Pirita
+T21301,21301,2213,Mähe,Mähe,Pirita
+T21302,21302,2213,Mähe,Mähe,Pirita
+T21400,214,2214,Sõudebaasi,Pikaliiva,Haabersti
+T21500,215,2215,Sireli,Pääsküla,Nõmme
+T21600,216,2216,Gonsiori,Raua,Kesklinn
+T21700,217,2217,Laulupeo,Raua,Kesklinn
+T21800,218,2218,Ülemiste järv,Ülemiste järv,Kesklinn
+T21900,219,2219,Harku järv,Pikaliiva,Haabersti
+T22000,220,2220,Harku järv,Pikaliiva,Haabersti

+ 269 - 0
inst/tallinna_transporditsoonid/tsoonide_pindalad.csv

@@ -0,0 +1,269 @@
+tsoon,pindala
+T00101,671179
+T00102,840625
+T00200,882664
+T00301,1395899
+T00302,907353
+T00400,1270539
+T00500,1296290
+T00601,848398
+T00602,392326
+T00700,855061
+T00801,413583
+T00802,1065794
+T00900,148597
+T01000,282204
+T01100,222854
+T01200,355157
+T01300,657854
+T01400,232067
+T01500,242457
+T01600,389290
+T01700,443671
+T01800,642891
+T01900,1070403
+T02001,1107219
+T02002,1285401
+T02100,701872
+T02200,511462
+T02300,470743
+T02400,361268
+T02600,485526
+T02700,295007
+T02800,247125
+T02900,702352
+T03000,546792
+T03100,663740
+T03200,393459
+T03300,502765
+T03400,245848
+T03500,288299
+T03600,403580
+T03700,481192
+T03801,960297
+T03802,584522
+T03900,561916
+T04000,1203998
+T04100,525819
+T04200,859046
+T04300,978364
+T04400,1007944
+T04500,438564
+T04600,453434
+T04700,652545
+T04800,931863
+T04900,471357
+T05001,307290
+T05002,903611
+T05100,566607
+T05201,271470
+T05202,560164
+T05301,1819945
+T05302,758720
+T05401,157406
+T05402,326259
+T05403,415943
+T05404,606802
+T05500,554409
+T05600,719973
+T05700,690000
+T05801,478687
+T05802,400058
+T05803,479707
+T05901,662635
+T05902,479501
+T06001,229028
+T06002,468924
+T06101,1444579
+T06102,1129582
+T06200,1303930
+T06301,1457656
+T06302,986366
+T06400,998355
+T06500,592021
+T06600,361343
+T06700,285970
+T06800,876820
+T06901,441437
+T06902,418305
+T07001,351555
+T07002,439595
+T07100,297644
+T07200,420298
+T07301,696858
+T07302,179349
+T07400,541806
+T07501,401391
+T07502,273894
+T07701,415802
+T07702,249996
+T07801,601459
+T07802,326600
+T07900,452283
+T08000,446862
+T08101,159885
+T08102,255207
+T08201,471911
+T08202,281308
+T08300,574844
+T08400,768691
+T08500,735038
+T08600,578842
+T08700,771921
+T08800,480837
+T08900,1236220
+T09000,458875
+T09100,839132
+T09201,564243
+T09202,397882
+T09301,757617
+T09302,744529
+T09401,897347
+T09402,845179
+T09500,275018
+T09600,344268
+T09700,698810
+T09800,347233
+T09900,964878
+T10000,556834
+T10100,806921
+T10200,437219
+T10300,400226
+T10400,158412
+T10500,191492
+T10600,160131
+T10700,211287
+T10800,324024
+T10900,216897
+T11000,191259
+T11100,237624
+T11200,157899
+T11300,186297
+T11400,144468
+T11500,149390
+T11600,223350
+T11700,137404
+T11800,223324
+T11900,290280
+T12000,111683
+T12100,163707
+T12200,176213
+T12300,258515
+T12400,241877
+T12500,287111
+T12600,107416
+T12700,89450
+T12800,109552
+T12900,157764
+T13000,342730
+T13101,280545
+T13102,164894
+T13200,360319
+T13300,126825
+T13400,187387
+T13501,131213
+T13502,323694
+T13600,97930
+T13700,162703
+T13800,174590
+T13900,156522
+T14000,181922
+T14100,231716
+T14200,263614
+T14300,348591
+T14400,1680941
+T14500,593790
+T14601,294954
+T14602,192846
+T14700,513792
+T14800,548924
+T14900,533536
+T15001,249383
+T15002,612553
+T15100,596534
+T15200,336734
+T15300,563186
+T15400,275023
+T15500,283044
+T15601,370192
+T15602,429929
+T15700,530344
+T15800,291091
+T15900,267628
+T16000,354288
+T16100,235264
+T16200,328905
+T16300,577938
+T16400,334934
+T16500,403436
+T16601,416694
+T16602,812922
+T16700,414953
+T16800,305896
+T16901,412782
+T16902,383243
+T17001,469197
+T17002,294225
+T17101,395385
+T17102,610266
+T17200,1541594
+T17301,1094467
+T17302,741544
+T17400,844987
+T17501,309163
+T17502,698841
+T17601,424686
+T17602,521142
+T17701,407597
+T17702,416452
+T17800,429612
+T17900,414327
+T18000,354989
+T18100,511762
+T18200,565448
+T18301,194923
+T18302,668067
+T18401,478800
+T18402,456275
+T18500,2267708
+T18600,625865
+T18700,583741
+T18800,330703
+T18900,549421
+T19000,516311
+T19100,422256
+T19200,830865
+T19300,459381
+T19400,293577
+T19500,324153
+T19600,420566
+T19700,553998
+T19801,606657
+T19802,621158
+T19900,1012167
+T20000,663675
+T20100,626097
+T20200,640891
+T20300,557499
+T20400,959292
+T20500,807634
+T20601,827640
+T20602,485888
+T20701,2418513
+T20702,906880
+T20800,926961
+T20900,702678
+T21001,1556763
+T21002,578373
+T21101,537603
+T21102,541257
+T21200,1043513
+T21301,579305
+T21302,696096
+T21400,783202
+T21500,689048
+T21600,174281
+T21700,301330
+T21800,11002068
+T21900,73532
+T22000,1605424

+ 45 - 0
man/gtfs.Rd

@@ -0,0 +1,45 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/gtfs.R
+\name{gtfs}
+\alias{gtfs}
+\title{GTFS - maanteeameti ühistranspordi andmed}
+\usage{
+gtfs(conf = NULL)
+}
+\arguments{
+\item{conf}{A list() of configuration variables. Default values \code{\link[ruut]{get_config}}.}
+}
+\value{
+No output.
+}
+\description{
+General Transit Feed Specification (GTFS). Source: \url{http://peatus.ee/gtfs/}. Ühistranspordiregistri avaandmed sisaldavad lihtsustatud struktuuri andmekoosseisuga väljavõtet Riiklikku Ühistranspordiregistrisse kantud andmetest, mis hõlmavad siseriiklikult käigus olevate ühistranspordiliinide kirjeldusi, sõidugraafikuid ja peatuste asukohtasid.\url{https://www.mnt.ee/et/uhistransport/uhistranspordi-infosusteem} Funktsioon impordib gtfs andmestiku importimine andmebaasi.
+}
+\details{
+Ühistranspordiregistri avaandmete andmefailid:
+\itemize{
+\item agency.txt
+\item calendar.txt
+\item calendar_dates.txt
+\item feed_info.txt
+\item routes.txt
+\item stop_times.txt
+\item stops.txt
+\item trips.txt
+}
+}
+\examples{
+## Not run:
+##
+## gtfs()
+##
+## End(**Not run**)
+}
+\seealso{
+\code{\link[ruut:get_config]{ruut::get_config()}}, \code{\link[ruut:copy_shp_to_db]{ruut::copy_shp_to_db()}}
+}
+\keyword{ESRI}
+\keyword{OSM}
+\keyword{Shpfile,}
+\keyword{maps,}
+\keyword{postgis,}