Vairāk

Vai shapefile faila nosaukums ir tāds pats kā tā Feature Class nosaukums?

Vai shapefile faila nosaukums ir tāds pats kā tā Feature Class nosaukums?


Šis ir ļoti pamatjautājums, taču es neatrodu atbildi ne Google, ne šeit ...

Man ir failu kopa, kas man jāiesniedz neticami noteiktā formātā. Mūsu apakškonsultanti mums iedeva formu failu kopu, taču formas failiem ir cits faila nosaukums nekā vajadzīgajai funkciju klasei. Visi nepieciešamie atribūti ir pareizi.

Piemēram, viņi nosauca failu "border.shp" (plus visi tā pavadošie faili), turpretim funkciju klasei ir jābūt nosaukumam "gis_boundary_limit".

Vai objektu klases nosaukums var atšķirties no formas faila nosaukuma? Ja es vienkārši pārdēvēju failus, vai es esmu pārdēvējis funkciju klases? Vai ArcMap ir veids, kā pārdēvēt objektu klasi shapefile failā?

Piedodiet, cik pamatīgs ir šis jautājums. Es biju pieņēmis, ka formas faili un pazīmju klases ir savstarpēji aizvietojami.


"Funkciju klase" ir abstrakts nosaukums avotu datiem kartēšanai. Šo datu izcelsme var būt shapefile, failu ģeodatu bāze, uzņēmuma ģeodatu bāze vai jebkurš cits avots (iezīmju klases rūpnīcas).

Failu un uzņēmuma ģeodatu bāzes avoti ir tabulas ar nosaukumu ierobežojumiem, kas ietver:

  • Sākotnējai rakstzīmei jābūt alfabētiskai
  • Atlikušās rakstzīmes var būt burtciparu vai pasvītrojums
  • Vārda garumu ierobežo pamatā esošais RDBMS (vai FGDB specifikācija) vai ArcSDE ierobežojums - 31 rakstzīme (32, ieskaitot terminatoru), ja piemērojams.

Tehniski ir domājams, ka shapefiles jāatbilst "8.3" DOS failu nosaukšanas konvencijai, lai gan lielākā daļa lietojumprogrammu šajā ziņā ir diezgan piedodošas.

Kad esat satura rādītājā, jūs varat pārdēvēt slāni no sākotnējā avota nosaukuma par visu, ko vēlaties (ieskaitot kaut ko ļoti mulsinošu). Veicot konvertēšanu starp datu formātiem, varat arī pārdēvēt, lai gan tiem jāatbilst mērķa formātu nosaukšanas konvencijām. Daudzi krātuves formāti arī ļauj īpašniekam pārdēvēt tabulas krātuves konteinerā (ja neviena cita lietojumprogramma neizmanto objektu, mēģinot pārdēvēt).


Pirmie…

Objektu klasi varat nosaukt kā vien vēlaties, ja vien neizmantojat īpašās rakstzīmes.

Gandrīz ir arī ierobežojums skaitļa izmantošanai kā pirmajai rakstzīmei. Skatiet šo lapu.

Vai objektu klases nosaukums var atšķirties no formas faila nosaukuma? Ja es vienkārši pārdēvēju failus, vai es esmu pārdēvējis funkciju klases?

Tās ir divas ATSEVIŠĶAS lietas. Ja jums ir shapefile un objektu klase, kas ir vienādi dati, tie faktiski joprojām ir divi dažādi faili. Vienu var nosaukt citādi nekā otru.

Vai ArcMap ir veids, kā pārdēvēt objektu klasi shapefile failā?

Ja jums ir virkne formas failu, kuriem jābūt iezīmju klasēm, un tie arī jāpārdēvē, jums ir divas iespējas:

  1. Pārdēvējiet Shapefiles ArcCatalog. To var izdarīt, ar peles labo pogu noklikšķinot uz faila un atlasot Pārdēvēt. Kad visi šablonu faili ir pārdēvēti, ar peles labo pogu noklikšķiniet uz ģeodatu bāzes, kurā nepieciešamas funkciju klases, atlasiet Importēt formātu failus (vairākus), atlasiet visus formas failus un noklikšķiniet uz Labi.

vai

  1. Pārdēvējiet failus, kad tie tiek importēti ģeodatu bāzē. Ar peles labo pogu noklikšķiniet uz ģeodatu bāzes, kurā nepieciešamas funkciju klases, atlasiet Importēt formas failus (viens), atlasiet vienu no formas failiem, pēc tam laukā Iezīmju klases nosaukums ierakstiet pareizo nosaukumu, noklikšķiniet uz Labi un atkārtojiet procesu katram slānim.

Es ļoti iesaku pirmo variantu, jo tas ir vienkāršākais veids, kā sasniegt meklēto.


Objektu klase pieder ģeodatu bāzei, turpretim formas fails var būt patstāvīgs. Objektu klasi varat nosaukt kā vien vēlaties, ja vien neizmantojat īpašās rakstzīmes.

Objektu klases nosaukums var atšķirties no formas faila nosaukuma. Es nedomāju, ka shapefile failā var būt iezīme.


Esri Shapefile lasītājs / rakstnieks (tehnoloģiju priekšskatījums)

Esri ® Shapefile Reader nodrošina FME piekļuvi datiem Esri Shapefile formātā.

Jauns priekš FME 2019.1: mēs atjaunojam FME Esri Shapefile Reader / Writer. Izmaiņas ietver jaunu izstrādes sistēmu un stabilāku formāta platformu. Kopumā lietotāji pamanīs uzlabotu veiktspēju un lielāku ātrumu.

Piezīme: Šis formāts joprojām tiek aktīvi izstrādāts, tāpēc, lūdzu, sagaidiet izmaiņas pašreizējā uzvedībā. Mēs neiesakām izmantot šo formātu ražošanas vidēs.

Shapefile formāts ir ģeotelpisku vektoru datu formāts ģeogrāfiskās informācijas sistēmas (GIS) programmatūrai. Esri to ir izstrādājis un regulējis kā (galvenokārt) atklātu specifikāciju datu sadarbspējai starp Esri un citiem ĢIS programmatūras produktiem.

Šajā piemērā ģeogrāfiskās iezīmes (kempings, kempings, mežs, ceļi) formas failā attēlo punkti, līnijas un daudzstūri (apgabali). Katram vienumam parasti ir atribūti, kas to raksturo, piemēram, nosaukums, temperatūra vai XY koordinātas.


Parametri

3D punkta, daudzpunktu, polilēna vai daudzstūra objektu klase, kas tiks eksportēta uz ASCII failu.

Mape, kurā tiks rakstīti izvades faili.

Iegūtā ASCII faila nosaukums.

Ja līnija vai daudzstūra pazīmju klase tiek eksportēta uz XYZ formātu, faila nosaukums tiek izmantots kā bāzes nosaukums. Katrai funkcijai būs unikāla faila izeja, jo XYZ formāts katram failam atbalsta tikai vienu līniju vai daudzstūri. Vairāku daļu funkcijās katra daļa tiks ierakstīta arī atsevišķā failā. Faila nosaukums tiks pievienots katras funkcijas OID, kā arī visām papildu rakstzīmēm, kas nepieciešamas, lai katrs faila nosaukums būtu unikāls.

Norāda izveidojamā ASCII faila formātu.

  • ĢENERĀT - izraksta tekstu ĢENERĀT formātā. Tas ir noklusējums.
  • XYZ - raksta ievades funkciju XYZ informāciju. Katrai ievades funkcijas līnijai vai daudzstūrim tiks izveidots viens fails.
  • Profils - raksta profila informāciju līnijas funkcijām, kuras var izmantot ārējās grafiku lietojumprogrammās.

Norāda atdalītāju, kas norādīs ierakstu atdalīšanu teksta failu tabulas kolonnās.

  • Telpa - atstarpe tiks izmantota lauka vērtību norobežošanai. Tas ir noklusējums.
  • Komats - lauka vērtību norobežošanai tiks izmantots komats. Šī opcija nav piemērojama, ja komata atdalītājs ir arī komats.

Norāda metodi, kas noteiks izejas failos saglabāto nozīmīgo ciparu skaitu.

  • Automātiski noteikts - tiek automātiski noteikts to nozīmīgo ciparu skaits, kas nepieciešami, lai saglabātu pieejamo precizitāti, vienlaikus noņemot nevajadzīgās pēdējās nulles. Tas ir noklusējums.
  • Norādītais skaitlis - nozīmīgo ciparu skaits ir definēts parametrā Digits after Decimal.

Ciparu skaits, kas ierakstīts aiz komata peldošā komata vērtībām, kas ierakstītas izejas failos. Šis parametrs tiek izmantots, ja decimāldaļu apzīmējuma parametrs ir iestatīts uz Norādītais skaitlis (decimālā_formāts = FIKSĒTS Python).

Norāda decimālzīmi, kas atšķir skaitļa veselu skaitli no tā daļējās daļas.

  • Punkts - punkts tiek izmantots kā decimālzīme. Tas ir noklusējums.
  • Komats - komats tiek izmantots kā decimālzīme.

Atvasinātais rezultāts

Mape, kurā tiks rakstīti izvades faili.

3D punkta, daudzpunktu, polilēna vai daudzstūra objektu klase, kas tiks eksportēta uz ASCII failu.

Mape, kurā tiks rakstīti izvades faili.

Iegūtā ASCII faila nosaukums.

Ja līnija vai daudzstūra pazīmju klase tiek eksportēta uz XYZ formātu, faila nosaukums tiek izmantots kā bāzes nosaukums. Katrai funkcijai būs unikāla faila izeja, jo XYZ formāts katram failam atbalsta tikai vienu līniju vai daudzstūri. Vairāku daļu funkcijās katra daļa tiks ierakstīta arī atsevišķā failā. Faila nosaukums tiks pievienots katras funkcijas OID, kā arī visām papildu rakstzīmēm, kas nepieciešamas, lai katrs faila nosaukums būtu unikāls.

Norāda izveidojamā ASCII faila formātu.

  • ĢENERĀT - raksta izvadi VISPĀRĒJĀ formātā. Tas ir noklusējums.
  • XYZ - raksta ievades funkciju XYZ informāciju. Katrai ievades funkcijas līnijai vai daudzstūrim tiks izveidots viens fails.
  • PROFILE - raksta profila informāciju līnijas funkcijām, kuras var izmantot ārējās grafiku lietojumprogrammās.

Norāda atdalītāju, kas norādīs ierakstu atdalīšanu teksta failu tabulas kolonnās.

  • SPACE - lauka vērtību norobežošanai tiks izmantota atstarpe. Tas ir noklusējums.
  • COMMA - lauka vērtību norobežošanai tiks izmantots komats. Šī opcija nav piemērojama, ja komata atdalītājs ir arī komats.

Norāda metodi, kas noteiks izejas failos saglabāto nozīmīgo ciparu skaitu.

  • AUTOMĀTISKA - automātiski tiek noteikts to nozīmīgo ciparu skaits, kas nepieciešami, lai saglabātu pieejamo precizitāti, vienlaikus noņemot nevajadzīgās pēdējās nulles. Tas ir noklusējums.
  • FIKSĒTS - nozīmīgo ciparu skaits ir definēts parametrā Digits after Decimal.

Ciparu skaits, kas ierakstīts aiz komata peldošā komata vērtībām, kas ierakstītas izejas failos. Šis parametrs tiek izmantots, ja decimāldaļu apzīmējuma parametrs ir iestatīts uz Norādītais skaitlis (decimālā_formāts = FIKSĒTS Python).

Norāda decimālzīmi, kas atšķir skaitļa veselu skaitli no tā daļējās daļas.

  • DECIMAL_POINT - punkts tiek izmantots kā decimālzīme. Tas ir noklusējums.
  • DECIMAL_COMMA - komats tiek izmantots kā decimālzīme.

Atvasinātais rezultāts

Mape, kurā tiks rakstīti izvades faili.

Koda paraugs

Šis paraugs parāda šī rīka izmantošanu logā Python.

Šis paraugs parāda šī rīka izmantošanu atsevišķā Python skriptā.


1.6.2 Piemērs: Objektu klases telpiskās atsauces izdrukāšana

Šis pirmais skripta piemērs ziņo par ģeodatabāzē saglabātu objektu klases telpisko atsauci (koordinātu sistēmu). Ja vēlaties pats izmantot kodu USA.gdb, lai pats palaistu kodu, to varat atrast šeit.

Sākumā tas var šķist iebiedējoši, tāpēc pa rindai pa rindai apskatīsim, kas notiek šajā scenārijā. Noskatieties šo video (5:54), lai vizuāli iepazītos ar kodu.

Šī videoklipa mērķis ir iziet cauri pirmajam šī kursa Python skriptam, kas būs īpaši noderīgi, ja esat Python iesācējs.

Man šeit ir atvērts Spyder, kas ir izstrādes vide vai kodu redaktors, kuru iesakām izmantot visā klasē.

Pirmās pāris šī skripta rindas ir komentārs, un tajā ir teikts, ko mēs darīsim ar šo skriptu, proti, apskatīt iezīmju klasi ģeodatu bāzes iekšpusē un pēc tam izdrukāt šīs pazīmes klases telpisko atsauci.

4. rindā mēs importējam arcpy vietnes pakotni. Tagad, ja jūsu skriptam vispār ir kāds sakars ar ģeoprocesēšanu vai Esri datu kopu aplūkošanu, tas ir tas, ko jūs gatavojaties ievietot sava skripta augšdaļā. Tātad jūs varat pierast, ka skriptu augšpusē izmantojiet importēšanas arcpy.

6. rindā mēs izveidojam virknes mainīgo. Mēs saucam šo mainīgo featureClass, bet mēs to tiešām varētu saukt jebko. Kā nosaukt mainīgo, atkarīgs no mums. Tas, kas jāpiešķir mainīgajam, ir iezīme klases ceļš, kuru mēs vēlamies apskatīt, un mēs to ievietojam pēdiņās, un tas padara to par virkni Python acīs. Kad jūs izveidojat virkni, Spyder palīdz jums, ievietojot šo tekstu zaļā krāsā, tāpēc to ir viegli pamanīt jūsu kodā. Ceļā mēs izmantojam slīpsvītras uz priekšu. Tas atšķiras no parastā slīpsvītras, kuru jūs parasti redzētu, kad izmantojat ceļu. Atpakaļsvītrs Python ir rezervēts raksturs, tāpēc jums jāizmanto vai nu divi slīpsvītras, vai slīpsvītrs uz priekšu. Šajā kursā jūs redzēsiet abus.

Šajā gadījumā ceļš norāda uz faila ģeodatu bāzi. Tāpēc jūs redzat USA.gdb. Šī faila ģeodatu bāzes iekšpusē ir funkciju klase ar nosaukumu StateBoundaries. Tas, iespējams, ir daudzstūris vai līnijas pazīmju klase. Ja jūs nezināt precīzu ceļu, lai nokļūtu, jūs varētu atvērt kataloga skatu ArcGIS Pro, pāriet uz objektu klasi un pēc tam augšējā atrašanās vietas joslā redzētu precīzu izmantojamo ceļu.

9. rindā mēs faktiski izsaucam metodi arcpy, metodi arcpy Describe (), un tas mums dod atpakaļ objektu Aprakstīt. Kursa materiālā mēs esam minējuši, ka viss Pitonā ir objekts. Objektiem ir īpašības, kas tos raksturo, un metodes, kuras viņi var darīt.

Ja vēlaties uzzināt vairāk par objektu Aprakstīt, varat meklēt ArcGIS Pro palīdzību.

Mūsu gadījumā objektam Aprakstīt būs telpiska atsauce. Tagad, pirms mēs pārietam no 9. rindas, es gribētu norādīt tur iekavas. Tātad, izsaucot metodi arcpy.Describe, iekavās ir jāievieto kaut kas, kas ir iezīmju klases ceļš, kuru vēlaties aprakstīt. Tagad mums vairs nav jāievada pilns ceļš, jo mēs to izveidojām jau agrāk. Tātad šeit jūs varat vienkārši ievietot iezīmju klases mainīgā nosaukumu, un Python to lasīs kā faktisko ceļu C: / PSU utt.

Tātad pēc 9. rindas mums ir objekts Aprakstīt. Šim aprakstāmajam objektam ir īpašība, kas ir spatialReference. Tātad, 10. rindā tas ir tas, ko mēs iegūstam. "desc" ir mūsu aprakstītā objekta nosaukums, un .spatialReference iegūst mums SpatialReference objektu.

Tagad mēs nevaram izdrukāt objektu. Ja mēģināt drukāt spatialRef Spyder konsolē, Spyder vienkārši pateiks, ka lieta, kuru mēģināt drukāt, ir objekts, kas nav ļoti noderīgi. Tātad mums faktiski ir jāsaņem īpašums no šī SpatialReference objekta, un šis rekvizīts ir telpiskās atsauces nosaukums. Tāpēc 13. rindā mēs darām spatialRef.name.

Šajā laikā mēs esam nonākuši pietiekami tālu, ka esam nonākuši līdz virknei spatialRef.name vienkārši atdod virkni ar telpisko atsauci, un tāpēc to var izdrukāt Spyder konsolē.

Un tagad es vadīšu šo skriptu. Lai palaistu skriptu, es vienkārši noklikšķiniet uz pogas Palaist failu, kas izskatās kā ikona Atskaņot. Kursā vēlāk redzēsim, ka skriptiem, lai veiktu savu darbu, dažreiz ir nepieciešami argumenti vai informācija, piemēram, ceļa nosaukums vai numurs. Un ir iespējams sniegt šādus argumentus, taču tas ir diezgan vienkāršs skripts, kas neprasa nekādu ievades veidu, tāpēc mēs varam vienkārši turpināt un noklikšķināt uz pogas Palaist.

Tagad, kad palaižat skriptu, kurā ir ietverts izdrukas paziņojums, jums vajadzētu meklēt loga apakšējā labajā rūtī uz apgabalu, kas apzīmēts kā IPython konsole. Pirms izdrukas izraksta izveides jūs faktiski redzēsit ziņojumu, kas norāda palaistā skripta ceļu un nosaukumu. Tad nāk jūsu izeja, kas šajā gadījumā ir vārds Ģeogrāfisks, kas nozīmē, ka šai konkrētajai objektu klasei ir ģeogrāfisko koordinātu sistēma

Avots: skripta piemērs, kuru sākotnēji rakstījis Sterlings Kvins

  • komentārs sāk skriptu, lai izskaidrotu, kas notiks.
  • lielo un mazo burtu jutīgums tiek lietots kodā. “Imports” ir mazie burti. Tāpat ir "drukāt". Moduļa nosaukums "arcpy" vienmēr tiek dēvēts par "arcpy", nevis "ARCPY" vai "Arcpy". Līdzīgi "Aprakstīt" lielo burtu veido arcpy.Describe.
  • Mainīgo nosaukumi featureClass, desc un spatialRef, kurus programmētājs ir piešķīris, ir īsi, bet intuitīvi. Apskatot mainīgā nosaukumu, jūs varat ātri uzminēt, ko tas pārstāv.
  • Skripts izveido objektus un izmanto objektu rekvizītu un metožu kombināciju, lai paveiktu darbu. Tā darbojas objektorientētā programmēšana.

Izmēģiniet piemēru pats

Labākais veids, kā iepazīties ar jaunu programmēšanas valodu, ir aplūkot koda piemēru un pats ar to praktizēties. Pārbaudiet, vai varat modificēt iepriekš minēto skriptu, lai ziņotu par objekta klases telpisko atsauci datorā. Manā piemērā objektu klase atrodas faila ģeodatu bāzē. Ja izmantojat shapefile, jums būs jāmaina ceļa FeatureClass struktūra (piemēram, faila nosaukuma beigās ievietosiet .shp un jūs jūsu ceļā nebūs .gdb).

Izpildiet šo modeli, lai izmēģinātu piemēru:

  1. Atveriet Spyder un noklikšķiniet Fails & gt jauns.
  2. Ielīmējiet iepriekš minēto kodu jaunajā skripta failā un pārveidojiet to, lai tas atbilstu jūsu datiem (mainiet ceļu).
  3. Saglabājiet skriptu kā .py failu.
  4. Noklikšķiniet uz Palaist pogu, lai palaistu skriptu. Skatiet IPython konsoli, lai redzētu drukas atslēgvārda izvadi. Drukas atslēgvārds faktiski neizraisa drukāta eksemplāra drukāšanu! Ņemiet vērā, ka skripta pirmoreiz palaišana prasīs vairākas sekundes, jo ir jāimportē arcpy modulis un tā atkarības. Turpmākie no Arcpy atkarīgie skripti pašreizējās Spyder sesijas laikā no šīs aizkavēšanās necietīs.

Lasījumi

Mēs paņemsim nelielu pārtraukumu un lasīsim kādu citu avotu. Ja esat jauns Python skriptu lietojums, var būt noderīgi redzēt jēdzienus no cita skatu punkta.


Parametri

Ievades daudzstūra iezīmes ir jāvienkāršo.

Vienkāršotā izvades daudzstūra pazīmju klase. Tajā ir visi lauki, kas atrodas ievades funkciju klasē. Izejas daudzstūra pazīmju klase ir topoloģiski pareiza. Rīks neievieš topoloģijas kļūdas, bet izejas daudzstūra pazīmju klasē tiek atzīmētas topoloģiskās kļūdas ievades datos.

Izejas funkciju klase ietver divus papildu laukus InPoly_FID un SimPgnFlag, kas attiecīgi satur ievades funkciju ID un ievades topoloģiskās kļūdas vai neatbilstības.

  • SimPgnFlag = 0 norāda, ka nav kļūdu.
  • SimPgnFlag = 1 norāda, ka ir topoloģiska kļūda.
  • SimPgnFlag = 2 norāda funkcijas, kuras sadalījis nodalījums un kuras pēc vienkāršošanas tagad ir mazākas par minimālo platību. Karodziņš var parādīties tikai vienā sadalītās funkcijas daļā. Šīs funkcijas visas tiek saglabātas izvades funkciju klasē. Šī situācija rodas tikai tad, ja tiek izmantots vides iestatījums Kartogrāfisko starpsienu.

Norāda daudzstūra vienkāršošanas algoritmu.

  • Saglabāt kritiskos punktus (Douglas-Peucker) - tiek saglabāti kritiskie punkti, kas saglabā daudzstūra kontūras būtisko formu, un visi pārējie punkti tiek noņemti (Douglas-Peucker). Tas ir noklusējums.
  • Saglabāt kritiskos līkumus (Wang-Müller) - kritiskie līkumi tiek saglabāti, un no līnijas tiek noņemti ārējie līkumi (Wang-Müller).
  • Saglabājiet svērtos efektīvos laukumus (Džou-Džonss) - tiek saglabātas vertikāles, kas veido faktiskā laukuma trijstūrus, kas svērtas ar trijstūra formu (Džou-Džonss).
  • Saglabājiet efektīvās zonas (Visvalingam-Whyatt) - tiek saglabātas vertikāles, kas veido efektīvā laukuma trīsstūrus (Visvalingam-Whyatt).

Pielaide nosaka vienkāršošanas pakāpi. Pretējā gadījumā jūs varat izvēlēties vēlamo vienību, tiks izmantotas ievades vienības. MinSimpTol un MaxSimpTol lauki tiek pievienoti izvadei, lai saglabātu pielaidi, kas tika izmantota apstrādes laikā.

  • Algoritmam Saglabāt kritiskos punktus (Duglass-Peukers) pielaide ir maksimāli pieļaujamais perpendikulārais attālums starp katru virsotni un jaunizveidoto līniju.
  • Saglabāt kritisko līkumu (Wang-Müller) algoritmam pielaide ir apļa diametrs, kas tuvina nozīmīgu līkumu.
  • Saglabāt svērto faktisko apgabalu (Džou-Džonss) algoritmam pielaides kvadrāts ir nozīmīga trijstūra laukums, ko nosaka trīs blakus esošās virsotnes. Jo tālāk trīsstūris novirzās no vienādmalu, jo lielāks svars tam tiek piešķirts, un mazāka iespēja, ka tas tiks noņemts.
  • Saglabāt efektīvo zonu (Visvalingam-Whyatt) algoritmam pielaides kvadrāts ir nozīmīga trijstūra laukums, ko nosaka trīs blakus esošās virsotnes.

Minimālā platība, kas jāsaglabā daudzstūrim. Noklusējuma vērtība ir nulle, tas ir, lai saglabātu visus daudzstūrus. Jūs varat izvēlēties vēlamo vienību norādītajai vērtībai, pretējā gadījumā tiks izmantotas ievades vienības.

Mantojums:

Šis ir mantots parametrs, kas vairs netiek izmantots. Iepriekš tas tika izmantots, lai norādītu, kā tika apstrādātas topoloģiskās kļūdas, kas, iespējams, tika ieviestas apstrādes laikā. Šis parametrs joprojām ir iekļauts rīka sintaksē saderībai skriptos un modelī, bet tiek paslēpts no rīka dialoglodziņa.

Norāda, vai tiks izveidota izejas punkta pazīmju klase, lai uzglabātu noņemtos daudzstūru centrus, jo tie ir mazāki par parametra Minimālais apgabals vērtību. Punkta izvade ir atvasināta, tajā tiks izmantots tāds pats nosaukums un atrašanās vieta kā parametra Output funkciju Output, bet ar _Pnt sufiksu.

  • Pārbaudīts - tiks izveidota atvasināta izvades punkta pazīmju klase, lai saglabātu daudzstūru centrus, kas tiek noņemti, jo tie ir mazāki par minimālo laukumu. Tas ir noklusējums.
  • Neatzīmēts - atvasināta izvades punkta funkciju klase netiks izveidota.

Ievades, kurās ir funkcijas, darbojas kā šķēršļi vienkāršošanai. Rezultātā iegūtie vienkāršotie daudzstūri nepieskaras barjeras elementiem un tos šķērso. Piemēram, vienkāršojot mežainas teritorijas, iegūtie vienkāršotie meža daudzstūri nešķērsos ceļa pazīmes, kas definētas kā barjeras.

Atvasinātais rezultāts

Kad tiek izmantots parametrs Saglabāt sakļautos punktus (collapsed_point_option Python), tiek izveidota izejas punkta funkciju klase, lai glabātu punktus, kas attēlo daudzstūrus, kas tiek noņemti, jo tie ir mazāki par minimālo laukumu.

Ievades daudzstūra iezīmes ir jāvienkāršo.

Vienkāršotā izvades daudzstūra pazīmju klase. Tajā ir visi lauki, kas atrodas ievades funkciju klasē. Izejas daudzstūra pazīmju klase ir topoloģiski pareiza. Rīks neievieš topoloģijas kļūdas, bet izejas daudzstūra pazīmju klasē tiek atzīmētas topoloģiskās kļūdas ievades datos.

Izejas funkciju klase ietver divus papildu laukus InPoly_FID un SimPgnFlag, kas attiecīgi satur ievades funkciju ID un ievades topoloģiskās kļūdas vai neatbilstības.

  • SimPgnFlag = 0 norāda, ka nav kļūdu.
  • SimPgnFlag = 1 norāda, ka ir topoloģiska kļūda.
  • SimPgnFlag = 2 norāda funkcijas, kuras sadalījis nodalījums un kuras pēc vienkāršošanas tagad ir mazākas par minimālo platību. Karodziņš var parādīties tikai vienā sadalītās funkcijas daļā. Šīs funkcijas visas tiek saglabātas izvades funkciju klasē. Šī situācija rodas tikai tad, ja tiek izmantots vides iestatījums Kartogrāfisko starpsienu.

Norāda daudzstūra vienkāršošanas algoritmu.

  • POINT_REMOVE - tiek saglabāti kritiskie punkti, kas saglabā daudzstūra kontūras būtisko formu, un visi pārējie punkti tiek noņemti (Douglas-Peucker). Tas ir noklusējums.
  • BEND_SIMPLIFY - kritiskie līkumi tiek saglabāti, un no līnijas tiek noņemti ārējie līkumi (Wang-Müller).
  • WEIGHTED_AREA - tiek saglabātas virsotnes, kas veido faktiskā laukuma trijstūrus, kas svērtas ar trijstūra formu (Džou-Džonss).
  • EFFECTIVE_AREA - tiek saglabātas virsotnes, kas veido efektīvā laukuma trīsstūrus (Visvalingam-Whyatt).

Pielaide nosaka vienkāršošanas pakāpi. Pretējā gadījumā jūs varat izvēlēties vēlamo vienību, tiks izmantotas ievades vienības. MinSimpTol un MaxSimpTol lauki tiek pievienoti izvadei, lai saglabātu pielaidi, kas tika izmantota apstrādes laikā.

  • POINT_REMOVE algoritmam pielaide ir maksimāli pieļaujamais perpendikulārais attālums starp katru virsotni un jaunizveidoto līniju.
  • BEND_SIMPLIFY algoritmam pielaide ir apļa diametrs, kas tuvina nozīmīgu līkumu.
  • WEIGHTED_AREA algoritmam pielaides kvadrāts ir nozīmīga trīsstūra laukums, ko nosaka trīs blakus esošās virsotnes. Jo tālāk trīsstūris novirzās no vienādmalu, jo lielāks svars tam tiek piešķirts, un mazāka iespēja, ka tas tiks noņemts.
  • EFFECTIVE_AREA algoritmam pielaides kvadrāts ir nozīmīga trīsstūra laukums, ko nosaka trīs blakus esošās virsotnes.

Minimālā platība, kas jāsaglabā daudzstūrim. Noklusējuma vērtība ir nulle, tas ir, lai saglabātu visus daudzstūrus. Jūs varat izvēlēties vēlamo vienību norādītajai vērtībai, pretējā gadījumā tiks izmantotas ievades vienības.

Mantojums:

Šis ir mantots parametrs, kas vairs netiek izmantots. Iepriekš tas tika izmantots, lai norādītu, kā tika apstrādātas topoloģiskās kļūdas, kas, iespējams, tika ieviestas apstrādes laikā. Šis parametrs joprojām ir iekļauts rīka sintaksē saderībai skriptos un modelī, bet tiek paslēpts no rīka dialoglodziņa.

Norāda, vai tiks izveidota izejas punkta pazīmju klase, lai uzglabātu noņemtos daudzstūru centrus, jo tie ir mazāki par parametra minimum_area vērtību. Punkta izvade tiek atvasināta, tajā tiks izmantots tāds pats nosaukums un atrašanās vieta kā daudzstūra izvades pazīmju klasē, kas norādīta parametrā out_feature_class, bet ar _Pnt sufiksu.

  • KEEP_COLLAPSED_POINTS - tiks izveidota atvasināta izvades punkta funkciju klase, lai uzglabātu noņemtos daudzstūru centrus, jo tie ir mazāki par minimālo laukumu. Tas ir noklusējums.
  • NO_KEEP - atvasināta izejas punkta funkciju klase netiks izveidota.

Ievades, kurās ir funkcijas, darbojas kā šķēršļi vienkāršošanai. Rezultātā iegūtie vienkāršotie daudzstūri nepieskaras barjeras elementiem un tos šķērso. Piemēram, vienkāršojot mežainas teritorijas, iegūtie vienkāršotie meža daudzstūri nešķērsos ceļa pazīmes, kas definētas kā barjeras.

Atvasinātais rezultāts

Kad tiek izmantots parametrs Saglabāt sakļautos punktus (collapsed_point_option Python), tiek izveidota izejas punkta funkciju klase, lai glabātu punktus, kas attēlo daudzstūrus, kas tiek noņemti, jo tie ir mazāki par minimālo laukumu.

Koda paraugs

Šis Python loga skripts parāda, kā funkciju SimplifyPolygon izmantot tūlītējā režīmā.

Šis atsevišķais skripts parāda, kā izmantot funkciju SimplifyPolygon.


Lietošana

Šis rīks tikai atjaunina esošo koordinātu sistēmas informāciju - tas nemaina nevienu ģeometriju. Ja vēlaties pārveidot ģeometriju citā koordinātu sistēmā, izmantojiet rīku Projekts.

Visbiežāk šim rīkam izmanto zināmas koordinātu sistēmas piešķiršanu datu kopai ar nezināmu koordinātu sistēmu (tas ir, datu kopas rekvizītos koordinātu sistēma ir "Nezināma"). Cits izmantojums ir pareizas koordinātu sistēmas piešķiršana datu kopai, kurai ir definēta nepareiza koordinātu sistēma (piemēram, koordinātas ir UTM metros, bet koordinātu sistēma ir definēta kā ģeogrāfiska).

Kad šajā rīkā tiek ievadīta datu kopa ar zināmu koordinātu sistēmu, rīks izdos brīdinājumu, bet tas tiks veiksmīgi izpildīts.

Visas objektu klases ģeodatu bāzes objektu datu kopā būs vienā un tajā pašā koordinātu sistēmā. Ģeodatu bāzes datu kopas koordinātu sistēma jānosaka, kad tā tiek izveidota. Kad tajā ir iezīmju klases, tās koordinātu sistēmu nevar mainīt.


Visapkārt ĢIS

ESRI Shapefile formātu izstrādāja Esri, agrāk Vides sistēmu pētniecības institūts, Inc., saīsināts kā & # 8220ESRI, & # 8221, un tas tika publicēts 1998. Lai gan tas ir patentēts, formāta publicēšanas nolūks bija veicināt tā izmantošanu savstarpējai savietojamībai ģeogrāfiskās informācijas sistēmas (ĢIS) lietojumprogrammas. Shapefile formāts datu kopā glabā netopoloģisko ģeometriju un telpisko pazīmju atribūtu informāciju. Shapefile minimāli sastāv no galvenā faila, indeksa faila un dBASE tabulas.

Galvenajā failā objekta ģeometrija tiek saglabāta kā forma, kas satur vektoru koordinātu kopu. Šis galvenais fails ir tiešas piekļuves mainīga ieraksta garuma fails, kurā katrs ieraksts apraksta formu ar tās virsotņu sarakstu. Indeksa failā katrā ierakstā ir attiecīgā galvenā faila ieraksta nobīde no galvenā faila sākuma. Atribūti tiek turēti dBASE formāta failā. DBASE tabulā ir objektu atribūti ar vienu ierakstu katram objektam. Atribūtu ierakstiem dBASE failā jābūt tādā pašā secībā kā ierakstiem galvenajā failā. Katram atribūtu ierakstam ir savstarpēja saistība ar saistīto formas ierakstu.

Shapefile formāts var atbalstīt punktu, līniju un apgabala funkcijas. Apgabala pazīmes tiek attēlotas kā slēgta cikla divkāršoti daudzstūri.

Shapefile formāta gadījumi bieži tiek izmantoti kā datu apmaiņas formāts, sākot no Esri formātiem līdz lietojumprogrammām, kas nav Esri. Šis formāts ir visnoderīgākais, lai ātri rakstītu vienkāršas funkcijas un atribūtus, jo Shapefile formātam ir noteikti ierobežojumi, kas saistīti gan ar ģeometriju, gan ar atribūtiem. Kā aprakstīts citur šajā aprakstā, šie ierobežojumi var izraisīt datu zudumu, lietojot shapefiles, lai saturētu vai apmainītos ar sarežģītu ģeometriju vai atribūtiem. Shapefile formātu var izmantot kā starpnieku starp datu veidošanas lietojumprogrammām un funkcionāli spējīgākiem GIS formātiem un lietojumprogrammām, kaut arī ar ierobežojumiem, kas norādīti sadaļā Datu kopa / Parastā datu kopa.

Failu kopa parasti tiek glabāta vienā un tajā pašā failu direktorijā vai projekta darbvietā, un visiem komponentu failiem ir vienāds faila nosaukums (prefikss) un tos identificē ar atsevišķu faila paplašinājumu (sufiksiem). Obligāti ir trīs komponenti: galvenais fails, kurā ir iezīmju ģeometrija (.shp), indeksa fails, kurā glabājas objektu ģeometrijas indekss (.shx), un dBASE tabula (.dbf), kurā glabājas objektu atribūtu informācija. Tālāk ir sniegts visaptverošs komponentu failu saraksts:


1 Atbilde 1

Koda fragments, kas šeit ir iekļauts jautājumā, nedrīkst būt tikai kopija / ielīmēšana no lielāka skripta, pie kura strādājat, un tam nevajadzētu būt visam lielākajam skriptam. Tam jābūt kaut kam kodolīgam, lai potenciālais atbildētājs varētu kopēt / ielīmēt un būt gatavs (vai vismaz gandrīz gatavs) veikt testu.

Šeit ir daži ieteikumi par to, kā jāizskatās ArcPy jautājuma koda fragmentam.

Vispirms atlieciet kodu malā un strādājiet pie jauna tukša testa skripta. To varētu saukt par test.py, to varētu ievietot vienkāršā vietā (bez atstarpēm ceļa nosaukumā), piemēram, C: temp, kā arī vienkāršos funkciju klasēs un shapefile nosaukumos, piemēram, C: temp testGDB testFC un C: Var izmantot temp test.shp. Tas var novērst iespēju, ka problēmu rada garš ceļa nosaukums.

Ideālā gadījumā tam vajadzētu būt ne vairāk kā apmēram ducim līniju. Tas ne vienmēr ir iespējams bet tam jābūt mērķim.

Izmantojiet kopiju / ielīmēšanu, lai ienestu nelielas sākotnējā skripta daļas, līdz to var palaist, lai redzētu to pašu kļūdu, vai arī kopējiet lielas daļas un esiet gatavs lielāko daļu noņemt no testa skripta. Šī testa skripta mērķis ir tikai reproducēt jūsu kļūdu, lai jūs varētu par to jautāt. Pārējais sākotnējais skripts ir svarīgs jums, bet reti kādam, kurš mēģina atbildēt uz jūsu jautājumu.

Neiekļaujiet mēģinājumus / izņemot paziņojumus. Tie tiek izmantoti, lai jūs varētu slazdīt un tikt galā ar kļūdām reālajā kodā, taču, mēģinot noskaidrot, kāpēc fragments no tā nedarbojas, viņi var maskēt kļūdu ziņojumus, kurus pretējā gadījumā Python jums parādītu.

Tajā nevajadzētu ietvert funkcijas ja vien tie nav absolūti nepieciešami jūsu jautājumam. Ja koda daļā ir kaut kas līdzīgs:

un, ja tas ir nepieciešams jūsu jautājumam, varbūt vienkāršojiet to šādi:

Ja tas ir Python skripta rīks, tā vietā, lai ļautu mums uzminēt, ko, iespējams, redzējāt problēmu, ievadījāt rīka parametrā, mainiet kaut ko līdzīgu:

Pirms ievietojat koda fragmentu, pārliecinieties, vai esat izpildījis precīzu koda fragmentu, kuru grasāties izlikt, un pēc tam parādiet ne tikai kodu, bet arī pilnu kļūdas ziņojumu (skripta nosaukums un rindas numurs ir nenovērtējami) un jebkuru citu izvadi piemēram, no drukas vai arcpy.AddMessage paziņojumiem.

Ideālā gadījumā potenciālais atbildētājs vienkārši nokopēs / ielīmēs jūsu koda fragmentu skriptā, palaidīs to, redzēs to pašu kļūdas ziņojumu un citu izvadi kā jūs un pēc tam domās:

Es redzu to pašu problēmu, un es vēlētos izmēģināt un saprast, kas notiek. Es esmu tik priecīgs, ka man nebija jālūdz ducis paskaidrojumu, pirms esmu nonācis līdz šim punktam (ko es nebūtu darījis, jo būtu pārgājis uz kāda cita jautājumu).

Dažreiz personas kodēšanas stils potenciālajam atbildētājam var būt nepatīkams, kurš izlemj, vai brīvprātīgi pavadīt laiku, lai mēģinātu saprast jautājumu, pirms mēģināt uz to atbildēt.

One way to improve readability of Python/ArcPy code is to try and conform to PEP 8 -- Style Guide for Python Code.

A PEP 8 level of strictness has been sought by some users, but is not required.


ĢIS dati

These shapefiles cover all Metro bus lines. Each shapefile is a set of 3 to 7 interrelated files that can be used with GIS software such as QGIS. The shapefiles are redrawn every six months, typically in June and December corresponding with our biannual bus schedule changes (shakeups). New shapefiles will be posted within a few months of each shakeup. Each filename contains the 2-digit month and year (format: mmyy) of the shakeup it corresponds with.

The bus line shapefiles are generated from basic operating schedules for all trunk lines. Branch lines and short-lines are subsets of these lines. Example: only Limited Line 344 is listed under LimExpmmyy.zip. The other Limited Routes (i.e., routes that skip stops) are branch lines that will be found under their parent trunk line (e.g., Limited Line 302 is a branch of Local Line 2).

The attribute file (dbf) of any bus line shapefile has a column, “Var_Route” which identifies the Trunk Line. A trunk line may have many rows associated with this Line. Each of these represent a trip pattern that may be assigned to a bus. The attribute file also contains a column “Var_Descr” that further describes the trip pattern. A bus route that differs from the trunk line’s route (enough to be given its own Route number in the bus’ headsign) will be indicated in this column. In order to have a single bus line displayed on a map, use your GIS software to highlight and/or export the trip patterns with that bus line’s name.

Two bus stop shapefiles are available, each with the same content but organized differently. These shapefiles will be updated every shakeup in tandem with the bus line shapefiles. Additionally, we have a spreadsheet listing the average headways (time between buses) for each line.

“Bus lines” and “bus stops” are really separate systems on a map. While the bus line shapefiles are snapped to the street centerline, the bus stops are the exact points where the stops occupy the sidewalk and are necessarily offset from the lines.

For more GIS data published by Metro, visit Metro’s ArcGIS home page.


Reader Overview

The Shapefile reader produces FME features for all feature data held in shapefiles that reside in the specified folder.

  1. Specify Reader Format (Esri Shapefile) and Dataset (.shp file)
  2. Optional: Specify Esri Shapefile Reader Parameters.
  3. Noklikšķiniet uz Labi.

The Shapefile reader extracts features one at a time from the file and passes them on to the rest of FME for further processing. When the file is exhausted, the Shapefile reader starts on the next file in the folder.


Skatīties video: How to Download GIS Data for Any Country Especially Shapefile Boundaries and DEM