|
POST
|
Thanks to a suggestion from @BradNiemand I was able to get past this issue. I made sure my multi role locator property of Match with No Zones = Yes and that seems to have done it . JoeBorgione_0-1607541214602.png JoeBorgione_1-1607541435356.png That particular property can only be set manually after a locator is created.
... View more
12-09-2020
11:18 AM
|
0
|
0
|
1052
|
|
IDEA
|
@BlakeTerhune - I just discovered that what I consider an important property 'Match with no zone' cannot be set in arcpy, only manually. Consistency is half the battle with creating locators especially if you are creating and recreating them on a regular scheduled basis. Any and all properties of a new style locator should available to to arcpy imho. Here's a trick to show what properties can be exposed and/or set with arcpy. Those marked with F indicate a function for geocoding, not a property of the locator itself: LocatorProperties.gif
... View more
12-09-2020
08:18 AM
|
0
|
0
|
2451
|
|
POST
|
ArcGIS Pro 2.6 I have created a multi role locator with a point address role and a street address role. I have an address of 645 E 4500 S (one of 116,000 in my address data table) When I match the table to the multi role it does not match. However, when I look at the address point data, there are two records that have 645 E 4500 S parsed out in the various components field: one has a sub unit (another parsed field) and the other does not. The street data has a segment that covers the range. When I match against a single role point address locator, that address fails. When I match against a single role street address locator it matches. What is going on here? I thought that a multi-role locator acts like the old composite address locator does: if an address doesn't match on one it matches on another if it can. Why would this particular address match only against a single street address locator and not in the multi-role locator when it should validate in either? @BradNiemand @ShanaBritt
... View more
12-08-2020
03:26 PM
|
0
|
1
|
1090
|
|
POST
|
I've been learning about how to expose the various locator properties using arcpy and came upon something I need clarification for. Two different properties can be returned and they have very similar but different values: locator.categories
'Subaddress,Point Address,Street Address,Intersection,POI,Parcel'
locator.reverseGeocodeFeatureTypes
'StreetInt,StreetAddress,POI,PointAddress,Parcel' These properties are for a multi role locator I just created. Notice how the .categories property returns two words ('Point Address,Street Address') while the .reverseGeocodeFeatureTypes property returns single word strings ('StreetAddress,PointAddress'). Similar, but different. I suspect there is a reason for this buried deep behind the scenes however, the online help page implies the the .categories properties are one word. Obviously that can be confusing at the pythonista-end user level. This question may be better suited for an idea, but if the properties themselves can be one word or two words consistently across the board, that would be nice... @BradNiemand
... View more
12-07-2020
08:44 AM
|
0
|
0
|
693
|
|
POST
|
Viewing data and downloading it are two entirely different things; our county has a free viewer too. I can assure that the hunting app you mention did not get that data for free.
... View more
12-07-2020
07:05 AM
|
0
|
0
|
2347
|
|
POST
|
Long Ints or Short Ints won't do decimal places no matter what you set the precision to. I use typically I use floats for decimal numbers but double works as well.
... View more
12-04-2020
03:23 PM
|
0
|
1
|
3634
|
|
POST
|
Just for fun, here is an example of creating a single role street address locator using a feature service for the data source. After the locator is created, a couple properties get changed from the default: import arcpy
arcpy.env.overwriteOutput = True
arcpy.SetLogHistory(False)
'''Create the locator'''
outLocator = r'M:\path\to\MyStreetLocator'
language = 'ENG'
country = 'USA'
inTable = "https://www.path/to/rest/services/myLocation/FeatureServer/9 StreetAddress"
fieldMapping = "'StreetAddress.HOUSE_NUMBER_FROM_LEFT 9.FROMADDR_L';"\
"'StreetAddress.HOUSE_NUMBER_TO_LEFT 9.TOADDR_L';"\
"'StreetAddress.HOUSE_NUMBER_FROM_RIGHT 9.FROMADDR_R';"\
"'StreetAddress.HOUSE_NUMBER_TO_RIGHT 9.TOADDR_R';"\
"'StreetAddress.STREET_PREFIX_DIR 9.PREDIR';"\
"'StreetAddress.STREET_NAME 9.NAME';"\
"'StreetAddress.STREET_SUFFIX_TYPE 9.POSTTYPE';"\
"'StreetAddress.STREET_SUFFIX_DIR 9.POSTDIR'"
arcpy.geocoding.CreateLocator(country, inTable, fieldMapping, outLocator, language)
'''With the Locator created set the default properties'''
locatorPath = f'{outLocator}.loc'
locator = arcpy.geocoding.Locator(locatorPath)
locator.matchOutOfRange = False
locator.minCandidateScore = 75
locator.minMatchScore = 75
locator.categories = 'Street Address,Intersection'
locator.updateLocator()
... View more
12-04-2020
03:06 PM
|
0
|
0
|
4122
|
|
POST
|
A couple things to consider: 1. What Type of field is PRCNT? I'd make a float. My bet is you have as an integer, and that type of field can't handle decimal places that you will have. 2. I always use Python expressions so it would look like : !TOTAL_PROJ! / 1813828471 That just gives you a rational number. To get true percent: (!TOTAL_PROJ! / 1813828471) * 100
... View more
12-04-2020
02:57 PM
|
0
|
0
|
3649
|
|
POST
|
Friends don't let friends use Excel to do GIS work: do you get an error now? If so what is it? Can you share the the calculate expression you are using?
... View more
12-04-2020
02:32 PM
|
0
|
1
|
3657
|
|
POST
|
Maybe you don't need that Total_All field. Is the data dynamic? If not you know the value of Total_All already, so you could just plug that value in field calculator for the PRCNT field. If the data is dynamic it will get a little sticker but doable with a cursor or two in python.
... View more
12-04-2020
02:11 PM
|
0
|
0
|
3660
|
|
POST
|
@Anonymous User There is another thread about this kicking around but I couldn't find it. I noticed this morning on my android pad the behavior I describe above is still an issue, although it seems like the fix on pc's works fine. Just an FYI...
... View more
12-04-2020
09:12 AM
|
0
|
0
|
2719
|
|
IDEA
|
see: https://community.esri.com/t5/geoprocessing-questions/create-locator-change-match-out-of-range-default-to-no/m-p/1006785#M24937 I create locators using python as a scheduled task. This practice ensures the latest, greatest data is being used. It would be nice if there were a set of arcpy methods that would allow me to set any of the locator properties as part of that script described here: https://pro.arcgis.com/en/pro-app/arcpy/geocoding/locator-class.htm#P_GUID-B617A31C-2B5E-427F-BBEB-B52C1667CC51
... View more
12-03-2020
02:32 PM
|
0
|
0
|
2496
|
|
POST
|
Unfortunately, it appears that the only way to change properties of a locator and have them permanent is to interact with the locators properties pane. If I were to geocode a table of addresses using python the Locator class and properties discussed would be the way to go: import arcpy
''' set the property'''
locatorPath = r'M:\yady_yady\MSD_CenterlinesLocator.loc'
locator = arcpy.geocoding.Locator(locatorPath)
locator.matchOutOfRange = False
''' do the geocoding '''
addressesTable = r'M:\yady\yady\SomeTable'
addressLocator = r'M:\yady_yady\MSD_CenterlinesLocator.loc'
addressField = 'Address'
resultsFC = r'M\yady\yady\Some.gbd\GecodingResults'
arcpy.GeocodeAddresses_geocoding(addressTable, addressLocator, addressField, resultsFC, 'STATIC')
... View more
12-03-2020
02:23 PM
|
1
|
0
|
4149
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 10-11-2018 07:12 AM | |
| 1 | 05-17-2021 11:18 AM | |
| 1 | 06-29-2021 11:42 AM | |
| 1 | 07-05-2012 07:49 AM | |
| 1 | 09-03-2016 06:16 AM |
| Online Status |
Offline
|
| Date Last Visited |
05-19-2026
11:56 AM
|