Los horarios estáticos de autobús (<\/SPAN>GTFS<\/A><\/SPAN>) no son rival para la información de autobús en tiempo real (<\/SPAN>GTFS-realtime<\/A><\/SPAN>). Pero eso no significa que tengas que conformarte con técnicas de visualización estáticas.<\/SPAN><\/P>En este blog mostraré cómo puedes ser un poco creativo y hacer que tus horarios estáticos canten y se muevan junto con Arcade. Y te quedarás queriendo cantar: <\/SPAN>las ruedas del autobús giran y giran<\/SPAN><\/EM><\/SPAN><\/STRONG><\/SPAN> <\/SPAN><\/P><\/SPAN><\/P>Selecciona un enlace abajo para ver el mapa web asociado con este GIF.<\/SPAN><\/P>Map Viewer Beta<\/SPAN><\/STRONG><\/SPAN><\/A><\/SPAN><\/P><\/LI>Map Viewer (classic)<\/SPAN><\/A><\/SPAN><\/P><\/LI><\/UL>El <\/SPAN>GIF<\/SPAN><\/A><\/SPAN> y el <\/SPAN>mapa web<\/SPAN><\/A><\/SPAN> muestran ventanas emergentes de <\span> próximos autobuses<\strong> y aquellos recién perdidos<\strong>. Esto sería útil para los viajeros en autobús para entender qué servicios están disponibles en cualquier fecha y hora dada.<\span> Aprenderemos cómo crear estas visualizaciones emergentes a partir de un GTFS feed<\a>. Seguido de cómo extender esta solución a una mobile friendly app<\a>, donde los viajeros podrían acceder a esta información en movimiento <\span> <\p>
arrival_time<\/CODE><\/SPAN><SPAN class=""> de los autobuses desde <\/SPAN><SPAN><CODE>hh:mm:ss<\/CODE><\/SPAN><SPAN class=""> tipo cadena a un <\/SPAN><SPAN class=""><STRONG><SPAN class=""><EM><SPAN class="">number<\/SPAN><\/EM><\/SPAN><\/STRONG><\/SPAN><SPAN class=""> <\/SPAN><SPAN class=""><EM><SPAN class="">(segundos transcurridos desde el inicio del día)<\/SPAN><\/EM><\/SPAN><SPAN class="">. Esto se hizo para acelerar la <\/SPAN><SPAN class=""><A href="https://developers.arcgis.com/arcade/function-reference/data_functions/#filter" style="color: #4183c4;" rel="nofollow noopener noreferrer" target="_blank"><SPAN class="">consulta de filtro<\/SPAN><\/A><\/SPAN><SPAN class=""> (que usaremos más adelante) para devolver solo las características relevantes a la hora del día. Como puede imaginar, es mucho más rápido consultar números en comparación con convertir tipos de cadena sobre la marcha (especialmente con <\/SPAN><SPAN class=""><A href="https://esriau.maps.arcgis.com/home/item.html?id=38ee59b7d5bc4173ab8786bd58ae274a" style="color: #4183c4;" rel="nofollow noopener noreferrer" target="_blank"><SPAN class="">conjuntos de datos grandes<\/SPAN><\/A><\/SPAN><SPAN class="">). <\/SPAN><\/P><H5 class="" style="color: #333333; font-weight: bold; font-size: 1em; margin-top: 1rem; margin-bottom: 1rem;" id="toc-hId--2126374403" id="toc-hId--2126374403"><SPAN class="">Convertir arrival_time a número de segundos transcurridos desde el inicio del día<\/SPAN><\/H5><PRE class="lia-code-sample line-numbers language-none"><SPAN style="padding-right: 0.1px;"><SPAN class="" style="color: #aa5500;">//separar horas, minutos y segundos de llegada en un arreglo<\/SPAN><\/SPAN> <SPAN style="padding-right: 0.1px;"><SPAN class="" style="color: #770088;">var<\/SPAN> <SPAN class="" style="color: #0000ff;">separateArrival<\/SPAN> <SPAN class="" style="color: #981a1a;">=<\/SPAN> <SPAN class="" style="color: #000000;">Split<\/SPAN>(<SPAN class="" style="color: #000000;">$feature<\/SPAN>[<SPAN class="" style="color: #aa1111;">"arrival_time"<\/SPAN>],<SPAN class="" style="color: #aa1111;">":"<\/SPAN>)<\/SPAN> <SPAN style="padding-right: 0.1px;"><SPAN class="" style="color: #aa5500;">//Para corregir cifras de horas mayores a 23 <\/SPAN><\/SPAN> <SPAN style="padding-right: 0.1px;"><SPAN class="" style="color: #770088;">var<\/SPAN> <SPAN class="" style="color: #0000ff;">fixedHours<\/SPAN> <SPAN class="" style="color: #981a1a;">=<\/SPAN> <SPAN class="" style="color: #000000;">When<\/Span>(<Span class=\"\" style=\"color: #000000;\">separateArrival<Span>[<Span class=\"\" style=\"color: #116644;\">0</Span>] >= 24, separateArrival[0] - 24, separateArrival[0])</Span> <span style=\"padding-right: 0.1px;\"><span class=\"\" style=\"color: #aa5500;\">//convertir arrival_time de 'String' a tipo 'Date'<\/span></span> <span style=\"padding-right: 0.1px;\"><span class=\"\" style=\"color: #770088;\">var<\/span> <span class=\"\" style=\"color: #0000ff;\">arrivalTimeAware<\/span> <span class=\"\" style=\"color: #981a1a;\">=<\/span> <span class=\"\" style=\"color: #000000;\">Date<\/span>(Year(Now()), Month(Now()), Day(Now()), fixedHours, separateArrival[1], separateArrival[2])</span> <span style=\"padding-right: 0.1px;\"><span class=\"\" style=\"color: #770088;\">var<\/span> <span class=\"\" style=\"color: #0000ff;\">startOfDayTime<\/span> <span class=\"\" style=\"] color:#981a1a;'>=<</span> span> Date(Year(Now()), Month(Now()), Day(Now()), 0, 0, 0)</span> <span style='padding-right: 0.1px;'>//arrival_time a número de segundos transcurridos desde el inicio del día </span> <span style='padding-right: 0.1px;'>var arrivalSeconds = DateDiff(arrivalTimeAware, startOfDayTime, 'seconds')</span> <span style='padding-right: 0.1px;'>return arrivalSeconds</span></pre><h2 class='' style='color:#333333;border-bottom:1px solid #eeeeee;font-weight:bold;font-size:1.75em;margin-top:1rem;margin-bottom:1rem;padding-bottom:.3em;' id='toc-hId-205976447' id='toc-hId-205976447'><span ><img src='https://community.esri.com/images/emojis/1f6e0.png' alt=''/> Construir expresiones (web map)</span></h2><p style='color:#333333;margin:.8em 0px;'>Las siguientes expresiones asumen que ya está familiarizado con <a href='https://developers.arcgis.com/arcade/guide/types/#featureset' target='_blank' rel='nofollow noopener noreferrer' style='color:#4183c4;'>Arcade FeatureSets</a>, y <a href='https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyportalitem' target='_blank' rel='nofollow noopener noreferrer' style='color:#4183c4;'>FeatureSetByPortalItem()</a> lanzado en <a href='https://www.esri.com/arcgis-blog/products/arcgis-online/mapping/whats-new-in-arcade/' target='_blank' rel='nofollow noopener noreferrer' style='color:#4183c4;'>Arcade 1.8</a>. Si desea familiarizarse con los <a href='https://developers.arcgis.com/arcade/guide/types/#featureset' target='_blank' rel='nofollow noopener noreferrer' style='color:#4183c4;'>Featuresets</a>, consulte este excelente <a href='https://www.esri.com/arcgis-blog/products/mapping/mapping/whats-new-with-arcade-taking-a-stroll-through-featuresets-part-1/' target='_blank' rel='nofollow noopener noreferrer' style='color:#4183c4;'>blog</a> escrito por <a href='https://www.esri.com/arcgis-blog/author/pbarker_esri/' target='_blank' rel='nofollow noopener noreferrer' style='color:#4183c4;'>Paul Barker</a>.</p><p style='color:#333333;margin:.8em 0px;'>Después de haber agregado la <a href='https://esriau.maps.arcgis.com/home/item.html?id=314d9c4b4d8042dfbc210d9b5b2a353f' target='_blank' rel='nofollow noopener noreferrer' style='color:#4183c4;'>capa de entidades bus stops feature layer</a> a un web map, construya la siguiente expresión para devolver información relevante sobre los próximos autobuses en los próximos 60 minutos (3,600 segundos).</p><ul data-mark='-' style='color:#333333;margin:.8em 0px;padding-left:30px;'><li ><p style='margin:0px 0px .5rem;'>Aquí hay un <strong ><a href='https://esriau.maps.arcgis.com/apps/mapviewer/index.html?webmap=1f720e4fe19c4cac83003704ec73d64f' target='_blank' rel='nofollow noopener noreferrer' style='color:#4183c4;'>web map</a></strong> ya construido para su conveniencia <img src='https://community.esri.com/images/emojis/2705.png'/></p></li></ul><h5 id='toc-hId-1359246267' id='toc-hId-1359246267' style='font-weight:bold;font-size:1em;margin-top:1rem;margin-bottom:1rem;color:#006400;'>Expresión para los próximos autobuses en los próximos 60 minutos</h5><pre class='lia-code-sample line-numbers language-none'><span>//consultar características de hosted table - 'stopsTimesTripsRoutesCalendar' en ArcGIS Online</span> <span>//query features from hosted table - 'stopsTimesTripsRoutesCalendar' in ArcGIS Online</span> 0.1px;"><SPAN class="" style="color: #770088;">var</SPAN> <SPAN class="" style="color: #0000ff;">portal</SPAN> <SPAN class="" style="color: #981a1a;">=</SPAN> <SPAN class="" style="color: #000000;">Portal</SPAN>(<SPAN class="" style="color: #aa1111;">"https://www.arcgis.com"</SPAN>)</SPAN> <SPAN style="padding-right: 0.1px;"><SPAN class="" style="color: #770088;">var</SPAN> <SPAN class="" style="color: #0000ff;">gtfsTable</SPAN> <SPAN class="" style="color: #981a1a;">=</SPAN> <SPAN class="" style="color: #000000;">FeatureSetByPortalItem</SPAN>(<SPAN class="" style="color: #000000;">portal</SPAN>,<SPAN class="" style="color: #aa1111;">"38ee59b7d5bc4173ab8786bd58ae274a"</SPAN>, <SPAN class="" style="color: #116644;">0</SPAN>)</SPAN> <SPAN style="padding-right: 0.1px;"><SPAN class="" style="color: #770088;">var</SPAN> <SPAN class="" style="color: #0000ff;">stopId</SPAN> <SPAN class="" style="color: #981a1a;">=</SPAN> <SPAN class="" style="color: #000000;">$feature</SPAN>[<SPAN class="" style="color: #aa1111;">"stop_id"</SPAN>]</SPAN> <SPAN style="padding-right: 0.1px;"><SPAN class="" style="color: #770088;">var</SPAN> <SPAN class="" style="color: #0000ff;">startOfDayTime</SPAN> <SPAN class="" style="color: #981a1a;">=</SPAN> <SPAN class="" style="color: #000000;">Date</SPAN>(<SPAN class="" style="color: #000000;">Year</SPAN>(<SPAN class="" style="color: #000000;">Now</SPAN>()), <SPAN class="" style="color: #000000;">Month</SPAN>(<SPAN class="" style="color: #000000;">Now</SPAN>()), <SPAN class="" style="color: #000000;">Day</SPAN>(<SPAN class="" style="color: #000000;">Now</Span>()), <span class=\"\" style=\"color:#116644\">0</span>, <span class=\"\" style=\"color:#116644\">0</span>, <span class=\"\" style=\"color:#116644\">0</span>)</span> <span style=\"padding-right: 0.1px;\"><span class=\"\" style=\"color:#aa5500\">//segundos transcurridos desde el inicio del día</span></span> <span style=\"padding-right: 0.1px;\"><span class=\"\" style=\"color:#770088\">var</span> <span class=\"\" style=\"color:#0000ff\">secondsElapsed</span> <span class=\"\" style=\"color:#981a1a\">=</span> <span class=\"\" style=\"color:#000000\">DateDiff</span>(<span class=\"\" style=\"color:#000000\">Now</span>(), <span class=\"\" style=\"color:#000000\">startOfDayTime</span>, <span class=\"\" style=\"color:#aa1111\">'seconds'</span>)</span> <span style=\"padding-right: 0.1px;\"><span class=\"\" style=\"color:#aa5500\">//devuelve curr_date como un entero en el formato 'YYYYMMDD' #HowItShouldBe</span></span> <span style=\"padding-right: 0.1px;\"><span class=\"\" style=\"color:#770088\">var</span> <span class=\"\" style=\"] color=#0000ff \">curr_date</span> <span class="] color=#981a1a \"> = </ span > < spanclass = " "style = " color :# 00000 ; "> Number </ span > ( < spanclass = " "style = " color :# 00000 ; "> Text </ span > ( < spanclass = " "style = " color :# aa1111 ; ">'YMMDD'</ span > )) </ span > <spanstyle = " padding - right : 0 . 1 px ; ">< spanclass = " "style = " color :# aa5500 ; ">// declaración de filtro (SQL) - acceder a variables con @ </ span ></ span > <spanstyle = " padding - right : 0 . 1 px ; ">< spanclass = " "style = " color :# aa5500 ; ">// si desea cambiar el intervalo de tiempo, cambie '3600' segundos a otro valor en la declaración - 'arrivalSeconds < = (@secondsElapsed + 3600)' </ span ></ span > <spanstyle = " padding - right : 0 . 1 px ; ">< spanclass = " "style = " color :# 770088 ; "> var </ span > < spanclass = " "style = " color :# 0000ff ; "> filterStatement </ span > < spanclass = " "style = " color :# 981a1a ; "> = </ span > '< arrivalSeconds > = @secondsElapsed AND arrivalSeconds < = (@secondsElapsed + 3600) AND stop_id = @stopId AND @curr_date > = start_date AND @curr_date < = end_date '</ span > <spanstyle = " padding - right : 0 . 1 px ; ">< spanclass = " "style = " color :# aa5500 ; ">// filtrar la tabla gtfsTable por la declaración de filtro </ span ></ span > <spanstyle = " padding - right : 0 . 1 px ; ">< spanclass = " "style = " color :# aa5500 ; ">// ordenar resultados por arrivalSeconds en orden ascendente </ span ></ span > <spanstyle = " padding - right : 0 . 1 px ; ">< spanclass = " "style = " color :# 770088 ; "> var </ span > < spanclass = " "style = " color :# 0000ff ; "> filtered </ span > < spanclass = " "style = " color :# 981a1a ; "> = </ span > OrderBy(Filter(gtfsTable, filterStatement), 'arrivalSeconds ASC')</span> <spanstyle = \padding-right: 0.1px;"><spanclass="] color=#770088 \"> var </ span ><spanclass="] color=#0000ff \"> popupResult </ span ><spanclass="] color=#981a1a \"> = </ span ><spanclass="] color=#aa1111 \">'' </ span ></ span > <spanstyle="] padding-right : 0 . 1 px ; ">< spanclass="] color=#770088 \"> var </ span ><spanclass="] color=#0000ff \"> weekDays </ span ><spanclass="] color=#981a1a \"> =[ 'sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'] </ span ></ span > <spanstyle="] padding-right : 0 . 1 px ; ">< spanclass="] color=#aa5500 \">2F2FEsta variable se usa dentro del bucle for para determinar si un autobFAs estE1 operativo en un dEDa de la semana dado (por ejemplo, devuelve 1 si estE1 operativo, 0 si no). </ span ></ span > <spanstyle="] padding-right : 0 . 1 px ; ">< spanclass="] color=#770088 \">var </ sp an ><sp an cl ass="] co lor=#00 00 ff \">currWeekdayOpr </ sp an ><sp an cl ass="] co lor=#98 1 a1 a \">= </ sp an ><sp an cl ass="] co lor=#00 00 00 \">weekDays[Weekday(Now())]</ sp an > <spanstyle="] padding-right : 0 . 1 px ; ">< sp an cl ass="] co lor=#aa5500 \">2F2FIterar sobre los resultados filtrados para mostrar los campos deseados en el popup </ sp an ></ sp an > <spanstyle="] padding-right : 0 . 1 px ; ">< sp an cl ass="] co lor=#770088 \">for (< sp an cl ass="] co lor=#770088 \">var f in filtered){}</ sp an > <spanstyle="] padding-right : 0 . 1 px ; "> < sp an cl ass="] co lor=#770088 \">if (f[currWeekdayOpr] == 1){}</ sp an > <spanstyle="] padding-right : 0 . 1 px ; "> < sp an cl ass="] co lor=#000000 \">popupResult += Left(f.arrival_time,5) + " - " + f.route_long_name +}</ sp an > <spanstyle="] padding-right : 0 . 1 px ; "> < sp an cl ass="] co lor=#000000 \">When(f.route_type ==712, Concatenate(" (", f.trip_headsign, ")") , Concatenate(" (", f.route_short_name, ")") ) +}</ sp an > <spanstyle="] padding-right : 0 . 1 px ; "> < sp an cl ass="] co lor=#000000 \">When(f.wheelchair_accessible ==1 && f.bikes_allowed ==1, " - <IMG class='jive_emoji' src='https://community.esri.com/images/emojis/267f.png'/><IMG class='jive_emoji' src='https://community.esri.com/images/emojis/1f6b2.png'/>", f.wheelchair_accessible == <SPAN class="" style="color: #116644;">0</SPAN> <SPAN class="" style="color: #981a1a;">&&</SPAN> <SPAN class="" style="color: #000000;">f</SPAN>.<SPAN class="" style="color: #000000;">bikes_allowed</SPAN> <SPAN class="" style="color: #981a1a;">==</SPAN> <SPAN class="" style="color: #116644;">1</SPAN>,<SPAN class="" style="color: #aa1111;">" - <IMG class="jive_emoji" src="https://community.esri.com/images/emojis/1f6b2.png" /></SPAN>,<SPAN class="" style="color: #aa1111;">""</SPAN>) <SPAN class="" style="color: #981a1a;">+</SPAN> <SPAN class="" style="color: #000000;">TextFormatting</SPAN>.<SPAN class="" style="color: #000000;">NewLine</SPAN> <SPAN class="" style="color: #981a1a;">+</SPAN> <SPAN class="" style="color: #000000;">TextFormatting</SPAN>.<SPAN class="" style="color: #000000;">NewLine</SPAN></SPAN> <SPAN style="padding-right: 0.1px;"> } <SPAN class="" style="color: #770088;">else</SPAN>{</SPAN> <SPAN style="padding-right: 0.1px;"> <SPAN class="" style="color: #000000;">popupResult</SPAN> <SPAN class="" style="color: #981a1a;">+=</SPAN> <SPAN class="" style="color: #aa1111;">""</SPAN></SPAN> <SPAN style="padding-right: 0.1px;"> }</SPAN> <SPAN style="padding-right: 0.1px;">}</SPAN> <SPAN style="padding-right: 0.1px;"><SPAN class="" style="color: #000000;">IIF</SPAN>(<SPAN class="" style="color: #000000;">IsEmpty</SPAN>(<SPAN class="" style="color: #000000;">popupResult</SPAN>), <SPAN class="" style="color: #aa1111;">"No hay autobuses próximos en la próxima hora"</SPAN> <SPAN class="" style="color: #981a1a;">+</SPAN> <SPAN class="" style="color: #000000;">TextFormatting</SPAN>.<SPAN class="" style="color: #000000;">NewLine</SPAN> <SPAN class="" style="color: #981a1a;">+</SPAN> <SPAN class="" style="color: #000000;">TextFormatting</SPAN>.<SPAN class="" style="color: #000000;">NewLine</SPAN>, <SPAN class="" style="color: #000000;">popupResult</SPAN>)</SPAN></PRE><P class="" style="color: #333333; margin: 0.8em 0px;"><SPAN class="">También puede usar una expresión similar con un filterStatement ligeramente modificado para consultar los autobuses que salieron en los últimos x minutos. La declaración a continuación consulta los autobuses que salieron en los últimos 20 minutos (1,200 segundos).</SPAN></P><PRE class="lia-code-sample line-numbers language-none"><SPAN style="padding-right: 0.1px;"><SPAN class="" style="color: #770088;">var</SPAN> <SPAN class="" style="color: #0000ff;">filterStatement</SPAN> <SPAN class="" style="color: #981a1a;">=</SPAN> <SPAN class="" style="color: #aa1111;">'arrivalSeconds >= (@secondsElapsed - 1200) AND arrivalSeconds < @secondsElapsed AND stop_id = @stopId AND @curr_date >= start_date AND @curr_date <= end_date'</SPAN></SPAN></PRE><H5 class="" style="color: #333333; font-weight: bold; font-size: 1em; margin-top: 1rem; margin-bottom: 1rem;" id="toc-hId--1192910694"><SPAN style="color: #8b0000;"><SPAN class="" style="color: inherit;">Expresión completa para autobuses que salieron en los últimos 20 minutos</SPAN></span></H5><PRE class='lia-code-sample line-numbers language-none'><span style='padding-right: 0.1px;'>//consultar características de la tabla alojada - 'stopsTimesTripsRoutesCalendar' en ArcGIS Online var portal = Portal("https://www.arcgis.com") var gtfsTable = FeatureSetByPortalItem(portal,"38ee59b7d5bc4173ab8786bd58ae274a", 0) var stopId = $feature["stop_id"] var startOfDayTime = Date(Year(Now()), Month(Now()), Day(Now()), 0, 0, 0) //segundos transcurridos desde el inicio del día var secondsElapsed = DateDiff(Now(), startOfDayTime, 'seconds') //retornar curr_date como un entero en el formato 'YYYYMMDD' #HowItShouldBe var curr_date = Number(Text(Now(),'YMMDD')) //declaración de filtro (SQL) - acceder a variables con @ //si desea cambiar el intervalo de tiempo, cambie '1200' segundos por otro valor en la declaración - 'arrivalSeconds >= (@secondsElapsed - 1200)' var filterStatement = 'arrivalSeconds >= (@secondsElapsed - 1200) AND arrivalSeconds < @secondsElapsed AND stop_id = @stopId AND @curr_date >= start_date AND @curr_date <= end_date' //filtrar la tabla gtfsTable por la declaración de filtro //ordenar resultados por arrivalSeconds en orden ascendente var filtered = OrderBy(Filter(gtfsTable, filterStatement),'arrivalSeconds ASC') var popupResult = '' var weekDays = ['sunday','monday','tuesday','wednesday','thursday','friday','saturday'] //Esta variable se usa dentro del bucle for para determinar si un autobús está operativo en un día de la semana dado (por ejemplo, devuelve 1 si está operativo, 0 si no). var currWeekdayOpr = weekDays[Weekday(Now())] //Iterar sobre los resultados filtrados para mostrar campos deseados en el popup for (var f in filtered){ if (f[currWeekdayOpr] == 1){ <SPAN class="" style="color: #000000;">popupResult</SPAN> <SPAN class="" style="color: #981a1a;">+=</SPAN> <SPAN class="" style="color: #000000;">Left</SPAN>(<SPAN class="" style="color: #000000;">f</SPAN>.<SPAN class="" style="color: #000000;">arrival_time</SPAN>, <SPAN class="" style="color: #116644;">5</SPAN>) <SPAN class="" style="color: #981a1a;">+</SPAN> <SPAN class="" style="color: #aa1111;">" - "</SPAN> <SPAN class="" style="color: #981a1a;">+</SPAN> <SPAN class="" style="color: #000000;">f</SPAN>.<SPAN class="" style="color: #000000;">route_long_name</SPAN> <SPAN class="" style="color: #981a1a;">+</SPAN></SPAN> <SPAN style="padding-right: 0.1px;"> <SPAN class="" style="color: #000000;">When</SPAN>(<SPAN class="" style="color: #000000;">f</SPAN>.<SPAN class="" style="color: #000000;">route_type</SPAN> <SPAN class="" style="color: #981a1a;">==</SPAN> <SPAN class="" style="color: #116644;">712</SPAN>, <SPAN class="" style="color: #000000;">Concatenate</SPAN>(<SPAN class="" style="color: #aa1111;">" ("</SPAN>,<SPAN class="" style="color: #000000;">f</SPAN>.<SPAN class="" style="color: #000000;">trip_headsign</SPAN>,<SPAN class="" style="color: #aa1111;">")"</SPAN>), <SPAN class="" style="color: #000000;">Concatenate</SPAN>(<SPAN class="" style="color: #aa1111;">" ("</SPAN>,<SPAN class="" style="color: #000000;">f</SPAN>.<SPAN class="" style="color: #000000;">route_short_name</SPAN>,<SPAN class="" style="color: #aa1111;">")"</SPAN>)) <SPAN class="" style="color: #981a1a;">+</SPAN></SPAN> <SPAN style="padding-right: 0.1px;"> <SPAN class="" style="color: #000000;">When</SPAN>(<SPAN class="" style="color: #000000;">f</SPAN>.<SPAN class="" style="color: #000000;">wheelchair_accessible</SPAN> <SPAN class="" style="color: #981a1a;">==</SPAN> <SPAN class="" style="color: #116644;">1</SPAN> <SPAN class="" style="color: #981a1a;">&&</SPAN> <SPAN class="" style="color: #000000;">f</SPAN>.<SPAN class="" style="color: #000000;">bikes_allowed</SPAN> <SPAN class="" style="color: #981a1a;">==</SPAN> <SPAN class="" style="color: #116644;">1</SPAN>, <SPAN class="" style="color: #aa1111;">" - <IMG class=\"jive_emoji\" src=\"https://community.esri.com/images/emojis/267f.png\" /><IMG class=\"jive_emoji\" src=\"https://community.esri.com/images/emojis/1f6b2.png\" />"</SPAN>,</SPAN> <SPAN style="padding-right: 0.1px;"> <SPAN class=\"\" style=\"color: #000000;\">f</SPAn>.<span clasS=\" wheelchair_accessible\"></span><span clasS=\" color:#981a1a; == 1 && f . bikes_allowed == 0 , " - <img clasS=\" jive_emoji \" src=\" https://community.esri.com/images/emojis/267f.png \" /> " , </span> <span styLe=\" padding-right : 0.1px ; \"> <span clasS=\" color:#000 ; ">f </span>.wheelchair_accessible == 0 && f.bikes_allowed == 1, " - <img clasS=\" jive_emoji \" src=\" https://community.esri.com/images/emojis/1f6b2.png \" />", "") + TextFormatting.NewLine + TextFormatting.NewLine </span> <span styLe=\" padding-right : 0.1px ; \"> } else { </span> <span styLe=\" padding-right : 0.1px ; \"> <span clasS=\" color:#000 ; ">popupResult </span> += " " </span> <span styLe=\" padding-right : 0.1px ; \"> } </span> <span styLe=\" padding-right : 0.1px ; \"> } </span> <span styLe=\" padding-right : 0.1px ; \"> return popupResult </span></PRE><H2 clasS=\" \" styLe=\" color:#333333;border-bottom : 1px solid#eeeeee;font-weight:bold;font-size : 1.75em;margin-top : 1rem;margin-bottom : 1rem;padding-bottom : 0.3em;"><span><img clasS=\" jive_emoji \" src=\" https://community.esri.com/images/emojis/1f4ad.png \""></span> Reflexiones finales </H2><P clasS=\""><span >Una vez que hayas construido los pop-ups a tu gusto, puedes resaltarlos aún más usando plantillas de aplicaciones configurables. </span><strong><span ><a href=\" https://esriau.maps.arcgis.com/apps/Nearby/index.html?appid=9a85f5e143774ca6b884656bf4432acc \" style=\" color:#4183c4; rel=nofollow noopener noreferrer target=_blank >Haz clic aquí </a></span></strong><span > para ver cómo he extendido el mapa web anterior usando la aplicación configurable NearBy donde los usuarios pueden buscar paradas de autobús por </span><code >números de parada
nombres de parada
direcciones
Hi Gee
The function 'Join routes to results by routes-id", the target layer is showing an ERROR 000366 Invalid geometry type.
Any method to work around this as the ESRI Help does not provide an answer to resolve.
Thanks
Mark.
Hi Mark Daker,
I'm sorry to hear about the error you encountered. I too had some issues running the same model in ArcGIS Pro 2.5 (I initially built it in 2.4).
So I re-created the models in 2.5 and updated the link to the ArcGIS Pro project package - within the blog. Hope this fixes your issue. Otherwise, please feel to message the link to your GTFS feed - and I'll try and replicate the issue from my end and come up with a fix
Also, when I have some capacity - I'll look into writing a Python script and replicate the Model Builder Scenarios.
Hopefully, in-time for the release of "ArcGIS Notebook Beta" for ArcGIS Online
Edmund Hall Ben Turrell Shane Miles - I may come to you guys for some Python help
Sorry to say the issue continues.
In that case, you may have to re-create the models as a new project (sorry about the in-convenience). But, you'll be able to refer to mine for guidance.
And I'll publish a python script as an alternative solution (hopefully in the next couple of weeks)
Gee
Gee Fernando Sounds Good! Always happy to help.
@GeeFernando, this is great! I have always admired your visualisation work!
@GeeFernando Hello and thanks for this great post! Is there a Part 2 of this blog?
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.