# New Philadelphia, IL mapping # Michael Minn # 29 December 2020 library(sf) wgs84 = "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs" # EPSG 3436: NAD83 / Illinois West (ftUS) illinois_west = "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs" # EPSG 6457: NAD83(2011) / Illinois West (ftUS) # USed on 2016 NPS maps # http://epsg.io/6457 illinois_west = "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs" options(digits=10) # https://navigator.blm.gov/services # ssmmTttttdrrrrd0 # ss = state # mm = meridian code (https://nationalcad.org/download/PublicationHandbookOct2016.pdf) # tttt = township (ex. 38 is 0380) # d = direction (N or S for townships, E or W for ranges) # rrrr = range (e.x. # IL040040S0050W0SN230 # IL = Illinois # 04 = 4th principal meridian # 0040S = Township 4 south # 0050W = Range 5 west # 0SN230 = Section 23 # CadNSDI standards # https://www.earthpoint.us/TownshipsSearchByDescription.aspx # Survey bearings to angles # (90) # N # (135) N 45deg W N 45 deg E (45) # (180) W E (0) # (225) S 45deg W S 45 deg E (315) # S # (270) survey_point = function(start, angle, distance) { radians = 2.0 * pi * angle / 360.0 return(c(start[1] + (distance * cos(radians)), start[2] + (distance * sin(radians)))) } dms_to_decimal = function(degrees, minutes, seconds, n_s, e_w) { x = degrees + (minutes / 60) + (seconds / 60 / 60) if (n_s == "N") { if (e_w == "E") x = 90 - x else x = 90 + x } else { if (e_w == "E") x = 270 + x else x = 270 - x } return(x) } # ------------------------------------------------------------------- # Tract A # Parcel 45-023-11 # ------------------------------------------------------------------- # A tract of ground located in the Town of New Philadelphia described as follows: # Beginning at the Southeast corner of Lot Seven (7) in Block Ninteen (19), # Because of the inspecific directions, the point of beginning is 90 feet west # of the point of beginning for tract D, which is adjacent to the east. #topright = st_sfc(st_point(c(-90.953755905176976, 39.698119341332195)), crs = wgs84) #topleft = st_sfc(st_point(c(-90.972837176433814, 39.698199451377839)), crs = wgs84) #topright = st_transform(topright, illinois_west) #topleft = st_transform(topleft, illinois_west) #x = (st_coordinates(topright) + st_coordinates(topleft)) / 2 x = st_sfc(st_point(c(-90.972837176433814, 39.698199451377839)), crs = wgs84) x = st_transform(x, illinois_west) x = st_coordinates(x) x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 2674.32) x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 1130.00 - 90) x = survey_point(x, dms_to_decimal(0, 28, 37, "S", "W"), 600.00 + 650) points = x # running # Thence North six hundred and fifty(650) feet, x = survey_point(x, dms_to_decimal(0, 28, 37, "N", "E"), 650.00) points = rbind(points, x) # thence West one hundred ninety five # (195) feet to Ann Street, x = survey_point(x, dms_to_decimal(89, 8, 56, "N", "W"), 195) points = rbind(points, x) # thence South six hundred fifty (650 feet to the Southwest # corner of Lot Five (5) in Block Ninteen (19), x = survey_point(x, dms_to_decimal(0, 28, 37, "S", "W"), 650.00) points = rbind(points, x) # thence East along the North line of # South Street to the place of beginning. x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 195) points = rbind(points, x) plot(st_linestring(points)) points[nrow(points),] = points[1,] parcels = st_sf(data.frame(parcel = "45-023-11", owner = "New Philadelphia Association"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) # ------------------------------------------------------------------- # Tract B: Lane way to cemetery # Parcel 45-023-05A # ------------------------------------------------------------------- # Book 790, Page 235 # A tract of land lying in and being a part of the East Half of the # Northeast Quarter of Section 27, Township 4 South, Range 5 West # of the Fourth Principal Meridian, Pike County, Illinois and # being more fully described as follows: # Commencing at a point marking the Northeast corner of the # Northeast Quarter of the aforementioned Section 27; # IL040040S0050W0SN270 x = st_sfc(st_point(c(-90.953755905176976, 39.698119341332195)), crs=wgs84) x = st_transform(x, illinois_west) x = st_coordinates(x) # Thence South 00 degrees 42 minutes and 05 seconds West along the East line of # the Northeast Quarter of said Section 27, a distance of 1595.09 # feet to the true point of begining; x = survey_point(x, dms_to_decimal(0, 42, 5, "S", "W"), 1595.09) points = x # Thence South 00 degrees 42 # minutes and 05 seconds West along said East line, 81.78 feet to a # point on the Northerly right-of-way of Illinois Route #72; x = survey_point(x, dms_to_decimal(0, 42, 5, "S", "W"), 81.78) points = rbind(points, x) # Thence # South 78 degrees 43 minutes and 01 second West (leaving said East # line), and along said Northerly right-of-way, 379.12 feet; x = survey_point(x, dms_to_decimal(78, 43, 1, "S", "W"), 379.12) points = rbind(points, x) # Thence # North 86 degrees 50 minutes and 59 seconds West along said # Northerly right-of-way 601.33 feet; x = survey_point(x, dms_to_decimal(86, 50, 59, "N", "W"), 601.33) points = rbind(points, x) # Thence North 89 degrees 48 # minutes and 16 seconds West along said Northerly right-of-way, # 368.73 feet to a point on the West line of the East Half of the # Northeast Quarter of said Section 27; x = survey_point(x, dms_to_decimal(89, 48, 16, "N", "W"), 368.73) points = rbind(points, x) # Thence North 00 degrees 29 # minutes and 40 seconds East (leaving said Northerly # right-of-way), and along said West line, 40.00 feet; x = survey_point(x, dms_to_decimal(0, 29, 40, "N", "E"), 40) points = rbind(points, x) # Thence South # 89 degrees 48 minutes and 16 seconds East (leaving said West # line), 410.00 feet; x = survey_point(x, dms_to_decimal(89, 48, 16, "S", "E"), 410.00) points = rbind(points, x) # Thence North 00 degrees 29 minutes and 40 # seconds West, 37.99 feet; x = survey_point(x, dms_to_decimal(0, 29, 40, "N", "W"), 37.99) points = rbind(points, x) # Thence South 86 degrees 50 minutes and # 59 seconds East, 554.26 feet; x = survey_point(x, dms_to_decimal(86, 50, 59, "S", "E"), 554.26) points = rbind(points, x) # Thence North 78 degrees 43 minutes # and 01 second East, 385.97 feet to the point of beginning, # containing 2.10 acres, m/l; As per survey during October of 2008 # of Marvin J. Likes, Illinois Professional Land Surveyor #35.2150 x = survey_point(x, dms_to_decimal(78, 43, 1, "N", "E"), 385.97) points = rbind(points, x) plot(st_linestring(points)) # Make sure start/end points meet points[nrow(points),] = points[1,] tract_b = st_sf(data.frame(parcel = "45-023-05A", owner = "New Philadelphia Association"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) parcels = rbind(parcels, tract_b) # ------------------------------------------------------------------- # Tract C: Cemetery # Parcel 45-022-02B # ------------------------------------------------------------------- # A tract of land lying in and being a part of the Northwest # Quarter of Section 26, Township 4 South, Range 5 West of the # Fourth Principal Merician, Pike County, Illinois, and being more # fully described as follows: # Commencing at a point marking the Northwest corner of the # Northwest Quarter of the aforementioned Section 26; # IL040040S0050W0SN260 x = st_sfc(st_point(c(-90.953755905176976, 39.698119341332195)), crs=wgs84) x = st_transform(x, illinois_west) x = st_coordinates(x) # Thense South # 00 degrees 42 minutes and 05 seconds West along the West line of # the Northwest Quarter of said Section 26, a distance of 1339.97 # feet to a point marking the Northwest corner of the Southwest # Quarter of the Northwest Quarter of said Section 26, said point # being the true point of beginning; x = survey_point(x, dms_to_decimal(0, 42, 5, "S", "W"), 1339.97) points = x # Thence South 88 degrees 46 # minutes and 52 seconds East (leaving said West line), and along # the North line of the Southwest Quarter of the Northwest Quarter # of said Section 26, a distance of 1033.16 feet; x = survey_point(x, dms_to_decimal(88, 46, 52, "S", "E"), 1033.16) points = rbind(points, x) # Thence South 06 # degrees 14 minutes and 37 seconds West (leaving said North line), # 378.46 feet to a point on the Northerly right-of-way of Illinois # Route #72; x = survey_point(x, dms_to_decimal(6, 14, 37, "S", "W"), 378.46) points = rbind(points, x) # Thence North 88 degrees 26 minutes and 42 seconds West # along said Northerly right-of-way, 71.05 feet; x = survey_point(x, dms_to_decimal(88, 26, 42, "N", "W"), 71.05) points = rbind(points, x) # Thence North 00 # degrees 02 minutes and 38 seconds East (leaving said Northerly # right-of-way), 110.25 feet; x = survey_point(x, dms_to_decimal(0, 2, 38, "N", "E"), 110.25) points = rbind(points, x) # Thence South 89 degrees 32 minutes # and 50 seconds West, 231.00 feet; x = survey_point(x, dms_to_decimal(89, 32, 50, "S", "W"), 231.00) points = rbind(points, x) # Thence South 00 degrees 13 # minutes and 38 seconds West, 95.26 feet to a point on the # Northerly right-of-way of Illinois Route #72; x = survey_point(x, dms_to_decimal(0, 13, 38, "S", "W"), 95.26) points = rbind(points, x) # Thence North 84 # degrees 31 minutes and 00 seconds West along said Northerly # right-of-way, 367.70 feet; x = survey_point(x, dms_to_decimal(84, 31, 00, "N", "W"), 367.70) points = rbind(points, x) # Thence North 86 degrees 51 minutes and # 02 seconds West along said Northerly right-of-way, 301.01 feet; x = survey_point(x, dms_to_decimal(86, 51, 2, "N", "W"), 301.01) points = rbind(points, x) # Thence South 78 degrees 41 minutes and 37 seconds West along said # right-of-way, 27.85 feet to a point on the West line of the # Northwest Quarter of said Section 26; x = survey_point(x, dms_to_decimal(78, 41, 37, "S", "W"), 27.85) points = rbind(points, x) # Thence North 00 degrees 42 # minutes and 05 seconds East (leaving said Northerly # right-of-way), and along the West line of the Northwest Quarter # of said Section 26, a distance of 336.90 feet to the point of # beginning, containing 7,72 Acres, m/l; As per survey during # October of 2008 of Marvin J. Likes, Illinois Professional Land # Surveyor #35-2150 x = survey_point(x, dms_to_decimal(0, 42, 5, "N", "E"), 336.90) points = rbind(points, x) plot(st_linestring(points)) points[nrow(points),] = points[1,] tract_c = st_sf(data.frame(parcel = "45-022-02B", owner = "New Philadelphia Association"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) parcels = rbind(parcels, tract_c) # ------------------------------------------------------------------- # Tract D # # Parcel 45-023-07A 1.34 acres # RNG/BLK:5 TWP:04 SECT/LOT:27 LOTS 1 & 8 OF blks 12, & 19 NE SEC 27 # VILLAGE OF PHILADELPHIA TD09292014B842P328#2014-2350 # ------------------------------------------------------------------- # A tract of land lying in and being a part of the original Town of # New Philadelphia (now vacated), as located in Section 27, # Township 4 South, Range 5 West of the Fourth Principal Meridian, # Pike County, Illinois and being more fully described as follows: # Commencing at a point marking the Northwest corner of the Northeast # Quarter of the aforementioned Section 27; # IL040040S0050W0SN270 #topright = st_sfc(st_point(c(-90.953755905176976, 39.698119341332195)), crs = wgs84) #topleft = st_sfc(st_point(c(-90.972837176433814, 39.698199451377839)), crs = wgs84) #topright = st_transform(topright, illinois_west) #topleft = st_transform(topleft, illinois_west) #x = (st_coordinates(topright) + st_coordinates(topleft)) / 2 x = st_sfc(st_point(c(-90.972837176433814, 39.698199451377839)), crs = wgs84) x = st_transform(x, illinois_west) x = st_coordinates(x) x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 2674.32) # x = st_sfc(st_point(x), crs=illinois_west) # x = st_transform(x, wgs84) # Thence South # 89 degrees 08 minutes and 56 seconds East along the North line of # said Northeast Quarter, 1130.00 feet; x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 1130.00) # Thence South 00 degrees 28 # monutes and 37 seconds West (leaving said North line), 600.00 # feet to the true point of beginning; x = survey_point(x, dms_to_decimal(0, 28, 37, "S", "W"), 600.00) points = x # Thence continue South 00 # degrees 28 minutes and 37 seconds West, 650.00 feet; x = survey_point(x, dms_to_decimal(0, 28, 37, "S", "W"), 650) points = rbind(points, x) # Thence North # 89 degrees 08 minutes and 56 seconds West, 90.00 feet to a point # marking the Southeast corner of Lot 7 of Block 19 of the original # Town of New Philadelphia (now vacated); x = survey_point(x, dms_to_decimal(89, 8, 56, "N", "W"), 90) points = rbind(points, x) # Thence North 00 degrees # 28 minutes and 37 seconds East, 650.00 feet to a point marking # the Southeast corner of Lot 7 of Block 9 of the original Town of # New Philadelphia (now vacated); x = survey_point(x, dms_to_decimal(0, 28, 37, "N", "E"), 650) points = rbind(points, x) # Thence South 89 degrees 08 # minutes and 56 seconds East, 90.00 feet to the point of # beginning, containing 1.34 Acres, m/l; As per survey # during October of 2008 of Marvin J. Likes, Illinois Professional Land # Surveyor #35-2150. x = survey_point(x, dms_to_decimal(89, 08, 56, "S", "E"), 90) points = rbind(points, x) plot(st_linestring(points)) points[nrow(points),] = points[1,] tract_d = st_sf(data.frame(parcel = "45-023-07A", owner = "New Philadelphia Association"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) parcels = rbind(parcels, tract_d) # ------------------------------------------------------------------- # Tract E / Tract F # # Parcel 45-023-07B 4.57 acres # RNG/BLK:5 TWP:04 SECT/LOT:27 BLOCKS 2 & 9 NE SEC 27 VILLAGE OF PHILADELPHIA # CD03122010B795P299#2010-0680 TD03122010B795P298#2010-0679 # # Parcel 45-023-08 3.69 acres # RNG/BLK:5 TWP:04 SECT/LOT:27 ALL BLK 3 & 8 and lots 2-7 of blk 2 & 9 # VILLAGE OF PHILADELPHIA TD03122010B795P298#2010-0679 T120992B119P84#92-3385 # ------------------------------------------------------------------- # A tract of land lying in and being a part of the Original TOwn of # New Philadelphia (now vacated), as located in the Northeast # Quarter of Section 27, Township 4 Souty, Range 5 West of the # Fourth Principal Meridian, Pike County, Illinois, and being more # fully described as follows: # COMMENCING at a point marking the Northwest corner of the # Northeast Quarter of the aforementioned Section 27; # IL040040S0050W0SN270 #topright = st_sfc(st_point(c(-90.953755905176976, 39.698119341332195)), crs = wgs84) #topleft = st_sfc(st_point(c(-90.972837176433814, 39.698199451377839)), crs = wgs84) #topright = st_transform(topright, illinois_west) #topleft = st_transform(topleft, illinois_west) #x = (st_coordinates(topright) + st_coordinates(topleft)) / 2 #z = st_sfc(st_point(x), crs=illinois_west) #z = st_transform(z, wgs84) #cat("Tract E/F POB \n") #print(z) x = st_sfc(st_point(c(-90.972837176433814, 39.698199451377839)), crs = wgs84) x = st_transform(x, illinois_west) x = st_coordinates(x) x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 2674.32) # Thence South # 89 degrees 08 minutes and 56 seconds East along the North line of # the Northeast Quarter of said Section 27, a distance of 490.00 # feet to the true point of beginning; x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 490.00) points = x # Thence continue South 89 # degrees 08 minutes and 56 seconds East along said North line, # 640.00 feet to a point in the centerline of Canton Street; # NORTH STREET from BROAD to CANTON x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 640) points = rbind(points, x) # Thence # South 00 degrees 28 minutes and 37 seconds West (leaving said # North line), and along said centerline, 600.00 feet to a point on # the North line of Main Street extended; # CANTON from NORTH to MAIN x = survey_point(x, dms_to_decimal(0, 28, 37, "S", "W"), 600) points = rbind(points, x) # Thence North 89 degrees # 08 minutes and 56 seconds West along said North line of Main # Street, 285.00 feet; # MAIN (north line) from CANTON to ANN x = survey_point(x, dms_to_decimal(89, 8, 56, "N", "W"), 285) points = rbind(points, x) # Thence South 00 degrees 28 minutes and 37 # seconds West (leaving said North line of Main Street), 40.00 feet # to a point on the centerline of Main Street; # MOVE TO CENTERLINE OF MAIN x = survey_point(x, dms_to_decimal(0, 28, 37, "S", "W"), 40) points = rbind(points, x) # Thence North 89 # degrees 08 minutes and 56 seconds West along the centerline of # Main Street, 355.00 feet to a point on the centerline of # Broadway; # MAIN FROM ANN TO BROADWAY x = survey_point(x, dms_to_decimal(89, 8, 56, "N", "W"), 355) points = rbind(points, x) # Thence North 00 degrees 28 minutes and 37 seconds East # along the centerline of Broadway 640 feet to the point of # beginning, containing 9.14 acres, m/l, with the above described # subject to that portion now being used for public road purposes # (County Highway #2, Broadway and Main Street); As per survey # during October of 2008 of Marvin J. Likes, Illinois Professional # Land Surveyor #35-21500, # BROAD FROM MAIN TO NORTH x = survey_point(x, dms_to_decimal(0, 28, 37, "N", "E"), 640) points = rbind(points, x) plot(st_linestring(points)) points[nrow(points),] = points[1,] tract_e = st_sf(data.frame(parcel = "45-023-07B / 08", owner = "Archaeological Conservancy"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) parcels = rbind(parcels, tract_e) # EXCEPTING THEREFROM THE FOLLOWING # DESCRIBED REAL ESTATE: That part of the Northwest quarter of the # Northeast Quarter of Section 27, Township 4 South, Range 5 West # of the Fourth Principal Meridian, situated in the County of Pike, # State of Illinois, being more particularly described as follows: # Beginning at a point twenty-one hundred eighty-two (2182) feet # West of the Northeast corner of said Section 2, Station 142+11 on # the centerline of County Highway 2, Section 30Q, as said # centerline is surveyed and staked out by the Pike County Highway # Department of the State of Illinois, and extending in an Easterly # direction twenty-seven (27) feet to Station 142+38 as a strip of # land of uniform width of forty-five (45 feet laying parallel to # the centerline of said County Highway 2, Section 30Q, and South # of the existing right-of-way as shown on the attached plat and # containing 0.028 acre, more or less. # ------------------------------------------------------------------- # Tract G # Parcel 45-023-09 # RNG/BLK:5 TWP:04 SECT/LOT:27 BLKS 4 & 5 VILLAGE OF PHILADELPHIA # QC10172017B869P166#2017-2286 TD10172017B869P165#2017-2285 # WD062855B279P204#68455 NOP062308B775P45#08-2239 WD121590B78P35#90-2909 # # 45-023-10 14.96 acres # RNG/BLK:5 TWP:04 SECT/LOT:27 BLKS 6-7-13-14-15-16-17 & 18 VILLAGE OF PHILADELPHIA # QC10172017B869P166#2017-2286 TD10172017B869P165#2017-2285 NOP062308B775P45#08-2239 # WD062855B279P204#68455 # ------------------------------------------------------------------- # A tract of land lying in and being part of the Northeast Quarter of Section 27, Township 4 # South, Range 5 West of the Fourth Principal Meridian, Pike County, Illinois, being more # fully described as follows: # Commencing at a point marking the Northwest corner of Section 27; # IL040040S0050W0SN270 x = st_sfc(st_point(c(-90.972837176433814, 39.698199451377839)), crs = wgs84) x = st_transform(x, illinois_west) x = st_coordinates(x) # thence South 89 # degrees 08 minutes 56 seconds East along the North line of Section 27 a distance of 2674.32 # feet to the Northwest corner of the Northeast Quarter of said Section 27 and the point of # beginning; x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 2674.32) points = x # Print the point of beginning for the plat z = st_sfc(st_point(x), crs=illinois_west) cat("Tract G POB \n") print(z) z = st_transform(z, wgs84) print(z) # thence continuing South 89 degrees 08 minutes 56 seconds East along said North # line a distance of 491.43 feet to a point on the centerline of Broad Way Street as shown on # the plat of Philadelphia; # 16.43 west boundary + 120 + 60 + 120 + 15 + 120 + 40 = 475 + 16.43 (west bou) x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 491.43) points = rbind(points, x) # thence South 00 degrees 36 minutes 17 seconds West leaving said # North line and along said centerline of Broad Way Street a distance of 639.99 feet to a point # at the intersection of Broad Way Street and Main Stret; # 30 (north) + 120 + 15 + 120 + 60 (king) + 120 + 15 + 120 + 40 (main) = 640 x = survey_point(x, dms_to_decimal(0, 36, 17, "S", "W"), 639.99) points = rbind(points, x) # thence South 89 degrees 08 minutes # 56 seconds East along the centerline of Main Street a distance of 325.00 feet to a point at the # intersection of Main Street and Ann Street; # 40 + 120 + 15 + 120 + 30 = 325 x = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 325) points = rbind(points, x) # thence South 00 degrees 28 minutes 31 seconds # West along the centrline of Ann Street extended a distance of 701.26 feet to a point on the # North line of the Southwest Quarter of said Northeast Quarter; x = survey_point(x, dms_to_decimal(0, 28, 31, "S", "W"), 701.26) points = rbind(points, x) # thence North 89 degrees 04 # minutes 05 seconds West leaving said cenerline extended and along said North line a # distance of 815.03 feet to a point on the West line of the Northeast Quarter of said Section # 27; x = survey_point(x, dms_to_decimal(89, 4, 5, "N", "W"), 815.03) points = rbind(points, x) # thence North 00 degrees 28 minutes 37 seconds East along said West line a distance of # 1340.11 feet to the point of beginning, EXCEPTING therefrom all of the platted streets and # alleys in the Village of Philadelphia. x = survey_point(x, dms_to_decimal(0, 28, 37, "N", "E"), 1340.11) points = rbind(points, x) plot(st_linestring(points)) points[nrow(points),] = points[1,] tract_g = st_sf(data.frame(parcel = "45-023-09 / 10", owner = "New Philadelphia Association"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) parcels = rbind(parcels, tract_g) # ------------------------------------------------------------------- # Tract H # Fills the NE corner of section 27 including the western lots in the town # Estimated based on NPS Mideast Region Geospatial Support Center map # # Parcel 45-023-07 46.47 acres # RNG/BLK:5 TWP:04 SECT/LOT:27 BLKS 1,10,11,20 NE SEC 27 VILLAGE OF PHILADELPHIA # T120992B119P84#92-3385 # ------------------------------------------------------------------- # https://navigator.blm.gov/services # IL040040S0050W0SN270 NE corner x = st_sfc(st_point(c(-90.953755905176976, 39.698119341332195)), crs=wgs84) x = st_transform(x, illinois_west) x = st_coordinates(x) points = x # South to the NW corner of Tract C (the cemetery property) points = rbind(points, st_coordinates(tract_c)[1,1:2]) # West to a point defined by the eastern extent of Tract G and the southern extent of Tract G points = rbind(points, c(st_coordinates(tract_d)[2,1], st_coordinates(tract_g)[6,2])) # North to the northeast corner of Tract E points = rbind(points, st_coordinates(tract_e)[2,1:2]) # East to the starting point points = rbind(points, x) points[nrow(points),] = points[1,1:2] tract_h = st_sf(data.frame(parcel = "45-023-07", owner = "Philadelphia Land Trust"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) parcels = rbind(parcels, tract_h) # ------------------------------------------------------------------- # Tract I # Fills an area west of the cemetery (Tract C), north of the # lane way (Tract B) and south of the other Land Trust parcel (Tract H). # Assumptions based on NPS Mideast Region Geospatial Support Center map # # 45-023-05 12.14 (north of Interstate) # RNG/BLK:5 TWP:04 SECT/LOT:27 PT N1/2 SE NE T120992B119P84#92-3385 # ------------------------------------------------------------------- # Begin at NW corner of the cemetery points = st_coordinates(tract_c)[1,1:2] # West along the Southern edge of the other parcel to the West edge # of the Lane Way points = rbind(points, c(st_coordinates(tract_b)[6,1], st_coordinates(tract_h)[3,2]) - 5) # South to the Lane Way and follow the north edge of the lane way points = rbind(points, st_coordinates(tract_b)[6:10,1:2]) # North to the starting point points = rbind(points, st_coordinates(tract_c)[1,1:2]) tract_i = st_sf(data.frame(parcel = "45-023-05", owner = "Philadelphia Land Trust"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) parcels = rbind(parcels, tract_i) # ------------------------------------------------------------------- # Tract J # Triangle on the west side of section 26 # Estimated based on NPS Mideast Region Geospatial Support Center map # Parcel 45-022-03 3.52 # RNG/BLK:5 TWP:04 SECT/LOT:26 PT W1/2 NW NW T120992B119P84#92-3385 # ------------------------------------------------------------------- # East edge of tract h points = st_coordinates(tract_h)[1:2, 1:2] # East 250 feet (estimated) points = rbind(points, c(points[2,1] + 250, points[2,2])) # Return to the beginning points = rbind(points, points[1,]) tract_j = st_sf(data.frame(parcel = "45-022-03", owner = "Philadelphia Land Trust"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) parcels = rbind(parcels, tract_j) # ------------------------------------------------------------------- # Tract K # Fills the notch in the cemetery # Estimated based on NPS Mideast Region Geospatial Support Center map # 45-022-02A 0.58 # RNG/BLK:5 TWP:04 SECT/LOT:26 PT SW NW N OF CIE T120992B119P84#92-3385 # ------------------------------------------------------------------- # Follow the notch upper edge points = st_coordinates(tract_c)[4:7, 1:2] # Close to the SE corner points = rbind(points, points[1,]) tract_k = st_sf(data.frame(parcel = "45-022-02A", owner = "Philadelphia Land Trust"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west) parcels = rbind(parcels, tract_k) plot(parcels[,c("geometry","owner")]) # ------------------------------------------------------------------- # Streets # The Northwest corner of Section 27; # ------------------------------------------------------------------- # IL040040S0050W0SN270 x = st_sfc(st_point(c(-90.972837176433814, 39.698199451377839)), crs = wgs84) x = st_transform(x, illinois_west) x = st_coordinates(x) northwest_corner = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), 2674.32) width = 16.43 + (9 * 120) + (4 * 15) + (60 + 80 + 60 + 60) + 30 height = 30 + (8 * 120) + (4 * 15) + (60 + 60 + 60) + 30 offsets = c("North St." = 0, "King St." = 30 + 120 + 15 + 120 + 30, "Main St." = 30 + 120 + 15 + 120 + 30, "Queen St." = 30 + 120 + 15 + 120 + 30, "South St." = 30 + 120 + 15 + 120 + 30) offsets = cumsum(offsets) geo = sapply(offsets, function(z) { x = survey_point(northwest_corner, dms_to_decimal(0, 28, 37, "S", "W"), z) y = survey_point(x, dms_to_decimal(89, 8, 56, "S", "E"), width) return(st_sfc(st_linestring(rbind(x, y)), crs=illinois_west)) }) streets = st_sf(data.frame("Street" = names(offsets)), geometry = geo, crs=illinois_west) offsets = c("Green St." = 16.43 + 120 + 30, "Broad St." = 30 + 120 + 15 + 120 + 40, "Ann St." = 40 + 120 + 15 + 120 + 30, "Canton St." = 30 + 120 + 15 + 120 + 30, "Maiden St." = 30 + 120 + 15 + 120 + 30) offsets = cumsum(offsets) geo = sapply(offsets, function(z) { x = survey_point(northwest_corner, dms_to_decimal(89, 8, 56, "S", "E"), z) y = survey_point(x, dms_to_decimal(0, 28, 37, "S", "W"), height) return(st_sfc(st_linestring(rbind(x, y)), crs=illinois_west)) }) streets = rbind(streets, st_sf(data.frame("Street" = names(offsets)), geometry = geo, crs=illinois_west)) # ------------------------------------------------------------------- # Lots # ------------------------------------------------------------------- eastings = c(16.43, 60, 120, 60, 75, 60, 140, 60, 75, 60, 120, 60, 75, 60, 120, 60, 75, 60) northings = c(30, 135, 180, 135, 180, 135, 180, 135) eastings = cumsum(eastings) northings = cumsum(northings) lots = c() for (y in northings) { for (x in eastings) { top = survey_point(northwest_corner, dms_to_decimal(89, 8, 56, "S", "E"), x) top = survey_point(top, dms_to_decimal(0, 28, 37, "S", "W"), y) right = survey_point(top, dms_to_decimal(89, 8, 56, "S", "E"), 60) bottom = survey_point(right, dms_to_decimal(0, 28, 37, "S", "W"), 120) left = survey_point(top, dms_to_decimal(0, 28, 37, "S", "W"), 120) lots = c(lots, list(rbind(top, right, bottom, left, top))) } } lotnum = data.frame( lot_number = rep(c(2,1,rep(c(4,3,2,1), 4), 7,8, rep(c(5,6,7,8), 4)), 4), block_number = c(rep(c(5, 5, rep(4,4), rep(3,4), rep(2,4), rep(1,4)), 2), rep(c(6, 6, rep(7,4), rep(8,4), rep(9,4), rep(10,4)), 2), rep(c(15, 15, rep(14,4), rep(13,4), rep(12,4), rep(11,4)), 2), rep(c(16, 16, rep(17,4), rep(18,4), rep(19,4), rep(20,4)), 2))) lots = st_sfc(lapply(lots, function(z) st_polygon(list(z)))) lots = st_sf(lotnum, geometry=lots, crs=illinois_west) plot(lots$geometry) text(st_coordinates(st_centroid(lots)), labels = lots$block_number) # ------------------------------------------------------------------- # Blocks # ------------------------------------------------------------------- polygons = lapply(unique(lots$block_number), function(block) { b = st_bbox(lots[lots$block_number == block,]) points = matrix(c(b[1], b[4], b[3], b[4], b[3], b[2], b[1], b[2], b[1], b[4]), ncol=2, byrow=T) return(st_polygon(list(points))) }) blocks = st_sf(data.frame(block_number = unique(lots$block_number)), geometry=polygons, crs=illinois_west) plot(blocks$geometry) text(st_coordinates(st_centroid(blocks)), label=blocks$block_number) # ------------------------------------------------------------------- # Site boundaries # 2005-New-Philadelphia-NR-nomination.pdf # The National Historic Landmark designation is a box in UTM # coordinates that only approximates the georeferenced original plat # ------------------------------------------------------------------- points = matrix(c(674613, 4396244, 675055, 4396259, 675045, 4395868, 674639, 4395868, 674613, 4396244), ncol=2, byrow=2) utm15n = "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs" boundaries = st_sf(data.frame(boundary="2005 NHL Designation"), geometry = st_sfc(st_polygon(list(points))), crs=utm15n) boundaries = st_transform(boundaries, illinois_west) b = st_bbox(streets) points = matrix(c(b[1], b[4], b[3], b[4], b[3], b[2], b[1], b[2], b[1], b[4]), ncol=2, byrow=T) boundaries = rbind(boundaries, st_sf(data.frame(boundary="1872 Plat"), geometry = st_sfc(st_polygon(list(points))), crs=illinois_west)) plot(boundaries) # ------------------------------------------------------------------- # Points of Interest # ------------------------------------------------------------------- #points = st_sf(data.frame(Name = "Survey POB"), # geometry = st_sfc(st_point(northwest_corner)), crs=illinois_west) #points = st_transform(points, wgs84) point = st_sf(data.frame(Name = "Cemetery"), geometry = st_geometry(st_centroid(tract_c)), crs=illinois_west) points = st_transform(point, wgs84) point = st_sf(data.frame(Name = "Interepretive Kiosk"), geometry = st_sfc(st_point(c(-90.961300, 39.698032))), crs=wgs84) points = rbind(points, point) point = st_sf(data.frame(Name = "Schoolhouse Site"), geometry = st_sfc(st_point(c(-90.954043732667884, 39.698614987910638))), crs=wgs84) points = rbind(points, point) point = st_sf(data.frame(Name = "Solomon McWorter House Site"), geometry = st_sfc(st_point(c(-90.957990739039957, 39.698480374733172))), crs=wgs84) points = rbind(points, point) point = st_sf(data.frame(Name = "Frank McWorter House Site"), geometry = st_sfc(st_point(c(-90.961751, 39.698525))), crs=wgs84) points = rbind(points, point) point = st_sf(data.frame(Name = "Highway 2"), geometry = st_sfc(st_point(c(-90.955811138242296, 39.698214979234002))), crs=wgs84) points = rbind(points, point) point = st_sf(data.frame(Name = "Interstate 72"), geometry = st_sfc(st_point(c(-90.959866192376566, 39.692895320913024))), crs=wgs84) points = rbind(points, point) # ------------------------------------------------------------------- # Export # ------------------------------------------------------------------- dir.create("/tmp/streets") st_write(streets, "/tmp/streets/streets.shp") system("zip 2020-streets.zip /tmp/streets/*") unlink("/tmp/streets", recursive=T) dir.create("/tmp/parcels") st_write(parcels, "/tmp/parcels/parcels.shp") system("zip 2020-parcels.zip /tmp/parcels/*") unlink("/tmp/parcels", recursive=T) dir.create("/tmp/points") st_write(points, "/tmp/points/points.shp") system("zip 2020-points.zip /tmp/points/*") unlink("/tmp/points", recursive=T) dir.create("/tmp/lots") st_write(lots, "/tmp/lots/lots.shp") system("zip 2020-lots.zip /tmp/lots/*") unlink("/tmp/lots", recursive=T) dir.create("/tmp/blocks") st_write(blocks, "/tmp/blocks/blocks.shp") system("zip 2020-blocks.zip /tmp/blocks/*") unlink("/tmp/blocks", recursive=T) dir.create("/tmp/boundaries") st_write(boundaries, "/tmp/boundaries/boundaries.shp") system("zip 2020-boundaries.zip /tmp/boundaries/*") unlink("/tmp/boundaries", recursive=T) st_write(st_transform(streets, wgs84), "2020-streets.geojson", delete_dsn=T) st_write(st_transform(parcels, wgs84), "2020-parcels.geojson", delete_dsn=T) st_write(st_transform(points, wgs84), "2020-points.geojson", delete_dsn=T) st_write(st_transform(lots, wgs84), "2020-lots.geojson", delete_dsn=T) st_write(st_transform(blocks, wgs84), "2020-blocks.geojson", delete_dsn=T) st_write(st_transform(boundaries, wgs84), "2020-boundaries.geojson", delete_dsn=T) # ------------------------------------------------------------------- # Demo map # ------------------------------------------------------------------- library(OpenStreetMap) map = openmap(c(39.699, -90.9638), c(39.691, -90.949), type="esri-topo") # https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer plot(map) plot(st_transform(streets, as.character(osm()))$geometry, add=T, lwd=3, col="#ff000080") plot(st_transform(parcels$geometry, as.character(osm())), add=T) plot(st_transform(points$geometry, as.character(osm())), add=T) plot(st_transform(lots, as.character(osm()))$geometry, add=T, border="#00000040")