|
POST
|
I would first dissolve on the Road Name field of each segment buffer to create continuous buffers by roadway. Then I would use the Intersect tool of the Dissolved layer by itself (only one layer). This should leave the intersection polygons. Dissolve them with no attributes and do not create multi-part features. Now Spatial Join the original street lines to these polygons with the polygons as the target outputs and the lines as the Join outputs. Use the One-To-One option and set up a merge rule on Road Names to create a Join list with a comma delimiter. Now you have the polygons with their road names. To get more attributes Spatial Join the lines to the polygons, potentially dissolving the lines on common attributes first (or not). Give it a try. If you have the license you could create a copy of the buffers and erace these intersection polygons. That is the single street buffers. Merge this with the interection polygons and move some attributes to a single field set using the field calculator. Should basic get you where you want to go.
... View more
07-15-2013
05:16 PM
|
0
|
0
|
15857
|
|
POST
|
The problem is he ran the script once and created a copy of an object assigning it a name. Then he ran the script again on the same original objects and tried to create another copy of that object with the name he had previously assigned to the first copy. Two objects cannot share the same file name and the rename function ignores the overwrite outputs setting. With Rename the second time you run a script to reuse a name, you must add a delete routine. Anytime I configure a Rename script I actually have to run it 2 times to create a script that will run correctly from that point on. First using just a rename, the second time deleting the previously renamed object and then renaming another copy with that name (the delete function made no sense during the first run, but it is needed during the second). The third time and following the script needs no modification, since it will remove the existing object with a given name and then rename a new object to that name.
... View more
07-15-2013
01:50 PM
|
0
|
0
|
1639
|
|
POST
|
I've tried that, still no good. I'm pretty sure I got it to work the very first time I tried it, but I have no idea whats different now. You can't rename anything twice in a row to the same name, only once. That is what is different. The first time no object had the name you were renaming to. The second time an object already had that name and you tried to rename another object with the same name, resulting in a conflicting duplicate name. After the first time you rename an object to something, you have to delete the object that has that name before you can rename another object with that name.
... View more
07-15-2013
01:40 PM
|
0
|
0
|
1639
|
|
POST
|
Your example is what I believe is called Sentence Case, not Proper Case/Title Case. Proper Case (corrected for Roman Numerals) would have been "Class III Wetlands", not "Class III wetlands". For Sentence Case to capitalize just the first word of a sentence you would normally just use in VB.Net: ' Split string based on periods Dim s As String = "CLASS III WETLANDS. CLASS IV WETLANDS." Dim sentences As String() = s.Split(New Char() {"."c}) ' Use For Each loop over sentences to change case Dim sentence As String s = "" For Each sentence In sentences s = s & UCase(Left(LCase(sentence), 1)) & "." Next s.Replace("..", ".") The output of string s would be: "Class iii wetlands. Class iv wetlands." Of course, that does not work for sentences that include Roman numerals, the pronoun "I", proper names or sentences that trail off with "...". If you want case sensitivity like you get when you use Word, that level of sophistication will not be achieved using simple coding techniques and is beyond the scope of what I could help you with.
... View more
07-15-2013
12:20 PM
|
0
|
0
|
641
|
|
POST
|
I am trying to export a subset from a really big dataset(million level). There are 20 fields in the shapefile but I don't really need all of them. But I am making the trade off between the processing time of deleting the fields and the processing time of exporting with the extra fields. Does anyone know if it will speed up the exporting process if I delete more fileds from the shapefile? Thanks. The more fields you delete the slower I would expect that process to be. The entire table still has to be read and recreated with each field being deleted. That is effectively an export each time you delete a field. But you don't have to delete any fields to exclude fields from an export. Why not first try creating a layer and hiding the fields you don't want to export. Those fields will not be in the export output from the layer and should not be read during export (other than to skip over the field if it is between fields you keep). That way you don't lose the data on the original feature class, but avoid transferring it in the new feature class. The layer field visibility settings can be changed for all of the fields you want affected without triggering any table read and you should gain speed during export and on your final export feature class. The Feature Class to Feature Class tool can also export a feature class with just a subset of fields (it can even rename fields and change the data type characteristics of fields during the creation of the new feature class).
... View more
07-15-2013
09:37 AM
|
0
|
0
|
528
|
|
POST
|
it there any function(s) that compares two user's x y fields (or a list of this data) to verify if the the points match over a period of time? There is no single function that does a fully automated comparisons between two tables or feature classes at all for anything. You have to build the function yourself for your specific table/feature class and matching requirements, since there are too many variations of what you might want to do. You obviously have two tables or feature classes and I assume that the X and Y values are already in a field. Provide more information about the following to get a better answer: 1. What is the unique field value for each row or feature? Is it the X and Y coordinate pair that is supposed to be your unique key or is there some other field value that is a join key between the two tables/feature classes? Are the X and Y coordinate pairs supposed to be unique for every row or feature in both tables? Or are there multiple rows and features that can share the same X and Y coordinate pair? 2. What are you trying to match up, just the X and Y values for a given unique key field or the set of all other field values associated with each X and Y pair? 3. Are the X and Y pair values supposed to be an exact match in the two tables or do you intend to permit some form of tolerance where nearby points within a given distance are considered identical between the two tables/feature classes? The techniques that you should apply depend on your set up. All of the techniques I would recommend can be handled using standard Model Builder tools (Join primarily), standard SQL selections and standard field calculations, and do not require a cursor. For example, if you want to create a join on the X and Y coordinate pairs between two tables where the X and Y coordinates are unique for each row or feature in both tables, you can concatenate the X and Y values in both tables/feature classes and use a join. The formula I use for calculating my X/Y coordinate concatenation join field from a point feature class that has no X and Y field, only point geometry, is: # Process: Calculate X_Y_Link Field (2)... arcpy.CalculateField_management(Output_Feature_Class, "X_Y_LINK", "Output(!SHAPE.FIRSTPOINT!)", "PYTHON", "def Output(FirstPoint):\\n FPX = round(float(FirstPoint.split() [0]), 4)\\n FPY = round(float(FirstPoint.split() [1]), 4)\\n return \"{%(FX)012.4f}{%(FY)012.4f}\" % {'FX': FPX, 'FY': FPY}") I would calculate this into a 28 character text field called X_Y_LINK in both point feature classes using the field calculator tool. In Model Builder this field calculator set up would appear as follows: Parser: Python Show Codeblock: Checked Pre-Logic Codeblock: def Output(FirstPoint):
FPX = round(float(FirstPoint.split() [0]), 4)
FPY = round(float(FirstPoint.split() [1]), 4)
return "{%(FX)012.4f}{%(FY)012.4f}" % {'FX': FPX, 'FY': FPY} Expression: Output(!SHAPE.FIRSTPOINT!) In my case my coordinates are in State Plane with a precision of 1/10,000th of a foot required. For your projection you would have to determine the format and precision of the coordinate numbers you want to use. For example, if your typical coordinates were in Decimal Degrees and you wanted to maintain precision to 8 decimal places you would probably use: def Output(FirstPoint):
FPX = round(float(FirstPoint.split() [0]), 8)
FPY = round(float(FirstPoint.split() [1]), 8)
return "{%(FX)012.8f}{%(FY)012.8f}" % {'FX': FPX, 'FY': FPY} (I have not tested the code with signed values, so the formula might need to be adjusted to 013.8f to allow for a negative sign in addition to a maximum 3 digit integer, a decimal point and a maximum of 8 decimal place numbers with leading and trailing zero padding.) Once joined on these fields, to find out all of the records in the parent table that are not matched at all in the join table, use this SQL on a geodatabase table: Join_Table.ObjectID is Null Once you have the selection, break the join and then you can do things like Append or Merge to transfer the selected records to the previously joined table that did not have these records. For all other field comparisons on a join based on the X_Y_LINK field, you would want the synchronizing table joined to the control table, and the selection would be in the format: Parent_Table.MyField <> Join_Table.MyField or (Parent_Table.MyField IS NULL and NOT Join_Table.MyField IS NULL) If any records are selected you can transfer the values of the Join_Table (Control table) to the Parent_Table (Synchronizing Table) with a calculation of: !Join_Table.MyField! A cursor routine is preferable if there are many fields to be transferred, but using the join approach you could first select only the records that actually need to be processed by the cursor doing the transfer using this example SQL to find 3 fields that have any differences (extend the example for more fields): Parent_Table.MyField1 <> Join_Table.MyField1 or (Parent_Table.MyField1 IS NULL and NOT Join_Table.MyField1 IS NULL) or Parent_Table.MyField2 <> Join_Table.MyField2 or (Parent_Table.MyField2 IS NULL and NOT Join_Table.MyField2 IS NULL) or Parent_Table.MyField3 <> Join_Table.MyField3 or (Parent_Table.MyField3 IS NULL and NOT Join_Table.MyField3 IS NULL) Assuming this subset of records was much smaller than the full set of records and that you had attribute indexes on each field, this approach should process faster than using a paired cursor routine that reads every record of one of the two tables to define a selection against the other. However, involving a dictionary in the paired cursor routine might create a faster performing script. Although, I have not done a benchmark test of the new cursor syntax at 10.1 against my join method. I do know at 10.0, the join method is faster than a 10.0 cursor.
... View more
07-13-2013
10:07 AM
|
0
|
0
|
2051
|
|
POST
|
Perhaps I should be using Python, but old habits die hard as I have more of a VB background... At any rate, I'm trying to update a field in a table using the Calculate Field tool. After fighting numerous errors, I decided to simplify my function to a very simple routine to isolate the problem. In the screenshot, I'm just returning the value I'm passing in as an input value to save in the field. However, I get the following error:[INDENT] General error executing calculator.[/INDENT] [INDENT]ERROR 999999: Error executing function.[/INDENT] [INDENT]Syntax error[/INDENT] [INDENT]Failed to execute (Calculate Field). [/INDENT] Screenshot of Calculate Field setup: [ATTACH=CONFIG]25886[/ATTACH] I know that VB (VBScript) has certain limitations, such as not being able to explicitly declare datatypes for variables, so I don't think that's the problem here. It appears that the "shell" or setup of either the function itself (in the Code Block box) or the function call (in the Expression box) is wrong. Once I get past this error, I can put the real logic in the function. Does anyone know what I might be doing wrong? Thanks! EDIT: Using ArcMap 10.1 The Field Calculator has disabled the Function, Sub, Execute, and probably some other similar keywords in its parser for VB Script (and I believe for VBA as well prior to 10.0), possibly for security reasons to protect against code insertion. As a result, it is impossible to build a recursive function within the Field Calculator using VB. So if that is where you are going, you can't do that. And in fact when you use VB with a codeblock, the Expression will only be used for an Output variable name, and is not used to pass any input to the codeblock (unlike Python). However, the Codeblock itself can accept external inputs such as fields and model builder variables directly. So it is possible to obtain and operate on inputs from external data sources, such as fields or Model Builder variables, within the CodeBlock as shown below: Codeblock: Test = 28 ' Hard Coded Value Test = Test / [MyField] ' Field Value evaluated at runtime per each feature or row Test = Test + %Value% ' Model Builder Variable evaluated at runtime per each iteration or based on user input to the model For i = 0 to 3 ' For loop processes up to 4 times, breaking out of the loop as soon as Test has grown larger than 1000. Test = Test * 10 If Test > 1000 Then Exit For Next Expression: Test (Note: At the users conference I was told by the person who writes the SQL parser that he has intentionally disabled standard SQL functions that can be used by hackers for code insertion, and causes the parser to return errors if those function are attempted, since the parser treats them as unrecognized requests. Where he has allowed SQL functionality that could lead to Code Insertion if unprotected, he has only permitted it with well structured SQL commands and must to do additional parsing and evaluation within the ESRI parser to prevent any code insertion attempt before passing the SQL to the underlying database. Field Calculator has to offer the same kinds of protection and Function, Sub, and Execute are probably deemed too open ended to allow. Presumably Python is also being handled in much the same way to block code insertion attempts; however, Python is more like VBA at 9.3 than VB Script, since only Python can define cursors or operate on geometry data within the Field Calculator like VBA could, while VB Script can't. Nothing has access to the same set of ArcObject methods through the Field Calculator that VBA had at 9.3, but Python comes the closest in terms of functionality).
... View more
07-12-2013
09:08 AM
|
0
|
0
|
2710
|
|
POST
|
Hello! I'm creating a geodatabase in ArcMap 10.1 to manage a GPS quality control assessment. We have a Trimble R10 GPS and we're trying to assess variations in the data over time and under different conditions. Every few weeks I collect GPS data at the same landmarks on campus. I've been compiling this data in a geodatabase for both future statistical analysis and mapmaking endeavors. My question is, how do I best display / compile data from the same landmark on different days? Right now I have individual points for each data collection that are essentially stacked on top of each other. Should I create multipoints for each landmark? Any better ideas? I'm relatively new to GIS and I've never created multipoint features; any instruction on how to do so would be much appreciated. Thanks! Lindsay While you can create a multipoint feature from stacked or attribute related features, that may not be your best option for compiling time based data. That is because if you merge all of your overlapping points together into a multipoint you will only have one feature and therefore only the attributes for one feature. That single feature could be useful to store information about the location that does not change over time, such as a unique location ID and location names, but not useful for storing the actual time based data, such as dates and sample readings like temperature, rainfall, etc. The relationship between the control multi-point and the time samples would be a one-to-many relationship. So if you have actual date based samples you should retain the individual points and investigate the help on time based data. A link to the first topic for the time based data help is here. The Dissolve tool will collect information from single points and based on a common attribute or attributes combine the geometry into multipoint features. That would be easiest way to generate your control positions feature class. If you have multiple samples of a location on a given date, the Dissolve tool can create a single feature for that location and date and perform summaries such as averages, sums, and min and max values from the multiple observations, which may be more relevant to your analysis than the individual samples on that date. The main difference between creating or modifying multipoint features over single point features when editing is that when you start creating point geometry each new mouse click continues to create a point within the current multipart feature you are editing, not a new point feature, and the feature is only a sketch that can still disappear from memory until you explicitly finish the sketch. You can finish a sketch by pressing the F2 key or right clicking over the points and getting the edit context menu and selecting the finish sketch menu item. Only after you finish the sketch will you see the feature appear in the Attribute editing window or in the tableview for the feature class. If you stop editing in the middle of editing a multipoint feature sketch before explicitly finishing the sketch, the sketched feature or edits will disappear and not be stored in your feature class. Other help on multipart features is here. A few other observations about data. Sample data is the most refined level you have and generally the only way to resolve and understand data oddities that may arise when you group or aggregate them, so always retain the original sample data unaltered. The original samples will usually contain the best information for deciding if methodologies changed over time or if any data bias was present in your data collectors. For field information that must be validated and corrected to match an authoritative source, do not overwrite original field data values to correct them. Create new fields that initially copy the field data and modify that copy only when you believe the original data contains errors. Then you can compare original field data to your corrections and determine if some training or quality control procedures needs to be established and where best to implement them. You may also find that your correction was in error due to an incorrect assumption on your part about your data, and such false assumptions are critical to discover and correct early in your process in addition to having the ability to restore the original data.
... View more
07-09-2013
06:06 AM
|
0
|
0
|
1024
|
|
POST
|
The parentheses should be correct. I think you are missing a space before the words GROUP BY and that the underlying SDE database parsing is not as forgiving as the parsing done by the personal geodatabase Microsoft Jet database engine. subiqf.setWhereClause(fieldName+" In (SELECT "+fieldName+" FROM "+className.getName()+" GROUP BY "+fieldName+" HAVING Count(*)>1 )"); If that isn't it you need to share exactly what database underlies your SDE and look up the particular SQL syntax required for this kind of selection associated with that database. Not all SQL is exactly alike across all databases and similar behaviors can differ in seemingly minor, but nonetheless important ways.
... View more
07-06-2013
07:11 AM
|
1
|
1
|
3208
|
|
POST
|
Hi, Not really seen a solution to this other than a spatial join. I'm looking to extract a set polygon attribute (text field) at a set location (a point). I need to do this for a large number of feature classes (200+). If this can be done in model builder i would prefer it to repeating lots and lots of spatial joins. Basically each map is a timeslice, and I want to extract all of the changes that take place at a single location over the course of all the maps. Each featureclass is labelled with a number for the time period it occupies, ie 1, 2, 3 etc, and the attributes are descriptions of the conditions in the polygon at that time. At the moment I've basically extracted georeferenced jpeg's for each timeslice and used the sample tool to get RGB valueis, which i then match back to the original symbology style to get the attribute... there must be an easier way surely? I have limited modelbuilder experience, but pick things up pretty quickly. If this has been asked before then please forgive this spam and link me to another thread! Kieran Within Model Builder you would need to build the process for a polygon single feature class and then repeatedly process it with an iterator. The particular Iterator set up that meets your needs depends on the required input you have to cycle through. If you are actually working with real feature classes within a geodatabase (and not shape files) and a feature class is a valid input for your model (not a layer), then you could use the Iterate Feature Class tool. If your model needs a layer as an input, you would have to add all of the feature classes as layers into your map and use the Iterate Multivalue tool in combination with an input variable of type Feature Layer. You need to know how to work with variables, since you will need to generate a new feature class name with each iterator pass if you intend to create a new set of feature classes. If you are actually trying to end up with over 200 fields on a point feature class with each field representing one feature class, you cannot use a shapefile and must use a file geodatabase or sde geodatabase. The Iterator for Feature Class outputs both a name variable and a feature class variable and you would probably need to use both to create the new fields. Python can do the same things (and more), but the code is completely different from using Model Builder Iterators, so you have to decide up front which form of automation you will be using. If you wanted to process all of your locations at once and not just a single location you would need two models. One to iterate over all of the feature classes with the Spatial Join tool to efficiently transfer the polygon attributes to all of the points at one time and output a new set of feature classes. A second model would have to then iterate over all of the new Spatial Join feature classes and create a field for each one on the original points (which would have to be a point feature layer, not a point feature class) and process a join and field calculator operation to transfer the data from the spatial joins to the correct field on the points. The second model has to correctly apply attribute indexes to increase the speed of each join and handle removing the joins as well to move to the next iteration. That is all I will say about the process until you have a more specific idea about what you intend to create in your model or script.
... View more
07-05-2013
05:41 AM
|
1
|
0
|
1874
|
|
POST
|
Ok thank you ... so what tools and process in ArcGIS should i use to combine the data and average it?? none of , my 0.5 mile buffer will be entirely in one block group. They will cover a portion of neighboring blocks, so i have to find a a way to join the abutting blocks groups then find an average or for the buffer zone You could use Intersect of your Buffers against the block groups. This should retain the total area of the original census block in the area field, which would be important. If your buffers overlap each other then you will need to Dissolve the Intersected Output using every field as a unique case value except the ObjectID to make sure no Block group is divided into two or more pieces. If you want a weighted average of your block groups you would need to create some fields to multiply the statistics you are after times the portion of area within each block group intersected if it represents a census block average. If the original statistic of the block group represented a census block total or sum, then that values should be mulitplied by the area of the portion that was intersected from the Census Block and then divided by the total Census block area captured by the Intersect. Then Dissolve a second time using just the Buffer IDs as the unique case and summing all of the other statistics (both the original statistics from the blocks for a standard mean and the weighted statistics for a weighted mean). Include a summary statistic that generates a count also just in case, although Dissolve may generate its own count value. Now if the statistics originally represented an average, maximum or minimum, divide the summaries by just the Dissolve Count and if the statistics were originally an average, minimum or maximum that was weighted by area, divide the summaries by the total area of the newly dissolved buffer. If the summary values were originally a total or sum of the Census Block just divide by the Dissolve Count if they were not weighted and do no division if they were weighted by area. Bottom line is that original census block averages, minimums and maximums have to be handled differently from original census block sums or totals (whether I have worked through the math correctly in the steps I have described or not). Getting a median or weighted median is trickier. And frankly I would prefer you examine the results of the mean and weighted mean first before going over those methods. The median or middle value will probably be less reliable if the areas covered by the buffer are not all nearly equal or if one area dominates over all of the others (in which case the max area statistics are better). Either way Median will be simply choosing one or the average of two of the census blocks for statistics and ignoring all the other census blocks. All of the above operate in the absence of any other information about the census block. If you had aerials, parcel valuation data, or land use data, adjustments could be made to account for absences of population or jobs in open space areas, higher or lower valuations of properties and structures, vacant lands, commercial/industrial uses and residential density distributions, etc. If those sources are available they should be sampled to determine how well you analysis correlates with expected results from these sources.
... View more
07-04-2013
01:19 PM
|
0
|
0
|
3033
|
|
POST
|
No one? Seems like such a simple thing, I just don't know where to look. From the comments in one of the links you provided, this is a very weak interface feature that requires a lot of custom code to even set it up. It won't detect if the layer you are interested in is made part of a Group Layer that has a different visible state and once it is made part of the group layer it is possible its events will cease operating (that is what the comments meant when they talked about needing to design their own recursive methods to handle group layers). There seems to be no interface that directly does what you want (which is typical for poorly documented ArcObjects interfaces, especially methods that require recursive handling to really cover all possible effects within the TOC or ActiveView). If you must know exactly what layer changed its visible state at the moment it changes, then you need an array, list, structure or other storage class level variable to track the last known visible state of the layers you wish to track and the run a comparison with the current state when you detect a visiblechanged event and then do the thing you are trying to do. However, that class variable may not be necessary if all you are trying to do is make sure a particular layer or set of layers stays visible and are not made part of a group layer. So describe how you envisioned this event fitting in to your application workflow and your real objectives to get better help.
... View more
07-04-2013
11:28 AM
|
0
|
0
|
910
|
|
POST
|
Hii All We are trying to automate reconcilation and post activity . But during reconcilation version having conflicts could not be reconciled. So we are trying to make "mark as visited" all the conflicts using Arcobject . Kindly suggest us Arcobjects for "mark as visited" option. There is no help that translates the interactive interface terms to the ArcObjects environment for handling version conflicts. Most likely that is because to use ArcObjects you actually have to code every step that the interactive interfaces actually set in motion when the user selects the option to Mark as Visited. (Generally for every step in the user interface there are at least 10 to 100 steps in ArcObjects underlying it). This means you have to act directly on the versions through the Version interfaces and probably cursors. Unfortunately nothing describes the code underlying those interactive interfaces in the help docs. The best I found was to read the Versioning help topic set and its subtopics and look up and experiment with the direct APIs of the interfaces and tools listed for ArcObjects that it leads you to. Those topics give code that does much of what the interactive interfaces are in reality doing through ArcObjects, such as detecting conflicts and removing conflicts from the conflict set. But it does not specifically walk through what the Mark as Visited option is in reality doing through ArcObject anywhere. The closest help topic to what you need to do seems to be How to merge conflicting geometries during a reconcile. At a guess, I would say that removing conflicts from the conflict set for a version in favor of the Reconcile rule (Mark as Visited) involves much the same process as this code gives, except that it would have to resolve every field to match the desired version, not just the shape field. In theory, the Mark As Visited option could be as easy as simply removing the conflict from the conflict set, since the Reconciled version is the version you want accepted, and you may not even have to read or alter any field information at all. [C#] updateUpdates.RemoveList(1, ref oid); conflictsRemoved = true; [VB.NET] updateUpdates.RemoveList(1, oid) conflictsRemoved = True Surround all of your code modifications in Try blocks, because there is no telling what errors you may trigger with this kind of code and be sure to operate on experimental data only while developing the code to avoid data corruption or loss. If you come up with anything using this information, share in on the ArcObjectsSDK forum. I'm sure others would benefit and perhaps be able to assist you if you get stuck.
... View more
07-04-2013
09:09 AM
|
0
|
0
|
467
|
|
POST
|
Hi, I have a district boundary and some base mapping (vector). What I want to do is use model builder to select by location so all features within the boundary plus a 2 mile buffer are selected. I tried using select by location tool but for some reason it won't connect to my Sde, the only type it wants to connect to is Data Element. I thought about the clip tool but I can't specify a 2 mile buffer on the clip tool as far as I am aware. Any suggestions much appreciated. Thanks Mark Select Layer By Attribute and Select Layer By Location tools both require that you provide them with a Layer (or Table View in the case of Select Layer By Attribute) as input, like what you see in ArcMap, not a feature class or table, like what you see in ArcCatalog. The second requirement for the Select Layer By Location tool in the help reads: "Valid inputs for this tool are layers in the ArcMap, ArcGlobe, or ArcScene table of contents, and also on layers created in ArcCatalog or in scripts using the Make Feature Layer tool." (For Select Layer By Attribute you can also use the Make Table View tool on tables). Therefore whenever you use a tool that creates an output type that stores a new feature class/shapefile, that output first must be passed through the Make Feature Layer tool before you pass it to the Select Layer By Location tool. Or, in the case of the Select Layer By Attribute tool, you must use the Make Feature Layer tool or the Make Table View tool on feature classes or tables. These Select Layer tools are both within the Layers and Table Views toolset for this reason, they only work with Layer/Table View input/output types. That is also why the tool names begin with the words Select Layer.
... View more
07-04-2013
07:55 AM
|
0
|
0
|
2137
|
|
POST
|
I have data from 1980 2000, and 2010 from census bureau by block groups and i have geocoded 100 addresses. I am trying to extract data from a buffer zone of 0.5 miles radius around each point. There are about 100 points in different parts of the country. 1. How does one calculate the average of the median income or median housing value within o.5 miles radius of a point/address that might cover as many as four block groups. We have explored using the average weighted join but found that mathematically its not very solid approach. someone suggested using centroid to calculate the averages but i am clueless as to which tool would work best Aggregating data is easy and reliable, but to be honest there is no real way to dis-aggregate data that is reliable without examining details that give you more information than what the aggregations provide such as aerials and making judgments on which values you think are most representative of the specific location you are plotting based on more specific sampling. All averages are a shot in the dark when you get to a single case location. If you use an average of some kind you could use straight mean, the median (middle value or average of two middle values), weighted mean, weighted median, or simply ignore the radius and use the single census block your location falls within (assuming none falls precisely on a boundary). But none will necessarily be the most reasonable when you look at the location in detail. So make a choice that you are willing to invest the time in, and then stick with the methodology for consistency. Any case by case examinations will always take the most time and be the least reproducible without storing additional data points for others to follow.
... View more
07-03-2013
08:31 PM
|
0
|
0
|
3033
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 03-24-2026 11:37 PM | |
| 1 | 03-24-2026 08:01 PM | |
| 7 | 02-23-2026 08:34 AM | |
| 1 | 03-31-2025 03:25 PM | |
| 1 | 03-28-2025 06:54 PM |
| Online Status |
Offline
|
| Date Last Visited |
4 weeks ago
|