|
POST
|
A good first step would be to run through the Network Analyst tutorials, available here: http://resources.arcgis.com/en/help/main/10.2/index.html#//00470000005r000000. They will show you how to incorporate your StreetMaps Premium data and set up a Route or other analysis. Post again if you have further questions.
... View more
02-03-2014
06:12 AM
|
0
|
0
|
639
|
|
POST
|
Hi Andreas. Yes, it looks like that executable just does some stuff you could write yourself in python without too much trouble. You just have to grab the output OD Lines, run a search cursor, and print each row to the CSV file using python's simple csv module. Or, you can just continue using that executable. I think it would still work with multiprocessing. Also, before you continue, please note that multiprocessing isn't going to help you much if your machine has only 2 cores or something, so think about that before spending a lot of time on this. Here's a little outline script showing how you can set up multiprocessing. Let me know if this isn't clear or you need more detail. import multiprocessing
import csv
import arcpy
def CalculateOD(stuffPassed):
'''Calculate the OD matrix and write the results to a CSV'''
## Generate the input layer. You can read in a saved layer template
## add add the appropriate origins and destinations for this chunk
## Solve the layer
## Call the external Save-to-CSV code or write your own code
## Return the path to the CSV
# ---- Main code ----
def main():
## Do whatever you need to prepare your analysis
ODChunks = []
## Fill your list of OD chunks somehow
# Pass this info as inputs to the multiprocessing function.
stuffToPass = []
for chunk in ODChunks:
if chunk:
idx = ODChunks.index(chunk)
# I'm passing the chunk index because you can use that to name the output file
stuffToPass.append([chunk, idx, OTHERVARIABLES])
# Do the multiprocessing. It could return the paths to the output csvs if you want.
pool = multiprocessing.Pool()
OutCSVs = pool.map(CalculateOD, stuffToPass)
pool.close()
pool.join()
# Combine the output csvs
for CSVFile in OutCSVs:
## Open each CSV using python's csv module
## The first line is probably the field headers, so discard that after the first time
## Dump the rows out into one giant table.
if __name__ == '__main__':
main() Note: You can't execute a multiprocessed code like this from within a python IDE. You have to run it from a command line. Also, you have to have the if __name__ == '__main__': syntax with the main() function.
... View more
01-27-2014
10:46 AM
|
0
|
0
|
901
|
|
POST
|
It sounds like the Closest Facility tool might work for you. To better understand how to use Network Analyst tools, including Closest Facility, please look through the tutorials here: http://resources.arcgis.com/en/help/main/10.2/index.html#//00470000005r000000.
... View more
01-27-2014
06:19 AM
|
0
|
0
|
385
|
|
POST
|
Hi Andreas. There are a couple of ways to speed up lengthy network calculations: 1) Install the 64-bit Background Geoprocessing product. This way, when you run ArcToolbox tools in Desktop, if you have background geoprocessing enabled (in Geoprocessing->Options), the tool will run in 64-bit mode, which speeds things up quite a bit. Note that you have to be running the ArcToolbox version of Solve instead of clicking the little Solve button on the Network Analyst toolbar. You can also run python script tools using 64-bit background GP by simply calling the 64-bit version of python. The documentation explains it in more detail: http://resources.arcgis.com/en/help/main/10.2/index.html#//002100000040000000. 2) You can use python�??s multiprocessing module to run several analyses in parallel. This is extremely helpful for a problem like yours that can be broken up into chunks. I have some examples I can share if you�??re interested. Setting up the multiprocessing is simple in principle, but it doesn't always play well with ArcGIS, so it�??s a bit tricky. You can't write to the same output geodatabase from multiple processes at once (it's a schema lock issue), and you can't share the same NA layer across processes. It works best to split up the problem into chunks first, and then your multiprocessed function can create a new layer, add the locations, solve it, and write the results. Then, back in your main script, do something to combine the results in the way you want. Hope this helps.
... View more
01-27-2014
06:16 AM
|
0
|
0
|
901
|
|
POST
|
We didn't make any changes to the network dataset structure or data model between 10.1 and 10.2, so a version 10.1 dataset is fully up to date for 10.2.
... View more
01-14-2014
06:15 AM
|
0
|
0
|
581
|
|
POST
|
Hi Michael. You don't need to use python in order to use the ArcGIS Online Service Area tool. Start here: http://resources.arcgis.com/en/help/main/10.2/index.html#//0047000001v5000000 The doc will guide you through how to connect to the services and how to run them.
... View more
01-14-2014
06:08 AM
|
0
|
0
|
1278
|
|
POST
|
Open up your Route layer properties, go to the Analysis Settings tab, and make sure "Reorder Stops To Find Optimal Route" is unchecked.
... View more
01-10-2014
06:29 AM
|
0
|
0
|
445
|
|
POST
|
Yes, the resulting direction WOULD have a line saying "Arrive at Stop X", so it would get kind of messy. You could probably post-process that out automatically. The turns are included regardless. If you have to turn from one road to another in order to get from A to B, it will tell you "Drive X miles along Road P." "Make a left at Q street." "Drive Y miles along Road Q." "Arrive at Stop B".
... View more
01-09-2014
08:33 AM
|
0
|
0
|
1462
|
|
POST
|
Sorry, I meant that it might be easier to add your LR route vertices to the Find Route tool than it would be to set up a network dataset from your own data with good quality directions. It takes some effort to get Directions set up properly from your own data. The reason I suggested grabbing the LR route vertices and using those as stops is that they are probably close enough together so that the Network Analyst Route solver would produce the same result as the original line you started with (rather than some different, optimized route). You can convert the LR lines to a point feature class of vertices using the Feature Vertices to Points tool (http://resources.arcgis.com/en/help/main/10.2/index.html#//00170000003p000000) and use those points as inputs to NA Route. If you are comfortable with python, you could automate the whole thing. I do not know of any other tools that would allow you to generate directions from a linear referenced route. The directions engine works specifically with the Network Analyst tools and relies upon the information contained in a network dataset, which has no connection to the linear referencing results.
... View more
01-09-2014
07:54 AM
|
0
|
0
|
1462
|
|
POST
|
No, the Network Analyst tools all require points as input. Perhaps you could pull out all the vertices from your linear referenced routes and use those as input stops for an NA Route. Solve the route and generate directions. If you create your own simple network dataset, you would have to set up Directions in the network dataset manually. It might be easier to continue using the Find Route tool.
... View more
01-09-2014
07:13 AM
|
0
|
0
|
1462
|
|
POST
|
Hi Nathan. Unfortunately, you won't be able to produce directions directly from your linear referenced routes. Directions draw from data in a network dataset and are produced from a route solved using one of the Network Analyst tools. The Directions need to know network-specific information, such as the streets that were used by the route, the street names, how long it takes to travel across the streets, etc. The linear referencing tools don't have any connection to the network dataset, so none of this information is available to draw from. What's the overall goal of your project? If you describe it in more detail, maybe I can help you find another solution.
... View more
01-09-2014
06:30 AM
|
0
|
0
|
1462
|
|
POST
|
Here are a few things to check: - Did you select "Use Time" and choose a time of day for your analysis? The transit part of the network won't be used if you don't select a time of day. - If you're using specific dates, does your date fall within the date range of the GTFS data? Open the calendar.txt file to see the date ranges covered by your GTFS data. - Did you remember to run Step 4 of the tool (Get EIDs)? - Did you rebuild the network after you ran Step 4? If so, you will need to run Step 4 again. - Did you set up your evaluators correctly (see the user's manual) - When you made your network, did you use Override for the connectivity policy on the Stops_Snapped2Streets? These stops will connect to vertices in the streets. If your streets have End Point for connectivity and you don't select Override for Stops_Snapped2Streets, they don't actually be connected in the network. Note: If you change this, you will have to rebuild your network and run Step 4 again. Here's how I usually debug transit problems: - Zoom in to a single transit line. - Create a new route layer and add stops on the street near each end of that transit line. - Use Network Identify to get the SourceOID or EID of that transit line. - Open TransitScheduleTable and search for that SourceOID or EID. You'll find a start time when this edge should be traversable - Set your route layer's start time to a time just before the time when the edge should be traversed and solve the route layer. - Check to see if it uses the transit line instead of the street. You might have to adjust the start time. Check all the minutes surrounding your expected start time. If it never uses the transit lines, something is probably wrong with your network. After you've checked all the things I mentioned above, if it's still not working, you can post your data, and I'd be happy to take a look at it.
... View more
12-20-2013
05:47 AM
|
1
|
0
|
473
|
|
POST
|
This isn't a Network Analyst question, so I've redirected your post to Spatial Analyst. Hopefully someone here will be able to help you or redirect you to someone who can. Good luck!
... View more
12-16-2013
06:17 AM
|
0
|
0
|
556
|
|
POST
|
Okay. Python would definitely help you out here. But, what I was asking is what you want to do with the data after you've found the distances between origin and destination. Do you just want to read it from a table or are you using as input for something else? Putting it into a database? The end goal can help us figure out how best to export the data from ArcMap in a format that works for the end goal.
... View more
12-10-2013
06:21 AM
|
0
|
0
|
419
|
|
POST
|
Do you know any python? If so, you can solve the OD Cost Matrix and then use a search cursor and a for loop to read the values of the table and write them out to a csv file using python's csv module. But, the file may still be too large to open in Excel (which is a limitation of Excel and not ArcGIS). What do you ultimately want to do with the OD Matrix output?
... View more
12-10-2013
06:10 AM
|
0
|
0
|
1843
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 11-14-2025 08:00 AM | |
| 1 | 09-03-2025 09:18 AM | |
| 1 | 08-22-2025 07:14 AM | |
| 2 | 08-07-2025 07:06 AM | |
| 2 | 06-13-2025 07:31 AM |
| Online Status |
Offline
|
| Date Last Visited |
2 weeks ago
|