Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
1. The amendment filed 08/12/2026 has been received and considered. Claims 1, 3-4 and 7-8 are presented for examination.
Claim Objections
2. Claim 3 is objected to because of the following informalities:
As per Claim 3, it recites the limitation “according to claim 2” which would be better as “according to claim 1” because claim 2 was cancelled by the amendment filed 08/12/2026.
Appropriate correction is required.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
3. Claims 1, 3, 4, 7, and 8 are rejected under 35 U.S.C. 103 as being unpatentable over Kelem (“ArcGIS Practical Guide”) in view of ArcGIS Pro 2.8 (“Geodatabase topology rules and fixes for polyline features”), further in view of ArcGIS 10.3 (“ArcGIS 10.3”), further in view of esri (“Insights 2020.3 Documentation”).
As per Claim 1, Kelem teaches a method for extracting attributes of starting and ending points of roads in batches from an urban regional road network (pg 4-5 "You use ArcCatalog to create a new personal geodatabase and import shapefiles to a feature dataset."; pg 12-13 "A data layer's attribute table contains a row (or record) for every feature in the layer and a column (or field) for every attribute, or category of information.”: per-feature records and per-attribute fields of a feature layer are processed in batch through the attribute table), comprising:
S1, obtaining a line layer Shape file of the urban regional traffic road network … (pg 2 “You use ArcCatalog to create a new personal geodatabase and import shapefiles to a feature dataset.”; pg 22-23, section “18. Creating Geodatabases, Feature Datasets, and Feature Classes”, "Topological feature classes are bond as one integrated topological unit, such as a geometric network": the line-layer shapefile of the road network is obtained and imported into the ArcGIS workspace);
S2, adding an identification (ID) field (pg 12-13 "A data layer's attribute table contains a row (or record) for every feature in the layer and a column (or field) for every attribute, or category of information."; pg 125 “Go to the “Options” tab at the bottom right hand corner of the attribute table, and from the pop-up menu choose the option “Add Field”.”: a new field (i.e., the “identification (ID) field” as claimed) is added to the layer’s attribute table);
S3, loading the line layer Shape2 file into an Arcgis® geographic information system platform (pg 2; pg 4-5 "You use ArcCatalog to create a new personal geodatabase and import shapefiles to a feature dataset."; pg 8–11, section “10.The ArcMap Interface & Adding Data”: layers are loaded into the ArcMap and ArcCatalog applications of the ArcGIS platform);
S4, adding an ID2 field, arranging data in the line layer Shape2 file according to a descending order of element values in the updated ID field (pg 14 “24. Field data may also be sorted. Right Click on the field “NAME”. You will have option to sort “Ascending” or “Descending”. Depending on the field type, the data will be sorted in alphabetical or numerical order. Sort and resort this field and observe the effects on the table arrangement.”; pg 110 “Right-click on the field heading, and choose the “Sort by Descending” option.”; pg 125: a further field is added to the attribute table (pg 125) and the table data is re-arranged by a descending sort on a chosen field, each field being sortable ascending or descending);
S5, loading the point-line layer Shape3 file and the line layer Shape2 file into the Arcgis® geographic information system platform (pg 109 “A spatial join, links/combines the attributes of two layers, based on the location of each layer’s features. Just like a table join, a spatial join appends the attributes of one layer to another.”: two layers are loaded and combined based on the location of each layer’s features);
S6, loading the point-line layer Shape4 file into the Arcgis® geographic information system platform, arranging data according to the descending order of the element values in the updated ID field and an ascending order of element values in the ID2 field (pg 14 “24. Field data may also be sorted. Right Click on the field “NAME”. You will have option to sort “Ascending” or “Descending”. Depending on the field type, the data will be sorted in alphabetical or numerical order. Sort and resort this field and observe the effects on the table arrangement.”; pg 100 “Right-click on the field heading, and choose the “Sort by Descending” option.”: the loaded layer’s table is arranged by field-value sort order, each field being sortable ascending or descending and sorted and re-sorted. Examiner’s Note - the descending order of the updated ID field together with the ascending order of the ID2 field is the documented sort applied on the updated ID field and then re-sorted on the ID2 field, the two documented sorts being applied in succession);
S7, saving the processed data to be exported as a Microsoft® Excel® workbook file, and selecting the updated ID field and a corresponding field to be exported as a comma-separated value (Csv) file (pg 110-112 “Open the 'Region_HealthCt' attribute table again. On the bottom right hand corner of the attribute table, click on the 'Options' button. From the menu, choose the 'Export' option”, “Now you will export this data to excel for graphing purposes”, "Although the file carries a .dbf extension, you will be able to open it in Excel, and save it to as regular .xls file from which you will create your graphs.", "Now you can save your table as an .xls file (excel) and graph it if you would like."; pg 107 “You must save it as a .dbf file, or a .csv file (make sure to choose ms-dos format).”; pg 123 “To export this selection as a new file, right-click on the “road” layer, scroll down to “Data” > “Export Data”.”: the processed attribute table is exported and opened as an Excel workbook (pg 112), the Excel worksheet is saved as a comma-separated .csv file (pg 107), and a selected part of the road data is exported as a new file (pg 123). Examiner’s Note - the fields written to the .csv file are the columns kept in the worksheet when it is saved, so the selection of the updated ID field and a corresponding field is the choice of those columns, a predictable use of the documented export and save steps);
S8, loading the line layer Shape2 file in step S2 into the Arcgis® geographic information system platform (pg 109: the stored line layer is loaded back into the platform for the joining operation), wherein
the line layer Shape file in step S1 is a layer file, comprising road sections (pg 5 “Roads have grading systems, speed limits, number of lanes, and one or two-way systems. Information about the individual feature of any one layer is stored in a table.”; pg 12-13: a road layer’s line features are the road sections, each linked to a record of attribute categories);
the road sections are line layer elements, comprising a field identifying number (FID), a road class field Class, a road width field Width, and a name field Name of the traffic road network (pg 13 “The “FID” field contains a unique identification number for every record.”; pg 5 “these tables are commonly referred to as “Attribute Tables”. Each object (or “feature”) on a GIS map is linked to a row of information in an attribute table.”; pg 14: each line feature is a record whose FID field is its identifying number and whose remaining fields hold its attribute categories, the NAME field among them; Examiner’s Note - the field labels Class, Width and Name designate road attribute categories of the kind the guide lists for roads (pg 5 “grading systems, speed limits, number of lanes”) and do not alter the structure or operation of the attribute table record); and
a specific method of obtain intersecting results in step S5 is as follows: loading the point-line layer Shape3 file and the line layer Shape2 file into the Arcgis® geographic information system platform (pg 109: the two layers are loaded into the platform for the location-based combining operation that produces the intersecting results).
In particular, Kelem teaches a complete ArcGIS workflow in which a road-network line-layer shapefile is imported into a geodatabase, its attribute table is extended with new fields, sorted, spatially joined with other layers, exported to Excel and delimited-text form, and joined back to the layer, so that per-road attribute information is processed in batch.
However, Kelem fails to teach explicitly S1,… and performing topology inspection and correction on the line layer Shape file;
S2, …, and assigning values to the corrected data in sequence with positive integers using the ID field to be stored as a line layer Shape2 file;
S3, … and performing processing to obtain data of starting, turning, and ending points of each road; and assigning points belonging to the same road with an element value of an ID field corresponding to the road to obtain an updated ID field;
S4, …and assigning values to the repeated elements in the updated ID field in sequence with positive integers using the ID2 field to be exported as a point-line layer Shape3 file;
S5,…, and intersecting point layer elements and line layer elements of the point-line layer Shape3 file and the line layer Shape2 file to obtain intersecting results to be exported as a point-line layer Shape4 file;
S6, …, and adding a new field to calculate the corresponding element values;
S8, loading the line layer Shape2 file in step S2 into the Arcgis platform, and connecting the line layer Shape2 file with the .Csv file in step S7, so as to extract the attributes of the starting and ending points of the roads in batches from the urban regional road network, wherein
intersecting the point layer elements and the line layer elements of the point-line layer Shape3 file and the line layer Shape2 file to generate a field Name_1 containing a name of the traffic network;
a specific method of adding a new field to calculate the corresponding element values in step S6 is as follows:
S6-1, adding an ID3 field with the same number of elements as the updated ID field, and in accordance with the name of the traffic network at a certain location in the field Name_1, taking the element value in the updated ID field corresponding to the name of the traffic network at a certain location in the field Name as an element value at the location in the ID3 field;
S6-2, adding a field Rep with the same number of elements as the ID3 field, and determining whether the updated ID field has the same element value with the element value at the same location in the ID3 field, and if yes, setting an element value at a corresponding location in the field Rep to 1; otherwise, setting the element value at the corresponding location in the field Rep to 0; S6-3, adding a field Acc with the same number of elements as the field Rep, and in the updated data corresponding to a same element value of the updated ID field, if an element value at a certain location in the field Rep is 1, setting an element value at a corresponding location in the field Acc to 0; and if an element value at a certain location in the field Rep is 0, setting an element value at a corresponding location in the field Acc to a number of occurrences that the element value 0 appears in the field Rep up to that location;
S6-4, adding a field Acc_0 with the same number of elements as the field Acc, and in data corresponding to a same element value of the updated ID field, recording a total number of occurrences of the element value 0 in the field Acc in each element of the field Acc_0;
S6-5, adding a field First with the same number of elements as the field Acc, obtaining a location of the element value 1 in the field Acc in data corresponding to a same element value of the updated ID field, and setting an element value of the field First at the location to 1 and remaining element values in the field First to 0; and
S6-6, adding a field End with the same number of elements as the field Acc, obtaining a location where an element value in the field Acc is equal to an element value in the field Acc_0 in data corresponding to a same element value of the updated ID field, and setting an element value in the field End at the location to 1 and remaining element values in the field End to 0.
ArcGIS Pro 2.8 teaches performing topology inspection and correction on the line layer Shape file (pg 1-11 “Lines must not overlap any part of another line within a feature class or subtype.”, “The end of a line must touch any part of one other line or any part of itself within a feature class or subtype.”: the enumerated must-not rule classes constitute the documented topology inspection of a line layer, and managing their violations is the claimed correction). In particular, ArcGIS Pro 2.8 teaches the enumerated polyline topology rule classes whose violations, including overlapping lines and line ends that fail to touch another line, are found and corrected on a line feature class before downstream processing.
Furthermore, ArcGIS 10.3 teaches S2, …, and assigning values to the corrected data in sequence with positive integers using the ID field to be stored as a line layer Shape2 file (pg 33-44, “In some cases, you might want to perform a mathematical calculation to set a field value for a single record or even all records. " 1/12 of “Calculate Field examples” section
PNG
media_image1.png
385
526
media_image1.png
Greyscale
on 10/12 of “Calculate Field examples” section: the documented autoIncrement() code block writes sequential positive-integer values into a field record by record);
S3, … and performing processing to obtain data of starting, turning, and ending points of each road (pg 69-70 section “Feature Vertices To Points”, “Creates a feature class containing points generated from specified vertices or locations of the input features", “Syntax” : points are generated at the start (first-vertex), intermediate (every-vertex) and end (last-vertex) locations of each input line feature); and assigning points belonging to the same road with an element value of an ID field corresponding to the road to obtain an updated ID field (pg 69-70 section “Feature Vertices To Points”, “The attributes of the input features will be maintained in the output feature class. A new field, ORIG_FID, will be added to the output feature class and set to the input feature IDs.”: each generated point automatically carries its parent road’s identifier in the ORIG_FID field (i.e., the “updated ID field” as claimed));
S4, …and assigning values to the repeated elements in the updated ID field in sequence with positive integers using the ID2 field to be exported as a point-line layer Shape3 file (pg 33-44, “In some cases, you might want to perform a mathematical calculation to set a field value for a single record or even all records. " 1/12 of “Calculate Field examples” section
PNG
media_image1.png
385
526
media_image1.png
Greyscale
on 10/12 of “Calculate Field examples” section) : the same documented sequential-numbering code block is applied over the repeated identifier values of the sorted table);
S6, …, and adding a new field to calculate the corresponding element values (pg 33-44, “In some cases, you might want to perform a mathematical calculation to set a field value for a single record or even all records. " 1/12 of “Calculate Field examples” section
PNG
media_image1.png
385
526
media_image1.png
Greyscale
on 10/12 of “Calculate Field examples” section: a newly added field is populated by a per-record calculation over all records) ;
S8, loading the line layer Shape2 file in step S2 into the Arcgis platform, and connecting the line layer Shape2 file with the .Csv file in step S7, so as to extract the attributes of the starting and ending points of the roads in batches from the urban regional road network (Pg 9-12, “Join Field”: the documented JoinField operation connects the line-layer table with the exported delimited-text table (i.e., the “connecting the line layer Shape2 file with the Csv file” as claimed) on the common updated ID field, appending the join-table fields to every line record in batch).
intersecting the point layer elements and the line layer elements of the point-line layer Shape3 file and the line layer Shape2 file to generate a field Name_1 containing a name of the traffic network (pg 9 “If a join field has the same name as a field from the input table, the joined field will be appended by _1”: the joined name column colliding with an existing Name column is automatically appended by _1, generating the field Name_1. Examiner’s Note - the intersecting of the point and line layers that generates the field Name_1 is performed as the spatial join of the two layers (Kelem pg 109 “a spatial join appends the attributes of one layer to another”), in which the appended name field colliding with the existing Name field is suffixed _1);
a specific method of adding a new field to calculate the corresponding element values in step S6 is as follows: (pg 33-44, “In some cases, you might want to perform a mathematical calculation to set a field value for a single record or even all records. "You can perform simple as well as advanced calculations on all or selected records” 1/12 of “Calculate Field examples” section; “Accumulative and Sequential Calculation” section on 10/12 of “Calculate Field examples” section: the documented per-record calculations constitute the specific method that the wherein clause introduces for the new field of step S6. Examiner Note - element-value computations are simple per-record conditional copies and equality comparisons of the kind expressly contemplated by the Calculate Field tool's documented use cases);
S6-1, adding an ID3 field with the same number of elements as the updated ID field, and in accordance with the name of the traffic network at a certain location in the field Name_1, taking the element value in the updated ID field corresponding to the name of the traffic network at a certain location in the field Name as an element value at the location in the ID3 field (pg 9 “The records in the Input Table are matched to the records in the Join Table based on the values of Input Join Field and the Output Join Field.”: record values of one table are propagated into a new field of another table by matching on a common key field, here the road-name fields Name_1 and Name);
S6-2, adding a field Rep with the same number of elements as the ID3 field, and determining whether the updated ID field has the same element value with the element value at the same location in the ID3 field, and if yes, setting an element value at a corresponding location in the field Rep to 1; otherwise, setting the element value at the corresponding location in the field Rep to 0 (pg 33-44, “In some cases, you might want to perform a mathematical calculation to set a field value for a single record or even all records. "You can perform simple as well as advanced calculations on all or selected records” 1/12 of “Calculate Field examples” section; “Accumulative and Sequential Calculation” section on 10/12 of “Calculate Field examples” section, “def accumulate(increment): global total if total: total += increment else: total = increment return total”: the documented per-record calculation sets the value of the new field for each record (pg 33), and the documented code block branches with if/else to write one value or another (pg 43); the field Rep is such a per-record calculation, written as 1 where the two fields hold the same value and 0 otherwise);
S6-3, adding a field Acc with the same number of elements as the field Rep, and in the updated data corresponding to a same element value of the updated ID field, if an element value at a certain location in the field Rep is 1, setting an element value at a corresponding location in the field Acc to 0; and if an element value at a certain location in the field Rep is 0, setting an element value at a corresponding location in the field Acc to a number of occurrences that the element value 0 appears in the field Rep up to that location (pg 42-43 “Calculate the accumulative value of a numeric field.”: the documented accumulate() code block maintains a running total of a numeric field up to each record location, which applied to the field Rep yields the number of occurrences up to that location);
S6-4, adding a field Acc_0 with the same number of elements as the field Acc, and in data corresponding to a same element value of the updated ID field, recording a total number of occurrences of the element value 0 in the field Acc in each element of the field Acc_0 (pg 33-44, “In some cases, you might want to perform a mathematical calculation to set a field value for a single record or even all records. "You can perform simple as well as advanced calculations on all or selected records” 1/12 of “Calculate Field examples” section; “Accumulative and Sequential Calculation” section on 10/12 of “Calculate Field examples” section: the documented accumulate() code block keeps a running total in a global variable across the records of the sorted table, the value reached at the last record of a group being that group’s total; the field Acc_0 records that total in each record of the group by the same per-record calculation);
S6-5, adding a field First with the same number of elements as the field Acc, obtaining a location of the element value 1 in the field Acc in data corresponding to a same element value of the updated ID field, and setting an element value of the field First at the location to 1 and remaining element values in the field First to 0 (pg 33-44, “In some cases, you might want to perform a mathematical calculation to set a field value for a single record or even all records. "You can perform simple as well as advanced calculations on all or selected records” 1/12 of “Calculate Field examples” section; “Accumulative and Sequential Calculation” section on 10/12 of “Calculate Field examples” section: the documented if/else code block (pg 43) writes a computed value into the new field record by record; the field First is that per-record calculation written as 1 where the running value in the field Acc equals 1, the first record of the group, and 0 elsewhere); and
S6-6, adding a field End with the same number of elements as the field Acc, obtaining a location where an element value in the field Acc is equal to an element value in the field Acc_0 in data corresponding to a same element value of the updated ID field, and setting an element value in the field End at the location to 1 and remaining element values in the field End to 0 (pg 33-44, “In some cases, you might want to perform a mathematical calculation to set a field value for a single record or even all records. "You can perform simple as well as advanced calculations on all or selected records” 1/12 of “Calculate Field examples” section; “Accumulative and Sequential Calculation” section on 10/12 of “Calculate Field examples” section: the same documented if/else per-record calculation writes the field End as 1 where the value in the field Acc equals the total recorded in the field Acc_0, the last record of the group, and 0 elsewhere. Examiner Note - element-value computations are simple per-record conditional copies and equality comparisons of the kind expressly contemplated by the Calculate Field tool's documented use cases).
In particular, ArcGIS 10.3 teaches an express Accumulative and sequential calculations section whose autoIncrement() and accumulate() code blocks, together with simple and advanced per-record calculations, populate newly added fields record by record with sequential identifiers and running totals; a documented tool that creates a point feature class from specified vertices or locations of input line features, including their start points, turning vertices, and end points, while maintaining the input attributes and writing the parent-feature identifier into a new ORIG_FID field; and the joining of the contents of one table to another on a common attribute field, with the input table updated to contain the joined fields, selected fields appended during the join, and colliding field names automatically suffixed to make them unique. The recited fields Rep, Acc, Acc_0, First, and End are each populated by one of these documented per-record operations applied to the records of the sorted table, a two-field comparison written as a 1/0 flag, a running count, a group total, and two flags written where the running count meets a stated value, each a predictable application of the documented sequential, accumulative, and if/else calculations to a newly added field.
Moreover, esri (“Insights 2020.3 Documentation”) teaches S5,…, and intersecting point layer elements and line layer elements of the point-line layer Shape3 file and the line layer Shape2 file to obtain intersecting results to be exported as a point-line layer Shape4 file (pg 67 “Create relationships to join datasets”, “Spatial joins (joins made using location fields) will be created using Intersects as the spatial relationship.”; pg 310-311 " Filter type table", "Use the Spatial Filter capability”, “If a feature in the first layer intersects a feature in the second layer, the feature in the first layer is included in the output.”: the point layer and the line layer are intersected under the documented Intersects spatial relationship and the intersecting features are output as a new dataset). In particular, esri teaches that spatial joins between two layers are created using the Intersects spatial relationship, and that a feature of the first layer intersecting a feature of the second layer is included in the output.
Kelem, ArcGIS Pro 2.8, ArcGIS 10.3, and esri are analogous art because they are all from the same field of endeavor as the claimed invention, geographic information system (GIS) processing of road network layer data (In re Bigio, 381 F.3d 1320, 1325 (Fed. Cir. 2004)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of cited references. Thus, one of ordinary skill in the art before the effective filing date of the claimed invention would have been motivated to incorporate ArcGIS Pro 2.8, ArcGIS 10.3, and esri into Kelem’s invention for the purpose of practical computerized mapping and spatial analysis of road network shapefile data in the ArcGIS environment to provide geodatabase topology rules that define relationships between features in the same feature class or subtype, with predefined fixes for the errors they find (ArcGIS Pro 2.8: pg 1) and to provide a mathematical calculation that sets a field value for a single record or even all records, with simple as well as advanced calculations on all or selected records, points generated from specified vertices or locations of the input features with the attributes of the input features maintained in the output feature class, and an input table updated to contain the fields from the join table with only desired fields selected and appended during the join (ArcGIS 10.3: pg 33; pg 69; pg 9) and to provide spatial joins created using Intersects as the spatial relationship (esri: pg 67). This rationale is the combination of prior art elements according to known methods to yield predictable results, MPEP 2143(I)(A); KSR Int’l Co. v. Teleflex Inc.
As per Claim 3, Kelem teaches wherein a specific method in step S1 is as follows: S1-1, obtaining the line layer Shape file of the urban regional traffic road network, loading the line layer Shape file into the Arcgis® geographic information system platform (pg 2 “You use ArcCatalog to create a new personal geodatabase and import shapefiles to a feature dataset.”, “Components of ArcGIS Desktop”), and establishing a geographic database using an ArcCatalog® software tool of the Arcgis® geographic information system platform (pg 23 “19. Create a new Geodatabase”, “To create a new geodatabase in Arc Catalog first right click on the folder that contains the data for the exercise. Select New/Personal Geodatabase and a new geodatabase --called New Personal Geodatabase.mdb and represented by an icon with the shape of a cylinder -- will be created”: the line-layer shapefile is loaded and a personal geodatabase is established with the ArcCatalog application of the ArcGIS platform).
However, Kelem fails to teach explicitly S1-2, importing a single line layer element of the line layer Shape file, creating a new topology inspection, and connecting the road sections end to end through correction to obtain closed space data, wherein the correction comprises removing road sections which are overlap, intersect, and gap.
ArcGIS Pro 2.8 teaches S1-2, importing a single line layer element of the line layer Shape file, creating a new topology inspection, and connecting the road sections end to end through correction to obtain closed space data, wherein the correction comprises removing road sections which are overlap, intersect, and gap (pg 1-4 “Lines must not cross or overlap any part of another line within the same feature class or subtype.”, “The end of a line must touch any part of one other line or any part of itself within a feature class or subtype.”, pg 1-4 “topology rules”, all “Must Not …” rules : the documented must-not-cross-or-overlap and end-must-touch rule classes identify overlapping, intersecting and dangling (gapped) road sections, whose correction with the editing tools leaves connected line work (i.e., the “closed space data” as claimed)).
As per Claim 4, Kelem fails to teach explicitly a specific method of loading the line layer Shape2 file into an Arcgis® geographic information system platform, and performing processing to obtain data of starting, turning, and ending points of each road in step S3 is as follows: S3-1, loading the line layer Shape2 file into the Arcgis® geographic information system platform, taking the line layer Shape2 file as input elements using the ArcCatalog® software tool of the Arcgis® geographic information system platform, and creating a point at starting and ending points of each of the input elements to obtain the data of the starting and ending points of each road, wherein the input elements comprise the starting, turning, and ending points; and S3-2, loading the line layer Shape2 file with the data of the starting and ending points obtained into the Arcgis® geographic information system platform, taking the line layer Shape2 file with the data of the starting and ending points obtained as input elements using the ArcCatalog® software tool of the Arcgis® geographic information system platform, and creating a point at a turning point of each of the input elements to obtain the data of the turning point of each road.
ArcGIS 10.3 teaches wherein a specific method of loading the line layer Shape2 file into an Arcgis® geographic information system platform, and performing processing to obtain data of starting, turning, and ending points of each road in step S3 is as follows: S3-1, loading the line layer Shape2 file into the Arcgis® geographic information system platform, taking the line layer Shape2 file as input elements using the ArcCatalog® software tool of the Arcgis® geographic information system platform, and creating a point at starting and ending points of each of the input elements to obtain the data of the starting and ending points of each road, wherein the input elements comprise the starting, turning, and ending points (pg 69-70 section “Feature Vertices To Points”, “BOTH_ENDS —Two points will be created, one at the start point and another at the endpoint of each input feature.”: the documented BOTH_ENDS option creates the points at the start and end points of each input line feature. Examiner’s Note - the recited “ArcCatalog® software tool of the Arcgis® geographic information system platform” is read as a tool of the integrated ArcGIS platform, which “consists of three components: ArcCatalog, ArcMap and ArcToolbox”, ArcToolbox being “an interface for accessing the data conversion and analysis function that come with ArcGIS” (Kelem pg 2).); and
S3-2, loading the line layer Shape2 file with the data of the starting and ending points obtained into the Arcgis® geographic information system platform, taking the line layer Shape2 file with the data of the starting and ending points obtained as input elements using the ArcCatalog® software tool of the Arcgis® geographic information system platform, and creating a point at a turning point of each of the input elements to obtain the data of the turning point of each road (pg 69-70 section “Feature Vertices To Points”, “ALL —A point will be created at each input feature vertex. This is the default.”: the documented ALL option creates a point at every vertex of each input feature, including the turning points).
As per Claim 7, Kelem teaches wherein a specific method of selecting the updated ID field and a corresponding field in step S7 is as follows: selecting part of the field First whose element is equal to 1 in the field First (pg 122 “From the “Selection” drop down menu, choose the “Select by Attribute” option.”; pg 122 “The scroll menu under the “Method” drop down, lists all the fields in the Road attribute table. The field you are interested in is “SURFACE_TY”.”; pg 122-123 “Using the field names, and query operators, build the following query: SURFACE_TY" = 'AC' OR "SURFACE_TY" = 'ST' OR "SURFACE_TY" = 'Gravel'”; pg 123: the documented Select by Attribute query is built on a field chosen from the layer’s attribute table and selects the records whose value in that field equals a stated value (i.e., the “selecting part of the field First whose element is equal to 1” as claimed, the chosen field being the computed field First and the stated value being 1), and the resulting selection is then exported as a new file (pg 123); Examiner’s Note - Kelem builds the query on a surface-type field with text values; building the same documented query on the computed field First with the value 1 is the ordinary use of the documented attribute selection for its documented function of selecting the records whose field value meets the query, a predictable use of a documented tool (see the Response to Arguments above)); and
selecting part of the field End whose element is equal to 1 in the field End (pg 122-123; pg 123: the same documented attribute query and export of the selection are applied to the field End with the value 1).
However, Kelem fails to teach explicitly selecting a field Name_1 corresponding to the part of the field First whose element is equal to 1 in the field First and the updated ID field; and selecting a field Name_1 corresponding to the part of the field End whose element is equal to 1 in the field End and the updated ID field.
ArcGIS 10.3 teaches selecting a field Name_1 corresponding to the part of the field First whose element is equal to 1 in the field First and the updated ID field (pg 9 “Optionally, only desired fields can be selected from the Join Table and appended to the Input Table during the join.”; pg 9: only the desired Name_1 and updated ID fields are selected and appended to the input records during the key-matched join; the records they are appended to are those selected in the manner set out above (Kelem pg 122-123)); and
selecting a field Name_1 corresponding to the part of the field End whose element is equal to 1 in the field End and the updated ID field (pg 9: the same documented field selection is applied to the records whose End value equals 1).
As per Claim 8, Kelem fails to teach explicitly a specific process of step S8 is as follows: loading the line layer Shape2 file of step S2 into the Arcgis® geographic information system platform, connecting the line layer Shape2 file with the Csv file of step S7, and based on element values of the updated ID fields in the line layer Shape2 file and the Csv file, matching a starting point in the line layer Shape2 file with elements in the field Name_1 corresponding to the field First, and matching an ending point in the line layer Shape2 file with elements in the field Name_1 corresponding to the field End, so as to extract the attributes of the starting and ending points of the roads in batches from the urban regional road network.
ArcGIS 10.3 teaches wherein a specific process of step S8 is as follows: loading the line layer Shape2 file of step S2 into the Arcgis® geographic information system platform (pg 9 "The records in the Input Table are matched to the records in the Join Table based on the values of Input Join Field and the Output Join Field"), connecting the line layer Shape2 file with the Csv file of step S7, and based on element values of the updated ID fields in the line layer Shape2 file and the Csv file, matching a starting point in the line layer Shape2 file with elements in the field Name_1 corresponding to the field First, and matching an ending point in the line layer Shape2 file with elements in the field Name_1 corresponding to the field End, so as to extract the attributes of the starting and ending points of the roads in batches from the urban regional road network (pg 11 “syntax”, “JoinField_management (in_data, in_field, join_table, join_field, {fields})”: the line-layer Shape2 file as in_data, the updated ID field as in_field, the .Csv file as join_table, and the same updated ID field as join_field, thereby propagating the per-road First-keyed Name_1 (starting-point name) and End-keyed Name_1 (ending-point name) onto every Shape2 line record in batches: the documented key-matched join, instantiated as claimed with the line-layer Shape2 table as the input table, the updated ID field as the join key, and the delimited-text file as the join table, matches the First-keyed and End-keyed Name_1 elements onto the starting and ending points of every road record).
Response to Arguments
4. Applicant's arguments filed on 08/12/2026 have been fully considered but they are not persuasive.
The ArcGIS Pro 2.8 edition of “Geodatabase topology rules and fixes for polyline features” (May 2021) is cited in this action in place of the ArcGIS Pro 3.6 edition of the same Esri help page relied on in the previous action. The rule text relied on is identical in both editions; thus, the substitution corrects the publication date of record only and does not change the ground of rejection.
Examiner respectfully withdraws Objections to Specification in view of the amendment and/or applicant’s arguments.
As per 103 rejection, applicants have argued that:
The overall scheme defined by the amended claim 1 (in particular the six-field dependency defined in S6-1 to S6-6) provides a solution that is capable of automatically identifying which point of each road is the starting point and which point is the ending point. This is not a conventional or foreseeable simple application of existing tools, but a specific method specially designed to solve the technical problems of inaccurate matching and labor and time consumption of manual processing in the prior art during traffic planning using Arcgis, and the method has the following beneficial effects: it can greatly reduce the error rate of manual data processing and the time of manual judgment, extract attributes of starting and ending points of roads in batches from an urban regional road network, and has high efficiency. Therefore, the application possesses non-obviousness.
In response to applicant's argument that the six-field scheme can greatly reduce the error rate of manual data processing and the time of manual judgment and has high efficiency, the fact that the inventor has recognized another advantage which would flow naturally from following the suggestion of the prior art cannot be the basis for patentability when the differences would otherwise be obvious. See Ex parte Obiaya, 227 USPQ 58, 60 (Bd. Pat. App. & Inter. 1985). The asserted advantages of batch processing and reduced manual error are the predictable benefits of chaining the documented ArcGIS tools, as articulated in the motivation statements of this action.
In response to applicant’s argument that the cited art does not even recognize the technical problem of automatically extracting the starting points and the ending points of roads, the reason or motivation to combine the references need not be the same as applicant’s reason, and the analysis need not seek out precise teachings directed to the specific subject matter of the challenged claim. See KSR, 550 U.S. at 418-420. In any event, the premise is incorrect: identifying the start and end vertices of line features is the express, documented function of the Feature Vertices To Points tool (ArcGIS 10.3: pg 69-70), and applicant’s own remarks concede that the conventional approach to identify the starting points and the ending points of roads in GIS relies on geometric endpoints. The claimed cumulative-zero bookkeeping is an implementation detail downstream of the conventional geometric-endpoint extraction that the claim itself employs in step S3.
Further applicants have argued that:
PNG
media_image2.png
78
703
media_image2.png
Greyscale
In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986). The assertion that the application differs from Kelem at least in steps S6-1 to S6-6 is directed to limitations for which the rejection relies on the ArcGIS 10.3 tool documentation in combination with Kelem, not on Kelem alone; the rejection of record acknowledges that Kelem does not disclose steps S6-1 to S6-6 and relies on the documented Calculate Field and Join Field tool disclosures for those steps.
Moreover, applicants have argued that:
PNG
media_image3.png
191
694
media_image3.png
Greyscale
In response to applicant’s argument that there is no teaching, suggestion, or motivation to combine the references, the examiner recognizes that obviousness may be established by combining or modifying the teachings of the prior art to produce the claimed invention where there is some teaching, suggestion, or motivation to do so found either in the references themselves or in the knowledge generally available to one of ordinary skill in the art. See In re Fine, 837 F.2d 1071, 5 USPQ2d 1596 (Fed. Cir. 1988), In re Jones, 958 F.2d 347, 21 USPQ2d 1941 (Fed. Cir. 1992), and KSR International Co. v. Teleflex, Inc., 550 U.S. 398, 82 USPQ2d 1385 (2007). In this case, the suggestion is found in the references themselves: the rejection does not rest on the bare existence of a field calculator, but on the tool documentation’s own worked examples. The Calculate Field documentation carries an express “Accumulative and sequential calculations” section with an autoIncrement() sequential-numbering code block and an accumulate() running-count code block (ArcGIS 10.3: pg 42-43), which are the very per-record conditional, equality-comparison, and running-count primitives recited by steps S6-1 to S6-6; the Feature Vertices To Points documentation states that a point is created at the start point (first vertex) and at the end point (last vertex) of each input feature with the parent-feature identifier automatically written to a new ORIG_FID field (ArcGIS 10.3: pg 69-70); and the Join Field documentation supplies key-matched propagation of fields between tables, including the automatic _1 suffix that generates the recited field Name_1 (ArcGIS 10.3: pg 9). Once the vertex points of each road are tagged with the parent-road identifier and joined to the road names, marking the first and the last point of each road group is a bookkeeping exercise with a small number of predictable implementations using the documented sequential and accumulative code blocks; the recited Rep, Acc, Acc_0, First, and End chain is such a predictable use of the documented primitives, and the combination yields no more than predictable results.
Applicants have argued that:
In view of the above, the Applicant believes that the amended claim 1 of the present disclosure possesses non-obviousness, and claim 1 is allowable. Furthermore, all dependent claims of claim 1 are also allowable by virtue of their dependencies on an allowable base claim. Thus, withdrawal of these rejections is respectfully requested.
In response to applicant's argument that the examiner's conclusion of obviousness is based upon improper hindsight reasoning, it must be recognized that any judgment on obviousness is in a sense necessarily a reconstruction based upon hindsight reasoning. But so long as it takes into account only knowledge which was within the level of ordinary skill at the time the claimed invention was made, and does not include knowledge gleaned only from the applicant's disclosure, such a reconstruction is proper. See In re McLaughlin, 443 F.2d 1392, 170 USPQ 209 (CCPA 1971). Every element of the mapping in this action is drawn from the cited tool documentation's own text and worked examples, not from applicant's disclosure.
No dependent claim is separately argued. Claims 3, 4, 7, and 8 stand or fall with claim 1; thus, 103 rejection maintains for the reasons above.
Conclusion
5. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Esri-Intersect (“Intersect, ArcGIS Desktop 10.3 Help”) teaches computing a geometric intersection of input features with the attributes of both inputs copied to the output.
Hulubei (US 8,176,045 B2) teaches batch annotation of each road segment in a map database with whether the segment begins or ends at a given intersection.
6. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
7. Any inquiry concerning this communication or earlier communications from the examiner should be directed to EUNHEE KIM whose telephone number is (571)272-2164. The examiner can normally be reached Monday-Friday 9am-5pm ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Ryan Pitaro can be reached at (571)272-4071. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
EUNHEE KIM
Primary Examiner
Art Unit 2188
/EUNHEE KIM/Primary Examiner, Art Unit 2188