﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
21891	Support for stops.txt from GTFS data	skyper	Don-vip	"Thanks for this plugin.

==== What steps will reproduce the problem?
I tried to import a `stops.txt` from [osmwiki:GTFS GTFS] but it took some time to get the file into correct form and I would appreciate if the plugin would support the original file.
1. the file extension `.txt` is not supported and I get misleading error messages
1. it is a comma separated list (`,`) with all fields except the header encapsulated in quotation marks (`""`)
1. the headers for the coordinates are `stop_lat` and `stop_lon`

==== Please provide any additional information below. Attach a screenshot if possible.
Example can be found at [https://ptna.openstreetmap.de/gtfs/ PTNA]. One download page is [https://www.nvbw.de/open-data/fahrplandaten/fahrplandaten-ohne-liniennetz NVBW] but here are two extract:

{{{
stop_id,stop_name,stop_lat,stop_lon
""ch:23001:13920"",""Rheinfelden Albrechtsplatz(CH)"",""47.5552156874621"",""7.79451104148611""
""ch:23001:21561"",""Rheinfelden (CH) Altersheim"",""47.5546215547183"",""7.7988678706147""
""ch:23001:26505"",""Rheinfelden Waldfriedhof"",""47.5548094953963"",""7.80464403789239""
""ch:23001:31688"",""Rheinfelden Stadtpark"",""47.5562402474912"",""7.79867024125216""
""ch:23001:3418"",""Rheinfelden Regionalspital(CH)"",""47.5519357481613"",""7.80464403789239""
""ch:23001:64882"",""Rheinfelden (CH) HPS"",""47.5467092469777"",""7.79602919431648""
""ch:23001:64883"",""Rheinfelden (CH) Lichsweg"",""47.5502138494252"",""7.79649631826429""
""ch:23001:64884"",""Rheinfelden (CH) Rosengässchen"",""47.5528997442295"",""7.7996314386063""
""ch:23001:64885"",""Rheinfelden (CH) Sonnenbergstr"",""47.5500865236808"",""7.79895770214312""
""ch:23001:66251"",""Rheinf. (CH) Hab.-Dietschy-Str"",""47.5524329055806"",""7.7880970703566""
""ch:23001:8139"",""Rheinf. (CH) Untere Marktgasse"",""47.5544336133662"",""7.79110642655882""
""ch:23001:8373"",""Rheinfelden (CH) Post"",""47.5527542365253"",""7.79468172139012""
""ch:23001:8450"",""Rheinfelden (CH) Bahnhof SBB"",""47.5515355936419"",""7.79170829779927""
""ch:23001:99010"",""Rheinfelden Dianapark (CH)"",""47.5532938255661"",""7.80039500659791""
""ch:23001:99011"",""Rheinfelden Kohlplatz (CH)"",""47.5517235453876"",""7.80223655293061""
""ch:23005:6:3"",""Basel Bad. Bf (Bus)"",""47.5657149627444"",""7.60748179930639""
""ch:23005:805:1"",""Riehen Dorf"",""47.583011141566"",""7.64793293655592""
""ch:23005:807:1"",""Riehen Friedhof am Hörnli"",""47.565993783174"",""7.63643450091759""
""ch:23005:827:1"",""Riehen Bahnhof Niederholz"",""47.5703274316413"",""7.63286818923914""
""ch:23005:835:1"",""Riehen Weilstraße"",""47.5895972168636"",""7.65191247326513""
""ch:23017:31253"",""Stein a.Rh. Rathaus"",""47.6590428348329"",""8.85979618761322""
""ch:23017:31254"",""Stein a.Rh. Untertor"",""47.6615355904954"",""8.85709225860764""
""ch:23017:31255"",""Stein a.Rh. Strandbad"",""47.6641794755305"",""8.8501842140718""
""ch:23017:31257"",""Ramsen (CH) Zoll"",""47.7117465100388"",""8.82248915385854""
""ch:23017:31988"",""Stein a.Rh. Schule"",""47.6593090571338"",""8.86131434044359""
""ch:23017:3722"",""Stein am Rhein Bf (Bus)"",""47.6560174860523"",""8.85548427424884""
""ch:23017:55542"",""Ramsen (CH) Petersburg"",""0"",""0""
""ch:23017:55545"",""Ramsen (CH) Sonne"",""47.7065480564815"",""8.81086495408041""
""ch:23017:7951"",""Stein a. R. Schule/Chlini Sch."",""47.6592606531801"",""8.86116162684527""
""ch:23017:801"",""Hemishofen Dorf"",""47.6781105979201"",""8.8312207784214""
""de:08237:1419"",""Rötenbach (Alp) Lochmühle"",""48.3242380058001"",""8.43395881026992""
""de:08237:3801:1:ohne"",""Alpirsbach Bahnhof"",""48.3433481143683"",""8.39808908097003""
}}}

{{{
stop_id,stop_name,stop_lat,stop_lon,location_type,parent_station
""de:08311:30054:0:1"",""Freiburg, Schutternstraße"",""48.0239008179695"",""7.72459516291335"","""",""Parent30054""
""de:08311:30054:0:2"",""Freiburg, Schutternstraße"",""48.023774647354"",""7.72446041562072"","""",""Parent30054""
""de:08311:30055:0:1"",""Freiburg, Waltershofen Ochsen"",""48.0234141581793"",""7.71922323751357"","""",""Parent30055""
""de:08311:30055:0:2"",""Freiburg, Waltershofen Ochsen"",""48.0234682317162"",""7.71930408588915"","""",""Parent30055""
""de:08311:30055:0:3"",""Freiburg, Waltershofen Ochsen"",""48.0234141581793"",""7.71922323751357"","""",""Parent30055""
""de:08311:30055:0:4"",""Freiburg, Waltershofen Ochsen"",""48.0234682317162"",""7.71930408588915"","""",""Parent30055""
""de:08311:30056:0:1"",""Freiburg, Am Weiher"",""48.0220863346414"",""7.72004070442224"","""",""Parent30056""
""de:08311:30056:0:2"",""Freiburg, Am Weiher"",""48.0218520092901"",""7.72077732295531"","""",""Parent30056""
""de:08311:30060:0:1"",""Freiburg, Kleingärten"",""47.9982037064778"",""7.74103433261503"","""",""Parent30060""
""de:08311:30060:0:2"",""Freiburg, Kleingärten"",""47.9982457842433"",""7.7404773771388"","""",""Parent30060""
""de:08311:30061:0:1"",""Freiburg, Opfingen Ziegelei"",""47.9991654754011"",""7.72640975978753"","""",""Parent30061""
""de:08311:30061:0:2"",""Freiburg, Opfingen Ziegelei"",""47.9990272222218"",""7.72776621586674"","""",""Parent30061""
""de:08311:30062:0:1"",""Freiburg, Gewerbestraße"",""47.9991414313966"",""7.71722897758255"","""",""Parent30062""
""de:08311:30062:0:2"",""Freiburg, Gewerbestraße"",""47.9989731230508"",""7.7186572988845"","""",""Parent30062""
}}}

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2022-02-18 08:34:05 +0100 (Fri, 18 Feb 2022)
Revision:18382
Build-Date:2022-02-19 02:31:08
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18382 en) Linux Debian GNU/Linux 11 (bullseye)
Java version: 17.0.2+8-Debian-1deb11u1, Debian, OpenJDK 64-Bit Server VM

Plugins:
+ geotools (35906)
+ opendata (35910)

Last errors/warnings:
- 01609.797 E: Import failure! - <html>Coordinates imported: 0Malformed sentences: 0<br>Checksum errors: 1<br>Unknown sentences: 1<br>Zero coordinates: 0</html>
- 01814.478 E: Import failure! - <html>Coordinates imported: 0Malformed sentences: 0<br>Checksum errors: 1<br>Unknown sentences: 1<br>Zero coordinates: 0</html>
- 02192.470 E: Import failure! - <html>Coordinates imported: 0Malformed sentences: 0<br>Checksum errors: 1<br>Unknown sentences: 1<br>Zero coordinates: 0</html>
- 02273.253 E: Import failure! - <html>Coordinates imported: 0Malformed sentences: 0<br>Checksum errors: 1<br>Unknown sentences: 1<br>Zero coordinates: 0</html>
- 02676.956 E: Import failure! - <html>Coordinates imported: 0Malformed sentences: 0<br>Checksum errors: 1<br>Unknown sentences: 1<br>Zero coordinates: 0</html>
- 02775.701 E: Import failure! - <html>Coordinates imported: 0Malformed sentences: 0<br>Checksum errors: 1<br>Unknown sentences: 1<br>Zero coordinates: 0</html>
- 03000.360 E: Import failure! - <html>Coordinates imported: 0Malformed sentences: 0<br>Checksum errors: 1<br>Unknown sentences: 1<br>Zero coordinates: 0</html>
- 03158.690 E: Import failure! - <html>Coordinates imported: 0Malformed sentences: 0<br>Checksum errors: 1<br>Unknown sentences: 1<br>Zero coordinates: 0</html>
}}}
"	enhancement	new	normal		Plugin opendata			template_report public_transport GTFS stops.txt	
