Začněme výsledkem:<\/P>
Jednou z hlavních otázek lokality je: Koho/Co mohu dosáhnout za minut? Proto ArcGIS nabízí Network Analyst s nástrojem "Service Areas"<\/A>. Můžeme analyzovat oblast dosažitelnou autem (možné jsou i jiné způsoby) v daném časovém období. Použitím několika vstupních bodů můžeme také analyzovat vzory v celé oblasti.<\/X><\/P>Použití běžné sítě by během dne neměnilo servisní oblasti, ale použitím datasetu sítě ArcGIS Online založeného na datech HERE můžeme také využít dopravní vzory pro den v týdnu a daný čas. Dopravní vzory lze analyzovat v 15minutových intervalech. Analýza servisních oblastí během dne poskytuje cenný pohled na dopravní situaci v regionu: velké rozdíly především indikují vyšší dopravní zatížení na silnicích. Celková oblast také ukazuje kvalitu sítě: velké oblasti znamenají lepší dostupnost autem (možná způsobenou hustou sítí rychlostních komunikací).<\/P>
Použití běžné sítě by během dne neměnilo servisní oblasti, ale použitím datasetu sítě ArcGIS Online založeného na datech HERE můžeme také využít dopravní vzory pro den v týdnu a daný čas. Dopravní vzory lze analyzovat v 15minutových intervalech. Analýza servisních oblastí během dne poskytuje cenný pohled na dopravní situaci v regionu: velké rozdíly především indikují vyšší dopravní zatížení na silnicích. Celková oblast také ukazuje kvalitu sítě: velké oblasti znamenají lepší dostupnost autem (možná způsobenou hustou sítí rychlostních komunikací).<\/P>
<SPAN class="comment token">#create Analysis Layer<\/SPAN> arcpy<SPAN class="punctuation token">.<\/SPAN>na<SPAN class="punctuation token">.<\/SPAN>MakeServiceAreaAnalysisLayer<SPAN class="punctuation token">(<\/SPAN><SPAN class="string token"><SPAN>"<\/SPAN><A class="jive-link-external-small" href="https:\/\/community.esri.com\/external-link.jspa?url=https%3A%2F%2Fwww.arcgis.com%2F" target="_blank">https:\/\/www.arcgis.com\/<\/A><SPAN>"<\/SPAN><\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"BeatCity Service Layer"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Driving Time"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"FROM_FACILITIES"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"5;10;15;20;25;30"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"05.01.1900 00:01:00"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"LOCAL_TIME_AT_LOCATIONS"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"POLYGONS"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"STANDARD"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"DISSOLVE"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"RINGS"<\/SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"100 Meters"<\/SPAN><SPAN class="punctuation token">,</SPAN> None<SPAN class="punctuation token">,</SPAN> None<SPAN class="punctuation token">)<\/SPAN> <SPAN class="comment token">#add locations from a point feature class<\/SPAN> arcpy<SPAN class="punctuation token">.<\/span>na<Span class=\"punctuation token\">.<\span>AddLocations<Span class=\"punctuation token\">(<\span><Span class=\"string token\">\"BeatCity Service Layer\"<\span><Span class=\"punctuation token\">,<\span> <Span class=\"string token\">\"Facilities\"<\span><Span class=\"punctuation token\">,<\span> <Span class=\"string token\">\"StartPoints\"<\span>, "Name Description <Span class=\"comment token\">#;CurbApproach # 0;Attr_Minutes # 0;Attr_TravelTime # 0;Attr_Miles # 0;Attr_Kilometers # 0;Attr_TimeAt1KPH # 0;Attr_WalkTime # 0;Attr_TruckMinutes # 0;Attr_TruckTravelTime # 0;Breaks_Minutes # #;Breaks_TravelTime # #;Breaks_Miles # #;Breaks_Kilometers # #;Breaks_TimeAt1KPH # #;Breaks_WalkTime # #;Breaks_TruckMinutes # #;Breaks_TruckTravelTime # #", "5000 Meters", None, None, "MATCH_TO_CLOSEST", "APPEND", "SNAP", "5 Meters", "EXCLUDE", None)<\/span><Span class=\"line-numbers-rows\"><Span><\/span><Span><\/span><Span><\/span><Span><\/span><\/span><\/CODE><\/PRE><P>Nyní musíme automaticky upravit časy tak, aby odrážely denní dobu. Počáteční čas je '05.01.1900 00:00:00', což je pátek a čas je půlnoc.<\/P><P>Můžeme snadno přistupovat k vlastnostem. Jelikož pracuji se 3D scénou, je to můj jediný mapový objekt v mém projektu ArcGIS Pro:<\/P><PRE class=\"lia-code-sample line-numbers language-none\"><CODE><Span class=\"comment token\">#get the project<\/span> doc = arcpy.mp.ArcGISProject('current') <span class=\"comment token\">#get the map<\/span> map = doc.listMaps()[0] <span class=\"comment token\">#get the service area layer<\/span> sa_layer = map.listLayers("BeatCity Service Layer")[0] <span class=\"comment token\">#Get the solver properties object from the service area layer<\/span> solver_props = arcpy.na.GetSolverProperties(sa_layer)<Span class=\"line-numbers-rows\"><Span <\\/span ><Span <\\/span ><Span <\\/span ><Span <\\/span ><Span <\\/span ><Span <\\/span ><Span <\\/span ><Span <\\/span ><\\/Span ><\\/CODE ><\\/PRE ><P>Nyní když máme přístup k vlastnostem, můžeme snadno iterovat a vyřešit servisní vrstvu. Výsledek bude exportován jako 3D třída prvků:<\\/P ><PRE class=\\\ class="punctuation token">,</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">+</SPAN> os<SPAN class="punctuation token">.</SPAN>sep <SPAN class="operator token">+</SPAN> <SPAN class="string token">"Friday_"</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>hour<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"ToBreak"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"ToBreak"</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="comment token">#a přidat pole s datem pro pozdější použití, pokud je to potřeba:</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>AddField_management<SPAN class="punctuation token">(</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">+</SPAN> os<SPAN class="punctuation token">.</SPAN>sep <SPAN class="operator token">+</SPAN> <SPAN class="string token">"Friday_"</SPAN> <SPAN class="operator token">+</SPAN> str<SPAN class="punctuation token">(</SPAN>hour<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"datetime"</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">"Date"</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">""</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="number token">8</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"datetime"</SPAN><SPAN class="punctuation token">,</SPAN> <Span class="string token">"NULLABLE"</Span><Span class="punctuation token">,</Span> <Span class="string token">"REQUIRED"</Span><Span class="punctuation token">)</Span> arcpy<Span class="punctuation token">.</Span>management<Span class="punctuation token">.</Span>CalculateField<Span class="punctuation token">(</Span>arcpy<Span class="punctuation token">.</Span>env<Span class="punctuation token">.</Span>workspace <Span class="operator token">+</Span> os<Span class="punctuation token">.</Span>sep <Span class="operator token">+</Span> <Span class="string token">"Friday_"</Span> <Span class="operator token">+</Span> str<Span class="punctuation token">(</Span>hour<Span class="punctuation token">)</Span><Span class="punctuation token">,</Span> <Span class="string token">"datetime"</Span><Span class="punctuation token">,</Span> <Span class="string token">'"'</Span> <Span class="operator token">+</Span> datestring <Span class="operator token">+</Span> <Span class="string token">'"'</Span><Span class="punctuation token">,</Span> <span class= <SPAN class="operator token">=<\/SPAN> <SPAN class="number token">0.0<\/SPAN>\n poly_layer<SPAN class="punctuation token">.<\/SPAN>symbology <SPAN class="operator token">=<\/SPAN> symbology\n <SPAN class="comment token">#extrude:<\/SPAN>\n poly_layer<SPAN class="punctuation token">.<\/SPAN>extrusion<SPAN class="punctuation token">(<\/SPAN><SPAN class="string token">'BASE_HEIGHT'<\/SPAN><SPAN class="punctuation token">,<\/SPAN> <SPAN class="string token">"3000-100*[ToBreak]"<\/SPAN><SPAN class="punctuation token">)<\/SPAN>\n <SPAN class="comment token">#export:<\/SPAN>\n datestring <SPAN class="operator token">=<\/SPAN> <SPAN class="string token">"2017\/12\/08 "<\/SPAN> <SPAN class="operator token">+<\/SPAN> str<SPAN class="punctuation token">(<\/SPAN>hour<SPAN class="punctuation token">)<\/SPAN> <SPAN class="operator token">+<\/SPAN> <SPAN class="string token">":00"<\/SPAN>\n <SPAN class="keyword token">for<\/SPAN> lyt <SPAN class="keyword token">in<\/SPAN> doc<SPAN class="punctuation token">.<\/SPAN>listLayouts<SPAN class="punctuation token">(<\/SPAN><SPAN class="punctuation token">)<\/SPAN><SPAN class="punctuation token">:<\/SPAN>\n <SPAN class="keyword token">for<\/SPAN> elm <SPAN class="keyword token">in<\/SPAN> lyt<SPAN class="punctuation token">.<\/SPAN>listElements<SPAN class="punctuation token">(<\/SPAN><SPAN class="string token">"TEXT_ELEMENT"<\/SPAN><SPAN class="punctuation token">)<\/SPAN><SPAN class="punctuation token">:<\/SPAN>\n <SPAN class="keyword token">if<\/SPAN> elm<SPAN class="punctuation token">.<\/span>text<span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">]</span> <span class="operator token">==</span> <span class="string token">"2"</span><span class="punctuation token">:</span>\n elm<span class="punctuation token">.</span>text <span class="operator token">=</span> datestring\n lyt<span class="punctuation token">.</span>exportToPNG<span class="punctuation token">(</span>arcpy<span class="punctuation token">.</span>env<span class="punctuation token">.</span>workspace <span class="operator token">+</span> os<span class="punctuation token">.</span>sep <span class="operator token">+</span> <span class="string token">"friday_seattle_final"</span> <span class="operator token">+</span> str<span class="punctuation token">(</span>hour<span class="punctuation token">)</span> <span class="operator token">+</span> <span class="string token">".png"</span><span class="punctuation token">,</span> <span class="number token">300</span><span class="punctuation token">)</span>\n poly_layer<span class="punctuation token">.</span>visible <span class="operator token">=</span> <span class="token boolean">False</span><span class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span>}</spann>
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Nový zde? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.