Am revenit cu un nou articol din seria „Cum se face în FME”. Vă prezentăm aici exerciții practice și exemple de lucru cu cele mai populare transformatoare din FME.
Veți afla cum FME gestionează geocodarea adreselor folosind un transformator Geocoder. FME permite codarea directă, în cazul în care coordonatele geografice sunt generate de la adrese, sau codificarea inversă, când informațiile despre adresă sunt obținute pe baza locației obiectelor din teren. În acest exercițiu ne vom concentra asupra geocodării directe.
Exercițiu
Ca date de intrare, vom utiliza lista unităților organizaționale din Cracovia în format CSV, descărcată de pe site-ul web al Buletinului de Informații Publice. În acest scenariu vom face geocodare pe baza atributului adreselor școlilor din Cracovia. Toate acestea pentru a obține coordonatele X și Y în sistemul WGS84. Vom folosi geocodarea folosind serviciul OpenStreetMap.
Pași
- Lansați FME Workbench
Se deschide FME Workbench. - Creați un spațiu de lucru nou
În secțiunea Creați spațiu de lucru, selectați opțiunea Nou
Vom adăuga un adaptor de citire – Reader. Setați formatul de intrare la CSV și selectați fișierul de date descărcat.
Vom configura primul rând de date pentru a conține numele coloanelor și datele specifice pentru a începe cu al doilea rând:
Înainte de a începe transformarea, să examinăm datele disponibile. Pentru a face acest lucru, conectați Inspectorul la adaptorul care citește datele noastre sursă. Atunci trebuie să începem procesarea. Rețineți că datele noastre tabulare de intrare constau din mai multe coloane, adică numele unității, categoria / subcategoria, adresa sau numărul de telefon. Cel mai important atribut în această sarcină va fi adresa unității.
5. Selectarea datelor de intrare
Pentru a limita datele de intrare numai la adresele școlii, filtrați-le folosind transformatorul Tester. Deci, să adăugăm funcția Tester și să o conectăm la fișierul CSV de intrare. Să introducem parametrii transformatorului și să setăm atributul Categorie / Subcategorie să fie Educație / Școli primare.
Să adăugăm un transformator Geocoder și să-l conectăm la portul trecut al transformatorului Tester. Deschideți parametrii noii funcții adăugate și setați serviciul la OpenStreetMap în secțiunea Geocoding Service. FME permite geocodarea pe baza a numeroase servicii diferite. Puteți citi despre acestea în documentația transformatorului. Vom efectua această sarcină pe OpenStreetMap deoarece este un serviciu open source care nu necesită un cont sau autorizație, cum ar fi în cazul Google Maps.
În secțiunea Geocoding Parameters, setați parametrul Mode la Forward și Street Address la atributul care conține adresa unității noastre:
7. Aranjarea atributelor unui obiect
Adăugați AttributeManager la portul de ieșire al transformatorului Geocoder, care ne va permite să gestionăm toate atributele obiectelor. Să mergem la setările sale și să schimbăm numele atributelor _latitude și _longitude _ la „Latitudine” și, respectiv, „Longitudine”. În acest pas, eliminăm, de asemenea, pagina BIP și atributele de e-mail, precum și alte atribute care apar ca urmare a geocodării.
Înainte de a rula scriptul, trebuie să faceți câteva modificări la parametrii spațiului de lucru. În fereastra de navigare, în fila Transformare, modificați setările astfel încât transformarea să fie efectuată atunci când obiectul apare în portul Rejected:
Navigator Window >> Translation >> Rejected Feature Handling >> Continue to Translation
9. Salvarea rezultatelor în format KML și rularea scriptului
Ultima etapă de transformare va fi salvarea adreselor codate corect în format KML. Deci, să adăugăm un adaptor de salvare în Google KML și să setăm numele și folderul fișierului țintă, precum și Feature Type Definition la Automatic. Să conectăm adaptorul de scriere la portul de transformare de ieșire AttributeManager. Când rulăm scriptul, să aruncăm o privire asupra rezultatelor finale:
Doriți să aflați mai multe despre analiza datelor spațiale cu FME?
Contactați-ne