Pro sürüm
Geo
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF Pro, PDF sayfa koordinatlarını coğrafi koordinatlara eşler ve GEO alt türüyle bir PDF ölçü sözlüğü üretir; böylece bir görüntüleyici, sayfa üzerindeki bir noktadan gerçek dünya konumunu raporlayabilir.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu yetenek NextPDF Pro (nextpdf/pro) ile sunulur ve Pro katmanı lisans zarfıyla etkinleşir. Bu yetkilendirmeye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans edinin.
Geo’nun ayrı bir özellik başına lisans bayrağı yoktur; Pro katmanı zarfı onu doğrudan etkinleştirir.
Kurulum
“Kurulum” başlıklı bölümcomposer require nextpdf/pro:^3Kavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümCoğrafi mekânsal bir PDF, ISO 32000-2 §12.8.2’de tanımlanan ve aygıt uzayı noktalarını coğrafi bir koordinat başvuru sistemine bağlayan bir ölçü sözlüğü taşır. NextPDF Pro, bu veriyi değişmez değer nesnelerinden oluşturur:
GeoCoordinate— bir enlem/boylam/yükseklik üçlüsü. Oluşturma, enlemi [-90, 90] ve boylamı [-180, 180] aralığında doğrular ve derece-dakika-saniye ile ondalık dize biçimlendirmesi sunar.GeoControlPoint— bir PDF uzayı noktasının birGeoCoordinateile eşleştirilmesi.ProjectionType— her biri bir EPSG koduna eşlenen yaygın izdüşümlerin (coğrafi, UTM, enine Mercator, Lambert konformal konik) bir enum’u.GeoRegistration— kontrol noktaları ile izdüşüm ve jeodezik datum (varsayılanWGS84).isValid(), en az düzeyde bir afin dönüşüm için en az iki kontrol noktası gerektirir;toPdfMeasureDictionary(),/Subtype /GEOve kontrol noktası dizileriyle/Measuresözlüğünü yayar.
Neden bu şekilde çalışır
“Neden bu şekilde çalışır” başlıklı bölümNextPDF, ölçü sözlüğünü, çağıranın sağladığı ham bir sözlükten değil, doğrulanmış, değişmez değer nesnelerinden oluşturur. GeoCoordinate, oluşturma sırasında aralık dışı bir enlemi veya boylamı reddeder. GeoRegistration::isValid(), ikiden az kontrol noktasını reddeder; böylece bozuk bir kayıt, bozulmuş bir /GEO sözlüğü yaymak yerine hızlıca başarısız olur. İzdüşümler, koordinat başvuru sistemini tahmin edilen değil açık tutan ProjectionType aracılığıyla standart EPSG kodlarına çözümlenir. Datum, varsayılan olarak WGS84’tür ancak adlandırılmış bir alan olarak kalır; böylece varsayılan olmayan bir başvuru sistemi bilinçli bir seçimdir. Bu fail-closed duruşu önemlidir çünkü yanlış bir coğrafi başvuru, hiç olmamasından daha kötüdür; bir görüntüleyici, güvenle yanlış bir gerçek dünya konumu raporlardı.
Tasarım arka planı: Tahmin etmeyi reddeden bir API.
API yüzeyi
“API yüzeyi” başlıklı bölüm| Sınıf | Sorumluluk |
|---|---|
GeoCoordinate | Biçimlendirmeyle doğrulanmış enlem/boylam/yükseklik. |
GeoControlPoint | PDF noktası ↔ coğrafi nokta eşleştirmesi. |
ProjectionType | EPSG kodlarıyla izdüşüm enum’u. |
GeoRegistration | /Measure /GEO sözlüğünü oluşturur. |
Kod örneği — Hızlı başlangıç
“Kod örneği — Hızlı başlangıç” başlıklı bölümuse NextPDF\Pro\Geo\{GeoRegistration, GeoControlPoint, GeoCoordinate, ProjectionType};
$reg = new GeoRegistration( controlPoints: [ new GeoControlPoint(0.0, 0.0, new GeoCoordinate(40.0, -74.0, 0.0)), new GeoControlPoint(600.0, 800.0, new GeoCoordinate(41.0, -73.0, 0.0)), ], projection: ProjectionType::Geographic,);$dict = $reg->toPdfMeasureDictionary();Kod örneği — Üretim
“Kod örneği — Üretim” başlıklı bölümif (! $reg->isValid()) { throw new RuntimeException('Geo registration needs at least two control points.');}$logger->info('geo.registered', [ 'projection' => $reg->projection->value, 'datum' => $reg->datum,]);Uç durumlar ve dikkat edilmesi gerekenler
“Uç durumlar ve dikkat edilmesi gerekenler” başlıklı bölümGeoCoordinateoluşturma, aralık dışı bir enlemi veya boylamı reddeder.- İkiden az kontrol noktası, geçersiz bir kayıt üretir.
- Varsayılan datum
WGS84’tür; diğer başvuru sistemleri için onu açıkça ayarlayın.
Performans
“Performans” başlıklı bölümSözlük üretimi, kontrol noktalarının sayısında doğrusaldır.
Güvenlik notları
“Güvenlik notları” başlıklı bölümGeo girdisi, sayısal koordinat verisidir. Kayıttan önce güvenilmeyen girdiden gelen kontrol noktalarını doğrulayın.
Uygunluk
“Uygunluk” başlıklı bölüm| Davranış | Başvuru | Durum |
|---|---|---|
| Coğrafi mekânsal ölçü sözlüğü (GEO alt türü) | ISO 32000-2 §12.8.2 | Hizalanmış (yorumlanarak) |
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölümGeoCoordinate, oluşturma sırasında enlemi [-90, 90] ve boylamı [-180, 180] aralığında doğrular ve DMS ile ondalık dize biçimlendirmesi sunar.GeoControlPoint, bir PDF uzayı noktasını birGeoCoordinateile eşleştirir.GeoRegistration, kontrol noktaları ile birProjectionType(bir EPSG koduna eşlenmiş) ve varsayılan olarakWGS84olan bir jeodezik datum taşır.isValid(), en az iki kontrol noktası gerektirir;toPdfMeasureDictionary(),/Subtype /GEOve kontrol noktası dizileriyle bir/Measuresözlüğü yayar.- Aralık dışı koordinatlar veya ikiden az kontrol noktası, sessizce bozulmuş çıktı yerine geçersiz bir kayıt üretir.
Enterprise sınır notu
“Enterprise sınır notu” başlıklı bölümEnterprise, Geo davranışını değiştirmez. Enterprise, ayrı olarak belgelenen üst katman özellikleri ekler; bunlar bir GeoPDF ölçü sözlüğü üretmek için gerekli değildir.
Core geri dönüşü / alternatifi
“Core geri dönüşü / alternatifi” başlıklı bölümGeoPDF ölçü sözlüğü üretimi için hiçbir Core eşdeğeri yoktur. Bu bir Pro eklentisidir.
Yayın sınırı
“Yayın sınırı” başlıklı bölümBu sayfa yalnızca dışarıdan gözlemlenebilen davranışı ve desteklenen genel API yüzeyini belgeler. İç ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, runbook dosya adları ve bilet önekleri kapsam dışıdır.
Ayrıca bkz.
“Ayrıca bkz.” başlıklı bölüm- Geo — Derinlemesine başvuru — tam sınıf ve yöntem başvurusu.
- Document — sayfa ve belge oluşturma.
- Core açıklamalar.