From a13ebf6ff37c3d86c41e6618a06affa7b9756dff Mon Sep 17 00:00:00 2001 From: csuyat-dot Date: Mon, 25 Nov 2024 23:59:47 +0000 Subject: [PATCH] merged 2 tables to find agencies that meet section G criteria. cleaned up notebook cells and formatting --- ntd/proposed_changes_25-26.ipynb | 1268 ++++++++++++++++++++++++------ 1 file changed, 1014 insertions(+), 254 deletions(-) diff --git a/ntd/proposed_changes_25-26.ipynb b/ntd/proposed_changes_25-26.ipynb index 2b60e7807..742e19f11 100644 --- a/ntd/proposed_changes_25-26.ipynb +++ b/ntd/proposed_changes_25-26.ipynb @@ -51,7 +51,6 @@ "cell_type": "markdown", "id": "afdfd59c-d9c1-4d48-b6e4-55e9af08be29", "metadata": { - "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ @@ -97,7 +96,10 @@ { "cell_type": "markdown", "id": "70b0e807-80d6-49d7-bad3-eb2df8b7663b", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, "source": [ "### Notes from Proposed Changes document\n", "\n", @@ -155,14 +157,19 @@ "Sections G concerns changing rural operators with full reporter responsibilities to be reduced reporters. FTA aims to decrease the reporting burden, but this change affects an estimated 10-15 operators. going from full reporter to reduced reporters would mean the operator does not need to report data related to passenger miles or monthly service or safety stats\n", "\n", "\n", - "\n", - "---\n", - "\n", "Section H proposes a change to the NTD reporting platform to include a field that identify Voluntary reporters. This slightly increases the reporting burden for all NTD reporters. Sections E and F may conditionally increase the reporting burden for some operators, if the operator experiences cyber security or safety events. Finally, Section D slightly incresses the reporting burden by proposing new categories in to A-20 form.\n", "\n", "\n" ] }, + { + "cell_type": "markdown", + "id": "fb1166dc-1a56-40dd-98d5-708484c9b009", + "metadata": {}, + "source": [ + "---" + ] + }, { "cell_type": "markdown", "id": "97f07bb1-4fd2-4ad0-bb65-2419928d5326", @@ -183,7 +190,8 @@ "id": "d96201a0-75f0-4d6e-b9fb-26d6849e428d", "metadata": {}, "source": [ - "### Understanding the difference between urban Full Reporters and urban Reduced Reporters\n", + "### Understanding the difference between urban Full Reporters and urban Reduced Reporters\n", + "\n", "Per NTD reporting manual\n", ">Full Reporters must provide the Annual Report, as well as Monthly Ridership (MR) and monthly Safety and Security reports. All other reporter types file their reports on an annual basis.\n", "\n", @@ -224,18 +232,46 @@ "1. S&S-60 Safety Data Form\n", "2. Reduced Reporting Form (Form RR-20)\n", "3. Transit Asset Management Performance Measure Targets (Form A-90)\n", - "---\n", - "So if an operator, under this proposed change, goes from Full to Reduced reporter, we can expect to miss data from 11 forms. However, those unique forms dont look familar in the ntd validation report pipeline so im unsure what kind of impact the data science branch would see.\n", + "---\n" + ] + }, + { + "cell_type": "markdown", + "id": "15a76a53-1c43-4feb-994e-978bf7223578", + "metadata": {}, + "source": [ + "### FTAs proposed solution for these rural operator, full reporters\n", "\n", - "Will need to see if theres equivilant forms between Full and Reduced reporters that report similar data but in different forms." + ">FTA proposes a waiver process in which reporters that predominantly serve rural areas may request an exemption from filing as a Full Reporter. Effectively, this would mean that operators receiving the waiver would report as Reduced Reporters instead.\n", + ">\n", + ">FTA proposes to use data from the most recent year's validated and accepted data to evaluate eligibility for this waiver, and FTA would grant the waiver if each of the above criteria are met. Based on current available data, **FTA estimates that approximately 10-15 agencies would be eligible for this waiver.**\n", + ">\n", + ">FTA would automatically identify agencies that qualify for this waiver ... All eligible reporters then would be presented with the option to request the waiver annually during the Report Year Kick-Off (RYKO) process\n", + "\n" ] }, { "cell_type": "markdown", - "id": "8cf55bc0-8bfc-451f-a663-5dbe44a14c81", + "id": "9cac279c-0075-4c2f-83e8-7acf9e289fd4", "metadata": {}, "source": [ - "### Query the warehouse to get find all the reporters that meet Sec G criteria\n", + "## Comments for Area 2\n", + "\n", + "If an operator, under this proposed change, goes from Full to Reduced reporter, we can expect to miss data from 11 forms. However, those unique forms dont look familar in the ntd validation report pipeline so im unsure what kind of impact the data science branch would see.\n", + "\n", + "Will need to see if theres equivilant forms between Full and Reduced reporters that report similar data but in different forms.\n", + "\n", + "FTA's method for presenting elibible reporters of the waiver process seem a little unclear. I assume FTA will notify only the reporters that meet all the criteria in section G, and NOT all reporters. " + ] + }, + { + "cell_type": "markdown", + "id": "8cf55bc0-8bfc-451f-a663-5dbe44a14c81", + "metadata": { + "tags": [] + }, + "source": [ + "### Query the warehouse to get find all the reporters that meet Sec G criteria\n", "\n", "Sec G criteria:\n", "- Receives funding under 49 U.S.C. `5311`,\n", @@ -252,7 +288,7 @@ "tags": [] }, "source": [ - "### Any operators that operate in more than 1 UZA?" + "#### Identify Agencies that meet Section G criteria" ] }, { @@ -262,12 +298,14 @@ "tags": [] }, "source": [ - "#### dim_annual_funding_sources" + "##### dim_annual_funding_sources\n", + "- for 5311 agencies (rural operators)\n", + "- Also has UZA and VOMS" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 62, "id": "fc8f9407-af22-4805-bb0e-571cb7acd495", "metadata": {}, "outputs": [ @@ -277,39 +315,22 @@ "text": [ "\n", "RangeIndex: 134 entries, 0 to 133\n", - "Data columns (total 28 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 funding_source 134 non-null object \n", - " 1 agency 134 non-null object \n", - " 2 agency_voms 134 non-null float64\n", - " 3 city 134 non-null object \n", - " 4 fuel_tax 0 non-null object \n", - " 5 fta_capital_program_5309 134 non-null float64\n", - " 6 fta_rural_progam_5311 134 non-null float64\n", - " 7 fta_urbanized_area_formula 134 non-null float64\n", - " 8 general_funds 0 non-null object \n", - " 9 income_tax 0 non-null object \n", - " 10 ntd_id 134 non-null object \n", - " 11 organization_type 134 non-null object \n", - " 12 other_dot_funds 134 non-null float64\n", - " 13 other_federal_funds 134 non-null float64\n", - " 14 other_fta_funds 134 non-null float64\n", - " 15 other_funds 0 non-null object \n", - " 16 other_taxes 0 non-null object \n", - " 17 primary_uza_population 134 non-null float64\n", - " 18 property_tax 0 non-null object \n", - " 19 reduced_reporter_funds 0 non-null object \n", - " 20 report_year 134 non-null object \n", - " 21 reporter_type 134 non-null object \n", - " 22 sales_tax 0 non-null object \n", - " 23 state 134 non-null object \n", - " 24 tolls 0 non-null object \n", - " 25 transportation_funds 0 non-null object \n", - " 26 primary_uza_code 134 non-null object \n", - " 27 primary_uza_name 134 non-null object \n", - "dtypes: float64(8), object(20)\n", - "memory usage: 29.4+ KB\n" + "Data columns (total 11 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 funding_source 134 non-null object \n", + " 1 agency 134 non-null object \n", + " 2 agency_voms 134 non-null float64\n", + " 3 fta_rural_progam_5311 134 non-null float64\n", + " 4 ntd_id 134 non-null object \n", + " 5 organization_type 134 non-null object \n", + " 6 primary_uza_population 134 non-null float64\n", + " 7 report_year 134 non-null object \n", + " 8 reporter_type 134 non-null object \n", + " 9 primary_uza_code 134 non-null object \n", + " 10 primary_uza_name 134 non-null object \n", + "dtypes: float64(3), object(8)\n", + "memory usage: 11.6+ KB\n" ] } ], @@ -318,35 +339,30 @@ "ntd_funding_sources = (tbls.mart_ntd.dim_annual_funding_sources()\n", " >> filter(_.report_year == \"2023\",\n", " _.fta_rural_progam_5311 > 0,\n", - " _.reporter_type == \"Full Reporter\"\n", + " _.reporter_type == \"Full Reporter\",\n", + " _.primary_uza_code is not None\n", " )\n", " >> collect()\n", " )\n", + "\n", + "keep_cols_0=[\n", + " \"funding_source\",\n", + " \"agency\",\n", + " \"agency_voms\",\n", + " \"fta_rural_progam_5311\",\n", + " \"ntd_id\",\n", + " \"organization_type\",\n", + " \"primary_uza_population\",\n", + " \"report_year\",\n", + " \"reporter_type\",\n", + " \"primary_uza_code\",\n", + " \"primary_uza_name\"\n", + "]\n", + "\n", + "ntd_funding_sources = ntd_funding_sources[keep_cols_1]\n", "ntd_funding_sources.info()" ] }, - { - "cell_type": "code", - "execution_count": 20, - "id": "f18b8c63-6052-4849-b1be-721a5cf54ecf", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Full Reporter 134\n", - "Name: reporter_type, dtype: int64" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ntd_funding_sources[\"reporter_type\"].value_counts()" - ] - }, { "cell_type": "markdown", "id": "28e56afc-2d63-43a6-871b-b6554035ed7e", @@ -354,12 +370,13 @@ "tags": [] }, "source": [ - "#### dim_annual_service_agencies" + "##### dim_annual_service_agencies\n", + "- for UZA, VOMS and VRM" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 63, "id": "cf4cc544-785a-4476-bdda-9019e6a5e6de", "metadata": {}, "outputs": [ @@ -368,239 +385,951 @@ "output_type": "stream", "text": [ "\n", - "RangeIndex: 2201 entries, 0 to 2200\n", - "Data columns (total 36 columns):\n", - " # Column Non-Null Count Dtype \n", - "--- ------ -------------- ----- \n", - " 0 key 2201 non-null object \n", - " 1 report_year 2201 non-null object \n", - " 2 ntd_id 2201 non-null object \n", - " 3 agency 2201 non-null object \n", - " 4 reporter_type 2201 non-null object \n", - " 5 organization_type 2201 non-null object \n", - " 6 city 2173 non-null object \n", - " 7 state 2201 non-null object \n", - " 8 agency_voms 2201 non-null float64\n", - " 9 primary_uza_code 1089 non-null float64\n", - " 10 primary_uza_name 1089 non-null object \n", - " 11 primary_uza_area_sq_miles 2201 non-null object \n", - " 12 primary_uza_population 1089 non-null float64\n", - " 13 service_area_sq_miles 1059 non-null float64\n", - " 14 service_area_population 1060 non-null float64\n", - " 15 actual_vehicles_passenger_car_deadhead_hours 2201 non-null float64\n", - " 16 actual_vehicles_passenger_car_hours 2201 non-null float64\n", - " 17 actual_vehicles_passenger_car_miles 2201 non-null float64\n", - " 18 actual_vehicles_passenger_car_revenue_hours 2201 non-null float64\n", - " 19 actual_vehicles_passenger_car_revenue_miles 2201 non-null float64\n", - " 20 actual_vehicles_passenger_deadhead_miles 2201 non-null float64\n", - " 21 scheduled_vehicles_passenger_car_revenue_miles 2201 non-null float64\n", - " 22 charter_service_hours 380 non-null float64\n", - " 23 school_bus_hours 357 non-null float64\n", - " 24 trains_in_operation 2201 non-null float64\n", - " 25 directional_route_miles 2201 non-null float64\n", - " 26 passenger_miles 2201 non-null float64\n", - " 27 train_miles 2201 non-null float64\n", - " 28 train_revenue_miles 2201 non-null float64\n", - " 29 train_deadhead_miles 79 non-null float64\n", - " 30 train_hours 2201 non-null float64\n", - " 31 train_revenue_hours 2201 non-null float64\n", - " 32 train_deadhead_hours 79 non-null float64\n", - " 33 ada_upt 382 non-null float64\n", - " 34 sponsored_service_upt 1741 non-null float64\n", - " 35 unlinked_passenger_trips_upt 2201 non-null float64\n", - "dtypes: float64(26), object(10)\n", - "memory usage: 619.2+ KB\n" + "RangeIndex: 65 entries, 0 to 64\n", + "Data columns (total 13 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 key 65 non-null object \n", + " 1 report_year 65 non-null object \n", + " 2 ntd_id 65 non-null object \n", + " 3 agency 65 non-null object \n", + " 4 reporter_type 65 non-null object \n", + " 5 organization_type 65 non-null object \n", + " 6 city 65 non-null object \n", + " 7 state 65 non-null object \n", + " 8 agency_voms 65 non-null float64\n", + " 9 primary_uza_code 63 non-null float64\n", + " 10 primary_uza_name 63 non-null object \n", + " 11 primary_uza_population 63 non-null float64\n", + " 12 actual_vehicles_passenger_car_revenue_miles 65 non-null float64\n", + "dtypes: float64(4), object(9)\n", + "memory usage: 6.7+ KB\n" ] } ], "source": [ - "# Has UZA, VRM and VOMS. No 5311 funds\n", + "# Has UZA, VRM and VOMS. \n", + "\n", "ntd_service_agencies = (tbls.mart_ntd.dim_annual_service_agencies ()\n", " >> filter(_.report_year == \"2023\",\n", - " _.agency_voms > 30\n", + " _.agency_voms > 30,\n", + " _.state == \"CA\",\n", + " _.primary_uza_code is not None\n", " )\n", " >> collect()\n", " )\n", + "\n", + "keep_col_1 =[\n", + " \"key\",\n", + " \"report_year\",\n", + " \"ntd_id\",\n", + " \"agency\",\n", + " \"reporter_type\",\n", + " \"organization_type\",\n", + " \"city\",\n", + " \"state\",\n", + " \"agency_voms\",\n", + " \"primary_uza_code\",\n", + " \"primary_uza_name\",\n", + " \"primary_uza_population\",\n", + " \"actual_vehicles_passenger_car_revenue_miles\"\n", + "]\n", + "\n", + "ntd_service_agencies = ntd_service_agencies[keep_col_1]\n", + "\n", "ntd_service_agencies.info()" ] }, - { - "cell_type": "code", - "execution_count": 8, - "id": "702e1dba-17a5-4364-a5c5-0c04955f9fab", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "City, County or Local Government Unit or Department of Transportation 1103\n", - "Independent Public Agency or Authority of Transit Service 422\n", - "Private-Non-Profit Corporation 358\n", - "Tribe 113\n", - "MPO, COG or Other Planning Agency 63\n", - "Area Agency on Aging 43\n", - "State Government Unit or Department of Transportation 27\n", - "Private-For-Profit Corporation 23\n", - "University 20\n", - "Other Publicly-Owned or Privately Chartered Corporation 15\n", - "Private Provider Reporting on Behalf of a Public Entity 7\n", - "Subsidiary Unit of a Transit Agency, Reporting Separately 7\n", - "Name: organization_type, dtype: int64" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ntd_service_agencies.organization_type.value_counts()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "2901be3a-5c7f-4eaa-a45c-509d32bef198", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "ntd_id\n", - "1 1\n", - "44907 1\n", - "80302 1\n", - "80303 1\n", - "85 1\n", - "Name: primary_uza_name, dtype: int64" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ntd_service_agencies.groupby(\"ntd_id\")[\"primary_uza_name\"].nunique().sort_values(ascending=False).head()" - ] - }, { "cell_type": "markdown", - "id": "80ff21e9-de8b-4dc4-b431-0a57f3919308", - "metadata": { - "tags": [] - }, - "source": [ - "#### dim_annual_ntd_agency_information" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "20505f79-5721-4789-b10a-61bbdbb57b9e", + "id": "6680f16e-0074-45a1-a15e-d0c49278b59f", "metadata": {}, - "outputs": [], "source": [ - "# has UZA data for operator\n", - "\n", - "#ntd_agency_info = (tbls.mart_ntd.dim_annual_ntd_agency_information()\n", - "# >> filter(_._is_current == True,\n", - "# _.year == 2022\n", - "# )\n", - "# >> collect()\n", - "# )" + "##### Merge dataframes to get 5311 agencies in CA with >30 VOMS with UZA names" ] }, { "cell_type": "code", - "execution_count": null, - "id": "1fac9f3a-3bd9-4c4c-9f83-86002a1e56f8", + "execution_count": 74, + "id": "da7fcca3-3d8e-43ec-875e-1aefffb27f63", "metadata": {}, "outputs": [], "source": [ - "#ntd_agency_info.info()" + "on_list =[\n", + " \"report_year\",\n", + " \"agency\",\n", + " \"reporter_type\",\n", + " \"organization_type\",\n", + " \"organization_type\",\n", + " \"agency_voms\",\n", + " \"primary_uza_name\",\n", + " \"ntd_id\",\n", + " \"primary_uza_population\"\n", + "]\n", + "merge = ntd_service_agencies.merge(\n", + " ntd_funding_sources, \n", + " how=\"inner\", \n", + " on= on_list, \n", + " indicator=True )" ] }, { "cell_type": "code", - "execution_count": null, - "id": "31591169-cdb1-45db-880a-6cdbcc013fb2", + "execution_count": 75, + "id": "3b5a9740-fecb-4d59-9765-bbbe7f5566fe", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Int64Index: 26 entries, 0 to 25\n", + "Data columns (total 17 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 key 26 non-null object \n", + " 1 report_year 26 non-null object \n", + " 2 ntd_id 26 non-null object \n", + " 3 agency 26 non-null object \n", + " 4 reporter_type 26 non-null object \n", + " 5 organization_type 26 non-null object \n", + " 6 city 26 non-null object \n", + " 7 state 26 non-null object \n", + " 8 agency_voms 26 non-null float64 \n", + " 9 primary_uza_code_x 26 non-null float64 \n", + " 10 primary_uza_name 26 non-null object \n", + " 11 primary_uza_population 26 non-null float64 \n", + " 12 actual_vehicles_passenger_car_revenue_miles 26 non-null float64 \n", + " 13 funding_source 26 non-null object \n", + " 14 fta_rural_progam_5311 26 non-null float64 \n", + " 15 primary_uza_code_y 26 non-null object \n", + " 16 _merge 26 non-null category\n", + "dtypes: category(1), float64(5), object(11)\n", + "memory usage: 3.6+ KB\n" + ] + } + ], "source": [ - "#ntd_agency_info.groupby(\"ntd_id\")[\"uza_name\"].nunique().sort_values(ascending=False).head()" + "merge.info()" ] }, { "cell_type": "markdown", - "id": "623ce1ce-bb7a-450a-b139-6f2cf6ac375b", - "metadata": { - "tags": [] - }, - "source": [ - "#### dim_annual_service_mode_time_periods" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ae899649-d9fa-4652-884b-f8912a768ff1", + "id": "8b683dcd-ad9e-4157-a079-d74c9394a460", "metadata": {}, - "outputs": [], "source": [ - "#ntd_service_mode = (tbls.mart_ntd.dim_annual_service_mode_time_periods()\n", - "# >> filter(_.report_year == \"2023\",\n", - "# # _.year == 2022\n", - "# )\n", - "# >> collect()\n", - "# )\n", - "#ntd_service_mode.info()" + "##### Who are the agencies that match Section G Critera?" ] }, { "cell_type": "code", - "execution_count": null, - "id": "9373a629-6506-4dcd-af77-c068947bd017", + "execution_count": 76, + "id": "702e1dba-17a5-4364-a5c5-0c04955f9fab", "metadata": {}, - "outputs": [], - "source": [ - "#ntd_service_mode.groupby(\"ntd_id\")[\"primary_uza_code\"].nunique().sort_values(ascending=True).head()" - ] - }, - { - "cell_type": "markdown", - "id": "424fa017-17db-4bf9-8456-db7036fb656e", - "metadata": { - "tags": [] - }, + "outputs": [ + { + "data": { + "text/plain": [ + "The Eastern Contra Costa Transit Authority, dba: Tri Delta Transit 1\n", + "Santa Cruz Metropolitan Transit District 1\n", + "San Joaquin Regional Transit District, dba: San Joaquin RTD 1\n", + "Kings County Area Public Transit Agency 1\n", + "San Luis Obispo Regional Transit Authority 1\n", + "Butte County Association of Governments, dba: Butte Regional Transit/B-Line 1\n", + "County of Sonoma , dba: Sonoma County Transit 1\n", + "Napa Valley Transportation Authority 1\n", + "Santa Clara Valley Transportation Authority, dba: Valley Transportation Authority 1\n", + "Livermore / Amador Valley Transit Authority 1\n", + "Antelope Valley Transit Authority 1\n", + "Monterey-Salinas Transit 1\n", + "Transit Joint Powers Authority for Merced County, dba: Merced The Bus 1\n", + "Victor Valley Transit Authority 1\n", + "County of Placer, dba: Placer County Transit/TART 1\n", + "Yolo County Transportation District 1\n", + "North County Transit District 1\n", + "San Diego Metropolitan Transit System 1\n", + "SunLine Transit Agency, dba: SunLine 1\n", + "Stanislaus Regional Transit Authority 1\n", + "Marin County Transit District, dba: Marin Transit 1\n", + "San Mateo County Transit District, dba: SamTrans 1\n", + "Ventura County Transportation Commission 1\n", + "Tulare County Regional Transit Agency 1\n", + "City of Visalia , dba: Visalia Transit 1\n", + "Riverside Transit Agency 1\n", + "Name: agency, dtype: int64" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#### dim_monthly_ridership_with_adjustments" + "merge[\"agency\"].value_counts()" ] }, { "cell_type": "code", - "execution_count": null, - "id": "b76deddb-d6f6-4305-8a92-66c2092b88ed", + "execution_count": 71, + "id": "7871860f-0ec7-4704-b577-c3279dc7ac53", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
keyreport_yearntd_idagencyreporter_typeorganization_typecitystateagency_vomsprimary_uza_code_xprimary_uza_nameprimary_uza_populationactual_vehicles_passenger_car_revenue_milesfunding_sourcefta_rural_progam_5311primary_uza_code_y_merge
07b92911062e8311df2aaefa803453213202390162The Eastern Contra Costa Transit Authority, db...Full ReporterIndependent Public Agency or Authority of Tran...AntiochCA98.02683.0Antioch, CA326205.03200288.0federal172914.02683.0both
1231d30a033adffad7c05ad22cdffc83a202390006Santa Cruz Metropolitan Transit DistrictFull ReporterIndependent Public Agency or Authority of Tran...Santa CruzCA93.079336.0Santa Cruz, CA169038.02975126.0federal263285.079336.0both
243d7e995716ec1e5bb708810a28f4ce2202390091City of Visalia , dba: Visalia TransitFull ReporterCity, County or Local Government Unit or Depar...VisaliaCA37.090946.0Visalia, CA160578.02197535.0federal491222.090946.0both
318a26ef2624bf2302b13c3da290e4a31202390310Tulare County Regional Transit AgencyFull ReporterIndependent Public Agency or Authority of Tran...VisaliaCA41.090946.0Visalia, CA160578.02105383.0federal3779135.090946.0both
40074aba1a1468f0ef01ba5bb8591f4ea202390164Ventura County Transportation CommissionFull ReporterIndependent Public Agency or Authority of Tran...CamarilloCA45.066673.0Oxnard--San Buenaventura (Ventura), CA376117.01618834.0federal390779.066673.0both
5c66136eb07990c683307924891da05a5202390009San Mateo County Transit District, dba: SamTransFull ReporterIndependent Public Agency or Authority of Tran...San CarlosCA331.078904.0San Francisco--Oakland, CA3515933.07793698.0federal783902.078904.0both
69011ecad1a04b79627d40c2e3ec4a918202390234Marin County Transit District, dba: Marin TransitFull ReporterIndependent Public Agency or Authority of Tran...San RafaelCA78.078904.0San Francisco--Oakland, CA3515933.03017303.0federal543303.078904.0both
72ee6240880777b119fcf8dd9da330af9202390306Stanislaus Regional Transit AuthorityFull ReporterIndependent Public Agency or Authority of Tran...ModestoCA102.058006.0Modesto, CA357301.04216882.0federal916161.058006.0both
8f34f1051a6c81d1a4149fb93da4ff392202390079SunLine Transit Agency, dba: SunLineFull ReporterIndependent Public Agency or Authority of Tran...Thousand PalmsCA82.041347.0Indio--Palm Desert--Palm Springs, CA361075.03938721.0federal1348953.041347.0both
99c81bfb86d1bbeaac2e00c6c0142c6cb202390026San Diego Metropolitan Transit SystemFull ReporterIndependent Public Agency or Authority of Tran...San DiegoCA774.078661.0San Diego, CA3070300.034095949.0federal878451.078661.0both
10732ac248345346f575122087bdbc3edd202390030North County Transit DistrictFull ReporterIndependent Public Agency or Authority of Tran...OceansideCA189.078661.0San Diego, CA3070300.08204114.0federal1665659.078661.0both
110129dd27f70c835fb794803cd65f48ce202390090Yolo County Transportation DistrictFull ReporterIndependent Public Agency or Authority of Tran...WoodlandCA40.077068.0Sacramento, CA1946618.01984049.0federal200210.077068.0both
12c99398cad6d9daad6b305d869ec1a780202390196County of Placer, dba: Placer County Transit/TARTFull ReporterCity, County or Local Government Unit or Depar...AuburnCA47.077068.0Sacramento, CA1946618.01920826.0federal1051362.077068.0both
132b062c505686f95e61a8714144a1758b202390148Victor Valley Transit AuthorityFull ReporterIndependent Public Agency or Authority of Tran...HesperiaCA277.090541.0Victorville--Hesperia--Apple Valley, CA355816.09070059.0federal1125644.090541.0both
1422c34fbd0b7d09bf89346cc62aad17d5202390173Transit Joint Powers Authority for Merced Coun...Full ReporterIndependent Public Agency or Authority of Tran...MercedCA45.056251.0Merced, CA150052.02027756.0federal1347802.056251.0both
15423019d2bdcac472b0cd1d81bc8380b7202390062Monterey-Salinas TransitFull ReporterIndependent Public Agency or Authority of Tran...MontereyCA165.080362.0Seaside--Monterey--Pacific Grove, CA123495.04249833.0federal2013121.080362.0both
16942e25509363518941fb783119b4d2ae202390121Antelope Valley Transit AuthorityFull ReporterIndependent Public Agency or Authority of Tran...LancasterCA86.067140.0Palmdale--Lancaster, CA359559.03530244.0federal2212409.067140.0both
1711e9e6577aa4afc22d4ed41b15e4479c202390144Livermore / Amador Valley Transit AuthorityFull ReporterIndependent Public Agency or Authority of Tran...LivermoreCA49.050533.0Livermore--Pleasanton--Dublin, CA240381.01328472.0federal106451.050533.0both
1891df0abfcbd3472d38a4224067582dc3202390013Santa Clara Valley Transportation Authority, d...Full ReporterIndependent Public Agency or Authority of Tran...San JoseCA512.079039.0San Jose, CA1837446.021779295.0federal380553.079039.0both
1906b3bf7a35f002aa4ed531265a0b63eb202390088Napa Valley Transportation AuthorityFull ReporterIndependent Public Agency or Authority of Tran...NapaCA44.061057.0Napa, CA84619.01345314.0federal1052042.061057.0both
2082dd8c5bb6b173b51e9e0b89a6bdd806202390089County of Sonoma , dba: Sonoma County TransitFull ReporterCity, County or Local Government Unit or Depar...Santa RosaCA47.079498.0Santa Rosa, CA297329.01737914.0federal550600.079498.0both
217bd3fc4c7aee7a83869619c0aa800a85202390208Butte County Association of Governments, dba: ...Full ReporterMPO, COG or Other Planning AgencyChicoCA37.016318.0Chico, CA111411.01182984.0federal1605128.016318.0both
22c4d6006dd6de8e33faf71155d16b3f68202390206San Luis Obispo Regional Transit AuthorityFull ReporterIndependent Public Agency or Authority of Tran...San Luis ObispoCA41.079147.0San Luis Obispo, CA56904.01542116.0federal762127.079147.0both
2356c88becd84cdf6874e9f3abe03eb6f0202390200Kings County Area Public Transit AgencyFull ReporterIndependent Public Agency or Authority of Tran...HanfordCA57.036703.0Hanford, CA66638.01522582.0federal586765.036703.0both
24b54cef7138d0057e9085da47db94506e202390012San Joaquin Regional Transit District, dba: Sa...Full ReporterIndependent Public Agency or Authority of Tran...StocktonCA93.085087.0Stockton, CA414847.02612286.0federal1269577.085087.0both
25e835f62b4fa6954b297ae0788141e1fe202390031Riverside Transit AgencyFull ReporterIndependent Public Agency or Authority of Tran...RiversideCA211.075340.0Riverside--San Bernardino, CA2276703.09238973.0federal682130.075340.0both
\n", + "
" + ], + "text/plain": [ + " key report_year ntd_id \\\n", + "0 7b92911062e8311df2aaefa803453213 2023 90162 \n", + "1 231d30a033adffad7c05ad22cdffc83a 2023 90006 \n", + "2 43d7e995716ec1e5bb708810a28f4ce2 2023 90091 \n", + "3 18a26ef2624bf2302b13c3da290e4a31 2023 90310 \n", + "4 0074aba1a1468f0ef01ba5bb8591f4ea 2023 90164 \n", + "5 c66136eb07990c683307924891da05a5 2023 90009 \n", + "6 9011ecad1a04b79627d40c2e3ec4a918 2023 90234 \n", + "7 2ee6240880777b119fcf8dd9da330af9 2023 90306 \n", + "8 f34f1051a6c81d1a4149fb93da4ff392 2023 90079 \n", + "9 9c81bfb86d1bbeaac2e00c6c0142c6cb 2023 90026 \n", + "10 732ac248345346f575122087bdbc3edd 2023 90030 \n", + "11 0129dd27f70c835fb794803cd65f48ce 2023 90090 \n", + "12 c99398cad6d9daad6b305d869ec1a780 2023 90196 \n", + "13 2b062c505686f95e61a8714144a1758b 2023 90148 \n", + "14 22c34fbd0b7d09bf89346cc62aad17d5 2023 90173 \n", + "15 423019d2bdcac472b0cd1d81bc8380b7 2023 90062 \n", + "16 942e25509363518941fb783119b4d2ae 2023 90121 \n", + "17 11e9e6577aa4afc22d4ed41b15e4479c 2023 90144 \n", + "18 91df0abfcbd3472d38a4224067582dc3 2023 90013 \n", + "19 06b3bf7a35f002aa4ed531265a0b63eb 2023 90088 \n", + "20 82dd8c5bb6b173b51e9e0b89a6bdd806 2023 90089 \n", + "21 7bd3fc4c7aee7a83869619c0aa800a85 2023 90208 \n", + "22 c4d6006dd6de8e33faf71155d16b3f68 2023 90206 \n", + "23 56c88becd84cdf6874e9f3abe03eb6f0 2023 90200 \n", + "24 b54cef7138d0057e9085da47db94506e 2023 90012 \n", + "25 e835f62b4fa6954b297ae0788141e1fe 2023 90031 \n", + "\n", + " agency reporter_type \\\n", + "0 The Eastern Contra Costa Transit Authority, db... Full Reporter \n", + "1 Santa Cruz Metropolitan Transit District Full Reporter \n", + "2 City of Visalia , dba: Visalia Transit Full Reporter \n", + "3 Tulare County Regional Transit Agency Full Reporter \n", + "4 Ventura County Transportation Commission Full Reporter \n", + "5 San Mateo County Transit District, dba: SamTrans Full Reporter \n", + "6 Marin County Transit District, dba: Marin Transit Full Reporter \n", + "7 Stanislaus Regional Transit Authority Full Reporter \n", + "8 SunLine Transit Agency, dba: SunLine Full Reporter \n", + "9 San Diego Metropolitan Transit System Full Reporter \n", + "10 North County Transit District Full Reporter \n", + "11 Yolo County Transportation District Full Reporter \n", + "12 County of Placer, dba: Placer County Transit/TART Full Reporter \n", + "13 Victor Valley Transit Authority Full Reporter \n", + "14 Transit Joint Powers Authority for Merced Coun... Full Reporter \n", + "15 Monterey-Salinas Transit Full Reporter \n", + "16 Antelope Valley Transit Authority Full Reporter \n", + "17 Livermore / Amador Valley Transit Authority Full Reporter \n", + "18 Santa Clara Valley Transportation Authority, d... Full Reporter \n", + "19 Napa Valley Transportation Authority Full Reporter \n", + "20 County of Sonoma , dba: Sonoma County Transit Full Reporter \n", + "21 Butte County Association of Governments, dba: ... Full Reporter \n", + "22 San Luis Obispo Regional Transit Authority Full Reporter \n", + "23 Kings County Area Public Transit Agency Full Reporter \n", + "24 San Joaquin Regional Transit District, dba: Sa... Full Reporter \n", + "25 Riverside Transit Agency Full Reporter \n", + "\n", + " organization_type city state \\\n", + "0 Independent Public Agency or Authority of Tran... Antioch CA \n", + "1 Independent Public Agency or Authority of Tran... Santa Cruz CA \n", + "2 City, County or Local Government Unit or Depar... Visalia CA \n", + "3 Independent Public Agency or Authority of Tran... Visalia CA \n", + "4 Independent Public Agency or Authority of Tran... Camarillo CA \n", + "5 Independent Public Agency or Authority of Tran... San Carlos CA \n", + "6 Independent Public Agency or Authority of Tran... San Rafael CA \n", + "7 Independent Public Agency or Authority of Tran... Modesto CA \n", + "8 Independent Public Agency or Authority of Tran... Thousand Palms CA \n", + "9 Independent Public Agency or Authority of Tran... San Diego CA \n", + "10 Independent Public Agency or Authority of Tran... Oceanside CA \n", + "11 Independent Public Agency or Authority of Tran... Woodland CA \n", + "12 City, County or Local Government Unit or Depar... Auburn CA \n", + "13 Independent Public Agency or Authority of Tran... Hesperia CA \n", + "14 Independent Public Agency or Authority of Tran... Merced CA \n", + "15 Independent Public Agency or Authority of Tran... Monterey CA \n", + "16 Independent Public Agency or Authority of Tran... Lancaster CA \n", + "17 Independent Public Agency or Authority of Tran... Livermore CA \n", + "18 Independent Public Agency or Authority of Tran... San Jose CA \n", + "19 Independent Public Agency or Authority of Tran... Napa CA \n", + "20 City, County or Local Government Unit or Depar... Santa Rosa CA \n", + "21 MPO, COG or Other Planning Agency Chico CA \n", + "22 Independent Public Agency or Authority of Tran... San Luis Obispo CA \n", + "23 Independent Public Agency or Authority of Tran... Hanford CA \n", + "24 Independent Public Agency or Authority of Tran... Stockton CA \n", + "25 Independent Public Agency or Authority of Tran... Riverside CA \n", + "\n", + " agency_voms primary_uza_code_x primary_uza_name \\\n", + "0 98.0 2683.0 Antioch, CA \n", + "1 93.0 79336.0 Santa Cruz, CA \n", + "2 37.0 90946.0 Visalia, CA \n", + "3 41.0 90946.0 Visalia, CA \n", + "4 45.0 66673.0 Oxnard--San Buenaventura (Ventura), CA \n", + "5 331.0 78904.0 San Francisco--Oakland, CA \n", + "6 78.0 78904.0 San Francisco--Oakland, CA \n", + "7 102.0 58006.0 Modesto, CA \n", + "8 82.0 41347.0 Indio--Palm Desert--Palm Springs, CA \n", + "9 774.0 78661.0 San Diego, CA \n", + "10 189.0 78661.0 San Diego, CA \n", + "11 40.0 77068.0 Sacramento, CA \n", + "12 47.0 77068.0 Sacramento, CA \n", + "13 277.0 90541.0 Victorville--Hesperia--Apple Valley, CA \n", + "14 45.0 56251.0 Merced, CA \n", + "15 165.0 80362.0 Seaside--Monterey--Pacific Grove, CA \n", + "16 86.0 67140.0 Palmdale--Lancaster, CA \n", + "17 49.0 50533.0 Livermore--Pleasanton--Dublin, CA \n", + "18 512.0 79039.0 San Jose, CA \n", + "19 44.0 61057.0 Napa, CA \n", + "20 47.0 79498.0 Santa Rosa, CA \n", + "21 37.0 16318.0 Chico, CA \n", + "22 41.0 79147.0 San Luis Obispo, CA \n", + "23 57.0 36703.0 Hanford, CA \n", + "24 93.0 85087.0 Stockton, CA \n", + "25 211.0 75340.0 Riverside--San Bernardino, CA \n", + "\n", + " primary_uza_population actual_vehicles_passenger_car_revenue_miles \\\n", + "0 326205.0 3200288.0 \n", + "1 169038.0 2975126.0 \n", + "2 160578.0 2197535.0 \n", + "3 160578.0 2105383.0 \n", + "4 376117.0 1618834.0 \n", + "5 3515933.0 7793698.0 \n", + "6 3515933.0 3017303.0 \n", + "7 357301.0 4216882.0 \n", + "8 361075.0 3938721.0 \n", + "9 3070300.0 34095949.0 \n", + "10 3070300.0 8204114.0 \n", + "11 1946618.0 1984049.0 \n", + "12 1946618.0 1920826.0 \n", + "13 355816.0 9070059.0 \n", + "14 150052.0 2027756.0 \n", + "15 123495.0 4249833.0 \n", + "16 359559.0 3530244.0 \n", + "17 240381.0 1328472.0 \n", + "18 1837446.0 21779295.0 \n", + "19 84619.0 1345314.0 \n", + "20 297329.0 1737914.0 \n", + "21 111411.0 1182984.0 \n", + "22 56904.0 1542116.0 \n", + "23 66638.0 1522582.0 \n", + "24 414847.0 2612286.0 \n", + "25 2276703.0 9238973.0 \n", + "\n", + " funding_source fta_rural_progam_5311 primary_uza_code_y _merge \n", + "0 federal 172914.0 2683.0 both \n", + "1 federal 263285.0 79336.0 both \n", + "2 federal 491222.0 90946.0 both \n", + "3 federal 3779135.0 90946.0 both \n", + "4 federal 390779.0 66673.0 both \n", + "5 federal 783902.0 78904.0 both \n", + "6 federal 543303.0 78904.0 both \n", + "7 federal 916161.0 58006.0 both \n", + "8 federal 1348953.0 41347.0 both \n", + "9 federal 878451.0 78661.0 both \n", + "10 federal 1665659.0 78661.0 both \n", + "11 federal 200210.0 77068.0 both \n", + "12 federal 1051362.0 77068.0 both \n", + "13 federal 1125644.0 90541.0 both \n", + "14 federal 1347802.0 56251.0 both \n", + "15 federal 2013121.0 80362.0 both \n", + "16 federal 2212409.0 67140.0 both \n", + "17 federal 106451.0 50533.0 both \n", + "18 federal 380553.0 79039.0 both \n", + "19 federal 1052042.0 61057.0 both \n", + "20 federal 550600.0 79498.0 both \n", + "21 federal 1605128.0 16318.0 both \n", + "22 federal 762127.0 79147.0 both \n", + "23 federal 586765.0 36703.0 both \n", + "24 federal 1269577.0 85087.0 both \n", + "25 federal 682130.0 75340.0 both " + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "#ntd_monthly_ridership = (tbls.mart_ntd.dim_monthly_ridership_with_adjustments ()\n", - "# >> filter(_.period_year == \"2023\",\n", - "# # _.year == 2022\n", - "# )\n", - "# >> collect()\n", - "# )\n", - "#ntd_monthly_ridership.info()" + "merge" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "31f8ce6d-a7a9-4fb9-b33f-605cd38ee183", + "cell_type": "markdown", + "id": "90c1d67a-50bd-49d5-a409-f69b4c983d2c", "metadata": {}, - "outputs": [], "source": [ - "#ntd_monthly_ridership.groupby(\"ntd_id\")[\"primary_uza_code\"].nunique().sort_values(ascending=False).head()" + "# TBD\n", + "- get UZA geometry data\n", + "- get list of bus stop point locations for the agencies identified above\n", + "- overlay bus stop point location on UZA geometry to find stops that are outside of the UZA for an agency to help answer\n", + ">- Operates fewer total VOMS in urbanized areas (UZAs) than rural (non-UZA) areas, and\n", + ">- Allocates more total Vehicle Revenue Miles (VRM) to non-UZAs than UZAs." ] }, { @@ -608,7 +1337,7 @@ "id": "ac729467-8a82-4b52-836f-453eaa140355", "metadata": {}, "source": [ - "## get UZA geojson data from rest server" + "### get UZA geojson data from FTA rest server" ] }, { @@ -818,6 +1547,37 @@ "ca_uza.head()" ] }, + { + "cell_type": "code", + "execution_count": 27, + "id": "bfde52af-be7c-4d89-aa93-6c5e1959914d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ca_uza.plot()" + ] + }, { "cell_type": "markdown", "id": "65592033-b6e9-4bf7-a24a-6b1d6f7a087b",