Giter Club home page Giter Club logo

georeferenceplates's Introduction

Create Georeferencing information for Instrument Approach Procedures and Airport Diagrams

Note that the FAA has started providing georeferencing in the PDFs for approach plates so this utility is no longer needed for them. However, it is still useful for airport diagrams which are not referenced.

SFO Airport Diagram

SFO VOR RWY 19L

These instructions are based on using Ubuntu (or some other Debian variant)

Installation

Enable the "universe" repository in "Software & Updates" section of System Settings and update

Install git
	sudo apt-get install git

Download the repository
	git clone https://github.com/jlmcgraw/GeoReferencePlates

Execute the setup.sh shell script
	./setup.sh

Download some Instrument Approach Procedure plates and initialize the database
	- Download these with the "load_dtpp_metadata.pl" file
		This will also re-initialize the dtpp.db file, be careful

	- A download of all plates will probably take several hours

Requires a database containing lat/lon info 
	(This is created by another of my projects at https://github.com/jlmcgraw/processFaaData)

Requires perl version > 5.010

How to use these utilities

To georeference instrument procedures:
	 ./georeferencePlatesViaDb.pl <options> <directory_with_PDFs>
		-v debug
		-a<FAA airport ID>  To specify an airport ID
		-i<2 Letter state ID>  To specify a specific state
		-p Output a marked up version of PDF
		-s Output statistics to dtpp.db about the PDF
		-c Don't overwrite existing .vrt
		-o Re-create outlines/mask files
		-b Allow creation of vrt with suspected bad lon/lat ratio
		-m Allow use of non-unique obstacles

To georeference airport diagrams:
	Usage: ./georeferenceAirportDiagramsViaDb.pl <options> <directory_with_PDFs>
		-v debug
		-a<FAA airport ID>  To specify an airport ID
		-i<2 Letter state ID>  To specify a specific state
		-p Output a marked up version of PDF
		-s Output statistics to dtpp.db about the PDF
		-c Don't overwrite existing .vrt

-p will create two extra files:
	 marked-*.pdf
		Shows how the ground control points were matched
		A green circle indicates which were used 

	 gcp-*.png
		Uses lon/lat information from the database to draw the ground control points.  If the red dots don't seem to match up with a feature (obstacle, fix, nav aid) the georeference probably wasn't accurate
		The green dot is the airport lon/lat

The first time the utility is run for a particular PDF it will take longer as it is generating the corresponding PNG and mask files. These will not be created again if they exist

A first run for all plates may take a day or two, subsequent runs will be much shorter

Running

Create/refresh the NASR and CIFP databases

	https://github.com/jlmcgraw/processFaaData
	https://github.com/jlmcgraw/parseCifp

Create empty ./dtpp folder

./load_dtpp_metadata.pl . 1409
	Download DTPP XML catalog, create DTPP database and download procedures.  Change cycle number as needed

./georeferencePlatesViaDb.pl -m -p -s ./dtpp/

./georeferenceAirportDiagramsViaDb.pl -p -s ./dtpp/

This software and the data it produces come with no guarantees about accuracy or usefulness whatsoever! Don't use it when your life may be on the line!

Thanks for trying this out! If you have any feedback, ideas or patches please submit them to github.

-Jesse McGraw [email protected]

DISTRIBUTION

Users are prohibited from any commercial or non-free resale use without explicit written permission from Jesse McGraw. Users should acknowledge this project as the source used in the creation of any reports, publications, new data sets, derived products, or services resulting from the use of this data set. I also request reprints of any publications and notification of any redistributing efforts. For commercial access to the data, send requests to Jesse McGraw [email protected].

NO WARRANTY OR LIABILITY

I provide these data without any warranty of any kind whatsoever, either express or implied, including warranties of merchantability and fitness for a particular purpose. I shall not be liable for incidental, consequential, or special damages arising out of the use of any data.

ACKNOWLEDGMENT AND CITATION

I kindly ask any users to cite this data in any published material produced using this data, and if possible link web pages to the github website (http://github.com/jlmcgraw).

georeferenceplates's People

Contributors

jlmcgraw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

georeferenceplates's Issues

Help generating airport diagrams

Hi again :)

I'm trying to build the geo pdfs for the airports. It seems tough that the DTPP does not download automatically.

Calling /load_dtpp_metadata.pl . 1801 explicitly exits because this:

#URL of the DTPP catalog
# my $dtpp_url =
# "http://aeronav.faa.gov/d-tpp/$cycle/xml_data/d-TPP_Metafile.xml";
my $dtpp_url = "https://nfdc.faa.gov/webContent/dtpp/current.xml";
my ( $count, $downloadedCount, $deletedCount, $changedCount, $addedCount );
my %countHash;
if ( -e $TPP_METADATA_FILE ) {
say "Using existing local metafile: $TPP_METADATA_FILE";
}
else {
die
"Unable to load dTPP metadata catalog: $TPP_METADATA_FILE does not exist locally";
# print "Downloading the d-TPP metafile: " . $dtpp_url . "...";
#
# # my $ret = 200;
# my $ret = getstore( $dtpp_url, $TPP_METADATA_FILE );
#
# if ( $ret != 200 ) {
# die "Unable to download d-TPP metadata.";
# }
# print "done\n";
}

The commented code seems to download the catalog though so I wonder why is it commented.

After that I try to generate the airport diagram for one airport using

./georeferenceAirportDiagramsViaDb.pl -p -s -aSBP ./dtpp-1801/

Supplied airport ID: SBP
Processing 1 charts
SW-3, SBP, 70000, APD, AIRPORT DIAGRAM, , 00989AD.PDF, , N, , CA
./dtpp-1801/00989AD.PDF
DBD::SQLite::db prepare failed: no such table: airports at ./georeferenceAirportDiagramsViaDb.pl line 557.
DBD::SQLite::db prepare failed: no such table: airports at ./georeferenceAirportDiagramsViaDb.pl line 557.

The file can be found but not locationinfo.db is empty.

$dbh = DBI->connect( "dbi:SQLite:dbname=locationinfo.db",
"", "", { RaiseError => 1 } )
or croak $DBI::errstr;

Where is the locationinfo.db supposed to come from?

cheers

Changes In APD Format Break Regex?

Hi Jesse,

Sorry to bother you with this, but my regex skills are almost nonexistent, my limited perl experience is 20 years out of date, and I seem to have run into a change in the format of the text in the airport diagram PDF documents that has broken the georeference system.

Both findLatitudeTextBoxes2 and findLongitudeTextBoxes2 are failing to find the required text. My assumption is that the FAA made some slight change in how it encodes the values which has broken the regexs that do the hard work here. I've included the debug output for one chart (it's for KGTU - Georgetown Municipal in Georgetown Texas). Any idea what need to be changed to find the text and the lines?

Here are the lines that should work:

<word xMin="274.595200" yMin="55.246143" xMax="303.050420" yMax="59.457243">97°40.5&apos;W</word>
<word xMin="274.595200" yMin="55.246143" xMax="303.050420" yMax="59.457243">97°40.5&apos;W</word>
 <word xMin="328.761700" yMin="201.531943" xMax="357.215829" yMax="205.743043">30°41.0&apos;N</word>
<word xMin="331.713100" yMin="420.710343" xMax="360.167229" yMax="424.921443">30°40.5&apos;N</word>

I'm not sure when the FAA changed things up - I'm just now starting to add charts and plates to my stuff. I greatly appreciate any pointers to get this working.

Best Regards,

Steve

ssokol@charter:~/GeoReferencePlates$ ./georeference_airport_diagrams_via_db.pl -v -c 2201 plates/
Supplied cycle: 2201
Processing 1 charts
SC-3, GTU, 70000, APD, AIRPORT DIAGRAM, , 05724AD.PDF, , N, , TX
plates/05724AD.PDF
Directory: plates/
File:      05724AD
Suffix:    .PDF

TargetPdf: plates/05724AD.PDF
OutputPdf: plates/marked-05724AD.pdf
TargetPng: plates/05724AD.png
TargetTif: plates/05724AD.tif
TargetVrt: plates/TX-GTU-05724AD-PDF-AIRPORT-DIAGRAM.vrt
targetStatistics: ./statistics.csv

Airport ID: GTU
Airport Latitude: 30.6788055555556
Airport Longitude: -97.6793888888889
Airport Name: GEORGETOWN MUNI
30 N, 98 W
PDF Mediabox size: 387.36x594
PDF Mediabox center: 193.68x297
PDF X/Y Ratio: 0.652121212121212
plates/05724AD.png already exists
PNG size: 1614x2475
Scalefactor PDF->PNG X:  4.16666666666667
Scalefactor PDF->PNG Y:  4.16666666666667
PNG X/Y Ratio:  0.652121212121212
Use of uninitialized value $_objectstreams in concatenation (.) or string at ./georeference_airport_diagrams_via_db.pl line 693.
Object streams:
:findAllIcons
Use of uninitialized value $objectstreams in subtraction (-) at ./georeference_airport_diagrams_via_db.pl line 772.

:findAllTextboxes
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>05724AD</title>
<meta name="Subject" content=""/>
<meta name="Keywords" content=""/>
<meta name="Author" content=""/>
<meta name="Creator" content="Aspose Ltd."/>
<meta name="Producer" content="Aspose.PDF for .NET 19.11"/>
<meta name="CreationDate" content=""/>
</head>
<body>
<doc>
  <page width="387.360000" height="594.000000">
    <word xMin="18.214200" yMin="27.459543" xMax="37.051854" yMax="31.670643">21224</word>
    <word xMin="258.129900" yMin="29.469543" xMax="320.687983" yMax="35.300643">GEORGETOWN</word>
    <word xMin="322.905097" yMin="29.469543" xMax="373.152746" yMax="35.300643">MUNI(GTU)</word>
    <word xMin="18.214200" yMin="36.076642" xMax="63.754141" yMax="44.110042">AIRPORT</word>
    <word xMin="66.415428" yMin="36.076642" xMax="117.267298" yMax="44.110042">DIAGRAM</word>
    <word xMin="173.995800" yMin="38.977343" xMax="197.723841" yMax="43.188443">AL-5724</word>
    <word xMin="199.341956" yMin="38.977343" xMax="216.597536" yMax="43.188443">(FAA)</word>
    <word xMin="305.577400" yMin="38.977343" xMax="349.844816" yMax="43.188443">GEORGETOWN,</word>
    <word xMin="351.359994" yMin="38.977343" xMax="370.887597" yMax="43.188443">TEXAS</word>
    <word xMin="21.813500" yMin="50.234143" xMax="35.010080" yMax="54.445243">ATIS</word>
    <word xMin="85.172700" yMin="55.174143" xMax="113.627920" yMax="59.385243">97°41.0&apos;W</word>
    <word xMin="21.813500" yMin="57.432643" xMax="38.880036" yMax="61.643743">118.6</word>
    <word xMin="274.595200" yMin="55.246143" xMax="303.050420" yMax="59.457243">97°40.5&apos;W</word>
    <word xMin="21.813500" yMin="64.631043" xMax="65.387580" yMax="68.842143">GEORGETOWN</word>
    <word xMin="66.931884" yMin="64.631043" xMax="88.891886" yMax="68.842143">TOWER</word>
    <word xMin="258.143400" yMin="67.322003" xMax="272.615479" yMax="72.505103">820</word>
    <word xMin="21.813500" yMin="71.829543" xMax="45.960298" yMax="76.040643">120.225</word>
    <word xMin="21.813500" yMin="79.027943" xMax="35.796365" yMax="83.239043">GND</word>
    <word xMin="37.410269" yMin="79.027943" xMax="51.038075" yMax="83.239043">CON</word>
    <word xMin="21.813500" yMin="86.226343" xMax="42.420401" yMax="90.437443">119.12</word>
    <word xMin="41.280400" yMin="86.226343" xMax="45.959400" yMax="90.437443">5</word>
    <word xMin="163.878259" yMin="117.018855" xMax="168.001991" yMax="123.341700">VA</word>
    <word xMin="165.734459" yMin="113.853216" xMax="168.973591" yMax="117.293900">R</word>
    <word xMin="167.283759" yMin="108.805556" xMax="170.522891" yMax="112.246200">3</word>
    <word xMin="168.082659" yMin="106.202846" xMax="171.321791" yMax="109.643400">.</word>
    <word xMin="168.482059" yMin="102.298756" xMax="172.520091" yMax="108.342200">6°</word>
    <word xMin="170.669359" yMin="97.775262" xMax="173.908491" yMax="101.215800">E</word>
    <word xMin="21.813500" yMin="93.424843" xMax="37.709114" yMax="97.635943">CLNC</word>
    <word xMin="39.199141" yMin="93.424843" xMax="50.785596" yMax="97.635943">DEL</word>
    <word xMin="21.813500" yMin="100.623343" xMax="45.960298" yMax="104.834443">119.125</word>
    <word xMin="21.813500" yMin="107.821743" xMax="36.852391" yMax="112.032843">121.1</word>
    <word xMin="38.523379" yMin="107.821743" xMax="56.710411" yMax="112.032843">(When</word>
    <word xMin="58.381399" yMin="107.821743" xMax="75.826512" yMax="112.032843">Tower</word>
    <word xMin="77.497500" yMin="107.821743" xMax="98.291273" yMax="112.032843">Closed)</word>
    <word xMin="220.538525" yMin="127.097852" xMax="227.130300" yMax="131.308974">1</word>
    <word xMin="217.005725" yMin="126.879352" xMax="223.597500" yMax="131.090474">8</word>
    <word xMin="203.290100" yMin="135.150543" xMax="216.708218" yMax="139.361643">ELEV</word>
    <word xMin="133.478800" yMin="139.908043" xMax="162.915174" yMax="144.119143">JANUARY</word>
    <word xMin="164.492348" yMin="139.908043" xMax="177.109739" yMax="144.119143">2020</word>
    <word xMin="231.049200" yMin="136.713226" xMax="241.936339" yMax="141.194717">A1</word>
    <word xMin="204.441900" yMin="142.349143" xMax="216.199993" yMax="146.560243">786</word>
    <word xMin="232.301100" yMin="146.376926" xMax="238.892114" yMax="150.587917">B</word>
    <word xMin="116.328600" yMin="147.394543" xMax="141.709401" yMax="151.605643">ANNUAL</word>
    <word xMin="143.212647" yMin="147.394543" xMax="158.912545" yMax="151.605643">RATE</word>
    <word xMin="160.415791" yMin="147.394543" xMax="168.100383" yMax="151.605643">OF</word>
    <word xMin="169.603628" yMin="147.394543" xMax="194.653715" yMax="151.605643">CHANGE</word>
    <word xMin="228.456926" yMin="163.751141" xMax="233.335317" yMax="179.018400">179.</word>
    <word xMin="229.235506" yMin="158.452671" xMax="233.668917" yMax="166.655000">9°</word>
    <word xMin="144.809300" yMin="154.881143" xMax="155.200119" yMax="159.092243">0.1°</word>
    <word xMin="156.774486" yMin="154.881143" xMax="162.719294" yMax="159.092243">W</word>
    <word xMin="250.298816" yMin="181.670100" xMax="254.510087" yMax="190.634640">A1</word>
    <word xMin="238.358420" yMin="192.117500" xMax="242.569672" yMax="196.788252">A</word>
    <word xMin="328.761700" yMin="201.531943" xMax="357.215829" yMax="205.743043">30°41.0&apos;N</word>
    <word xMin="252.699016" yMin="241.795100" xMax="256.910287" yMax="250.759640">A1</word>
    <word xMin="28.158300" yMin="241.921943" xMax="39.916393" yMax="246.133043">789</word>
    <word xMin="28.508575" yMin="247.872800" xMax="34.519299" yMax="254.949787">11</word>
    <word xMin="226.737600" yMin="252.812926" xMax="233.328542" yMax="257.023917">D</word>
    <word xMin="203.981726" yMin="274.033758" xMax="208.860017" yMax="289.300900">5004</word>
    <word xMin="204.982726" yMin="268.735262" xMax="209.193717" yMax="273.405000">X</word>
    <word xMin="205.314826" yMin="256.396458" xMax="209.970717" yMax="268.131100">100</word>
    <word xMin="39.810000" yMin="264.797075" xMax="47.767005" yMax="270.806996">11</word>
    <word xMin="45.906900" yMin="268.394538" xMax="53.863688" yMax="274.404296">7.</word>
    <word xMin="50.479300" yMin="271.092075" xMax="58.436158" yMax="277.101996">0°</word>
    <word xMin="119.525300" yMin="270.998524" xMax="124.422908" yMax="275.209649">J</word>
    <word xMin="242.462600" yMin="266.451843" xMax="267.043662" yMax="270.662943">TENANT</word>
    <word xMin="238.959400" yMin="272.746543" xMax="268.507159" yMax="276.957643">TIE-DOWN</word>
    <word xMin="311.032800" yMin="278.979643" xMax="322.844540" yMax="283.190743">FBO</word>
    <word xMin="324.362759" yMin="278.979643" xMax="341.573284" yMax="283.190743">RAMP</word>
    <word xMin="255.758116" yMin="280.020600" xMax="259.969387" yMax="288.985240">A1</word>
    <word xMin="27.212600" yMin="279.200883" xMax="44.002324" yMax="284.059983">FIELD</word>
    <word xMin="28.209100" yMin="286.464383" xMax="43.691985" yMax="291.323483">ELEV</word>
    <word xMin="29.363400" yMin="293.727783" xMax="42.930817" yMax="298.586883">790</word>
    <word xMin="232.896020" yMin="275.139300" xMax="237.107272" yMax="279.810052">A</word>
    <word xMin="238.644400" yMin="289.280506" xMax="245.235237" yMax="293.491523">E</word>
    <word xMin="266.475600" yMin="292.080743" xMax="298.637909" yMax="296.291843">TRANSIENT</word>
    <word xMin="300.085358" yMin="292.080743" xMax="316.493636" yMax="296.291843">RAMP</word>
    <word xMin="271.028900" yMin="300.142343" xMax="300.760108" yMax="304.353443">TERMINAL</word>
    <word xMin="189.180900" yMin="304.677526" xMax="195.771958" yMax="308.888517">J</word>
    <word xMin="224.915500" yMin="306.860106" xMax="231.506558" yMax="311.071123">J</word>
    <word xMin="164.155200" yMin="308.972485" xMax="169.715104" yMax="313.183793">K</word>
    <word xMin="279.316900" yMin="307.907743" xMax="293.076983" yMax="312.118843">TWR</word>
    <word xMin="230.155520" yMin="324.312000" xMax="234.366772" yMax="328.982752">A</word>
    <word xMin="140.878300" yMin="325.697175" xMax="148.835205" yMax="331.707196">40</word>
    <word xMin="146.975239" yMin="329.294544" xMax="154.932105" yMax="335.304396">99</word>
    <word xMin="154.596000" yMin="333.790775" xMax="159.504580" yMax="338.002096">X</word>
    <word xMin="159.147200" yMin="336.476075" xMax="167.104205" yMax="342.485996">75</word>
    <word xMin="243.978100" yMin="324.868643" xMax="253.127136" yMax="329.079743">HS</word>
    <word xMin="254.916853" yMin="324.868643" xMax="258.496288" yMax="329.079743">1</word>
    <word xMin="235.200400" yMin="341.535926" xMax="241.791361" yMax="345.746917">F</word>
    <word xMin="216.646900" yMin="351.736043" xMax="228.458640" yMax="355.947143">FBO</word>
    <word xMin="229.976859" yMin="351.736043" xMax="247.187384" yMax="355.947143">RAMP</word>
    <word xMin="291.362930" yMin="393.634555" xMax="295.574047" yMax="397.677300">M</word>
    <word xMin="291.630801" yMin="403.604113" xMax="297.641525" yMax="410.681100">29</word>
    <word xMin="247.312906" yMin="361.408943" xMax="251.523923" yMax="365.785300">L</word>
    <word xMin="271.336200" yMin="360.639445" xMax="276.116500" yMax="364.850806">F</word>
    <word xMin="265.131000" yMin="381.468575" xMax="273.087788" yMax="387.478496">0.</word>
    <word xMin="269.703400" yMin="384.166375" xMax="277.660056" yMax="390.176296">7%</word>
    <word xMin="278.009900" yMin="389.067375" xMax="286.446795" yMax="395.360596">UP</word>
    <word xMin="263.326400" yMin="396.027475" xMax="271.283305" yMax="402.037396">29</word>
    <word xMin="269.423300" yMin="399.624675" xMax="277.380088" yMax="405.634596">7.</word>
    <word xMin="273.995700" yMin="402.322475" xMax="281.952558" yMax="408.332396">0°</word>
    <word xMin="300.399200" yMin="404.450043" xMax="313.817318" yMax="408.661143">ELEV</word>
    <word xMin="301.550900" yMin="411.648643" xMax="313.308993" yMax="415.859743">759</word>
    <word xMin="331.713100" yMin="420.710343" xMax="360.167229" yMax="424.921443">30°40.5&apos;N</word>
    <word xMin="43.215733" yMin="456.315943" xMax="61.985747" yMax="460.527043">S-12.5</word>
    <word xMin="27.212500" yMin="464.234243" xMax="42.504874" yMax="468.445343">RWY</word>
    <word xMin="44.143577" yMin="464.234243" xMax="59.435951" yMax="468.445343">18-36</word>
    <word xMin="42.737773" yMin="472.152543" xMax="57.497132" yMax="476.363643">S-30,</word>
    <word xMin="59.222163" yMin="472.152543" xMax="73.401912" yMax="476.363643">D-60</word>
    <word xMin="209.092726" yMin="469.331541" xMax="213.971017" yMax="484.598800">359.</word>
    <word xMin="209.871206" yMin="464.033071" xMax="214.304717" yMax="472.235400">9°</word>
    <word xMin="27.212500" yMin="448.397543" xMax="42.504874" yMax="452.608643">RWY</word>
    <word xMin="44.143577" yMin="448.397543" xMax="59.435951" yMax="452.608643">11-29</word>
    <word xMin="231.100134" yMin="450.726054" xMax="235.311378" yMax="455.392300">L</word>
    <word xMin="217.255400" yMin="426.549826" xMax="223.846342" yMax="430.760817">G</word>
    <word xMin="192.319926" yMin="464.446841" xMax="196.753417" yMax="472.649100">0.</word>
    <word xMin="192.653606" yMin="459.148477" xMax="197.087117" yMax="467.350700">8%</word>
    <word xMin="193.259806" yMin="448.966564" xMax="197.728217" yMax="457.725100">UP</word>
    <word xMin="5.000000" yMin="238.266113" xMax="12.812000" yMax="256.159180">SC-3,</word>
    <word xMin="5.000000" yMin="260.048828" xMax="12.812000" yMax="267.834961">27</word>
    <word xMin="5.000000" yMin="269.779785" xMax="12.812000" yMax="283.003906">JAN</word>
    <word xMin="5.000000" yMin="284.948730" xMax="12.812000" yMax="300.520996">2022</word>
    <word xMin="5.000000" yMin="304.410645" xMax="12.812000" yMax="310.248535">to</word>
    <word xMin="5.000000" yMin="314.138184" xMax="12.812000" yMax="321.924316">24</word>
    <word xMin="5.000000" yMin="323.869141" xMax="12.812000" yMax="337.482910">FEB</word>
    <word xMin="5.000000" yMin="339.427734" xMax="12.812000" yMax="355.000000">2022</word>
    <word xMin="232.332700" yMin="234.319143" xMax="241.481736" yMax="238.530243">HS</word>
    <word xMin="243.271453" yMin="234.319143" xMax="246.850888" yMax="238.530243">2</word>
    <word xMin="27.243000" yMin="234.723443" xMax="40.661118" yMax="238.934543">ELEV</word>
    <word xMin="180.470600" yMin="486.657943" xMax="193.888718" yMax="490.869043">ELEV</word>
    <word xMin="181.694300" yMin="493.856543" xMax="193.452393" yMax="498.067643">748</word>
    <word xMin="197.213200" yMin="499.521226" xMax="203.804975" yMax="503.732348">3</word>
    <word xMin="200.746000" yMin="499.739726" xMax="207.337775" yMax="503.950848">6</word>
    <word xMin="25.484800" yMin="524.708663" xMax="55.802606" yMax="529.243763">CAUTION:</word>
    <word xMin="57.389261" yMin="524.708663" xMax="65.500242" yMax="529.243763">BE</word>
    <word xMin="67.086897" yMin="524.708663" xMax="87.535709" yMax="529.243763">ALERT</word>
    <word xMin="89.122364" yMin="524.708663" xMax="97.582409" yMax="529.243763">TO</word>
    <word xMin="99.169064" yMin="524.708663" xMax="127.722510" yMax="529.243763">RUNWAY</word>
    <word xMin="129.309165" yMin="524.708663" xMax="160.693203" yMax="529.243763">CROSSING</word>
    <word xMin="162.279858" yMin="524.708663" xMax="205.474957" yMax="529.243763">CLEARANCES.</word>
    <word xMin="58.382500" yMin="532.339163" xMax="92.687508" yMax="536.874263">READBACK</word>
    <word xMin="94.246827" yMin="532.339163" xMax="102.218063" yMax="536.874263">OF</word>
    <word xMin="103.777382" yMin="532.339163" xMax="115.902643" yMax="536.874263">ALL</word>
    <word xMin="117.461961" yMin="532.339163" xMax="145.523458" yMax="536.874263">RUNWAY</word>
    <word xMin="147.082776" yMin="532.339163" xMax="175.487323" yMax="536.874263">HOLDING</word>
    <word xMin="177.046642" yMin="532.339163" xMax="222.092236" yMax="536.874263">INSTRUCTIONS</word>
    <word xMin="223.651554" yMin="532.339163" xMax="229.196491" yMax="536.874263">IS</word>
    <word xMin="230.755810" yMin="532.339163" xMax="263.844549" yMax="536.874263">REQUIRED.</word>
    <word xMin="18.214200" yMin="554.663542" xMax="63.754141" yMax="562.696942">AIRPORT</word>
    <word xMin="66.415428" yMin="554.663542" xMax="117.267298" yMax="562.696942">DIAGRAM</word>
    <word xMin="18.214200" yMin="564.834543" xMax="37.051854" yMax="569.045643">21224</word>
    <word xMin="305.577400" yMin="553.316843" xMax="349.844816" yMax="557.527943">GEORGETOWN,</word>
    <word xMin="351.359994" yMin="553.316843" xMax="370.887597" yMax="557.527943">TEXAS</word>
    <word xMin="258.129900" yMin="562.165643" xMax="320.687983" yMax="567.996743">GEORGETOWN</word>
    <word xMin="322.905097" yMin="562.165643" xMax="373.152746" yMax="567.996743">MUNI(GTU)</word>
    <word xMin="374.247985" yMin="337.106934" xMax="382.059985" yMax="355.000000">SC-3,</word>
    <word xMin="374.247985" yMin="325.431152" xMax="382.059985" yMax="333.217285">27</word>
    <word xMin="374.247985" yMin="310.262207" xMax="382.059985" yMax="323.486328">JAN</word>
    <word xMin="374.247985" yMin="292.745117" xMax="382.059985" yMax="308.317383">2022</word>
    <word xMin="374.247985" yMin="283.017578" xMax="382.059985" yMax="288.855469">to</word>
    <word xMin="374.247985" yMin="271.341797" xMax="382.059985" yMax="279.127930">24</word>
    <word xMin="374.247985" yMin="255.783203" xMax="382.059985" yMax="269.396973">FEB</word>
    <word xMin="374.247985" yMin="238.266113" xMax="382.059985" yMax="253.838379">2022</word>
    <word xMin="289.865900" yMin="218.240043" xMax="301.677640" yMax="222.451143">FBO</word>
    <word xMin="303.195859" yMin="218.240043" xMax="320.406384" yMax="222.451143">RAMP</word>
    <word xMin="245.639600" yMin="218.769806" xMax="252.230614" yMax="222.980823">C</word>
  </page>
</doc>
</body>
</html>

:findLatitudeTextBoxes2
$VAR1 = {};
Found 0 Potential latitude text boxes

:findLongitudeTextBoxes2
LonRegex3: Degrees: ., minutes: 6, declination: E && 98, airportLongitudeDeclination, W
Argument "." isn't numeric in abs at ./georeference_airport_diagrams_via_db.pl line 1680.
$VAR1 = {};
Found 0 Potential longitude text boxes

:findClosestLineToTextBox
latitudeTextBoxes
$VAR1 = {};
:findClosestLineToTextBox
longitudeTextBoxes
$VAR1 = {};
findIntersectionOfLatLonLines
$VAR1 = {};
Ground Control Points command line string


Found 0 potential Ground Control Points
Only found 0 ground control points in plates/05724AD.PDF, can't georeference
Touching plates/noPoints-TX-GTU-05724AD-PDF-AIRPORT-DIAGRAM.vrt
Success: 0, Fail: 0, No Text: 0, No Points: 1, Chart: 1/1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.