GEODI Raporlarına arama arayüzünden 3 nokta ile erişebilirsiniz. Bu sayfada aynı raporlara ve daha fazlasına API ile nasıl erişeceğinizi anlatacağız. GEODI Raporlar servisleri uygun tanımlar ile kullanıcı tanımlı web servisi olarak da kullanılabilir.
Raporları REST API ile almak
GEODI içinde tanımlı raporları REST API ile alabilirsiniz. Dönen sonuç raporun tipine göre değişecektir. Geojson raporu JSON döner, diğer raporlar, HTML, CSV veya Excel dönebilir.
q=<sorgu> parametresi 2 farklı şekilde verilebilir. Bir seferde bütün veriyi almamak için Startindex, Endindex kullanarak sayfa sayfa alabilirsiniz.
GEODI sorguları coğrafi kriterleri destekler. Bu nedenle eğer GEojson gibi coğrafi bilgi içeren bir raporu çağırıyorsanız bbox
kuralını da eklemeniz iyi olur, gereksiz veri gelmez, hızlanır.
RaporID le rilgili raporların jsettingsleri içindedir.
[GEODIURL]/GeodiExportHandler?op=ExportQueryResult&ReportID=[raporun IDsi]&st_wsName=[WSNAME]&query=[StrorageManagerQueryOptions_JSON]&languagetemp=[en-US|tr-tr|..]&UserSession=[TOKEN]
--
[GEODIURL]/GeodiExportHandler?op=ExportQueryResult&ReportID=[raporun IDsi]&st_wsName=[WSNAME]&q=q=[SearchString]&startIndex=[StartIndex]&endIndex=[EndIndex]&options=[OptionsJSON]&languagetemp=[en-US|tr-tr|..]&UserSession=[TOKEN]
Özel Servis Tanımı
Özel servis tanımlarında dönen sonuç GEODI görünümlerinden gördüğünüz sonuç olabilir. QueryMode parametresi ile hangi görünümü istediğinizi belirtirsiniz.
QueryMode
değerleriDLV → DLV Sorgu sonucu ile çalışır
KLV → KLV Sorgu sonucu ile çalışır
SUMMARY → Summary Sorgu sonucu ile çalışır
QUERY_DOCUMENTS → DLV Rest api ekleri olmayan çok basit, yalın DLV sorgusudur.
QUERY_KEYWORDS → KLV Rest api ekleri olmayan çok basit, yalın KLV sorgusudur.
QUERY_SUMMARY → Summary Rest api ekleri olmayan çok basit, yalın Summary sorgusudur.
Boş bırakılırsa eskisi gibi GeodiEntry getirecek.
GenericSettings ayarlarında
HideClient
true ise istemcide Raporlar listesinde görüntülenmez.FillOptions
query nesnesindeki FillOptions değerine or ile eklenir.QueryStringParams
key value koleksiyondur. Bazı iç REST API yöntemlerinin beklediği url parametrelerini taklit eder.DisableWaitConnectionCheck
ayarı rapor indirmelerde yararlandığımız gecikmeli sonuç göndermeyi iptal ediyor.
Örnek
Request:
POST https://icdemo.dece.com.tr/GeodiExportHandler?op=Export2 ReportID=VakifSet1 languagetemp=en-US wsName=1013-Veri-Koruma-KVKK query={startIndex:0,endIndex:2} UserSession=FLNepbjfacXNkWxzkHPzN0Emj81qOiLo9LYDw9LMOt0hDCf6Vkazut5GqUgbxEtI2nNJNaZi37fLiora1MIyD4HkEiCeYZOwFP5gK2Jok3uLRd7HS9XrD3OBKCaX5HRml47I9hJ235EsRvfvYnX3M28R4EEmqKWEG6B6Hy6gLa0RFOwa7yjUfmiu6FbxIUfaKYKjlPc0yBla0KByHpb717y7qd1dYRMTucvfe9hedoYTPP1Jnu6RiHLzSasuNbqM2dQvV2mfhvJzKgGhnozyieexB9cKdMUbCtiwUEiqcRCyR159jFSaHQdRDSVThvSru9i7bXbPh0PU5wl7vR2VppVGdZuXR
Response:
[ { "Content": "Kişiler", "ContentId": 0, "Version": 0, "Recognizer": "", "UNCPath": "43a3b54a-e332-e1de-d3e7-44c5bcc57ee6AccessConnectionString_bb9f3b8a-6141-4ba7-9406-6cd3cd5ea5e1\\Table:Kişiler", "ContentType": "file_db:geodi_table", "CreateDate": "0001-01-01T00:00:00.000Z", "ModifiedDate": "0001-01-01T00:00:00.000Z", "ComputerName": null, "IP": null }, { "Content": "İbrahim Kayahan", "ContentId": 1, "Version": 0, "Recognizer": "Person Names;Phone Numbers;Turkey-Counties;Turkey-Cities;Türkiye Tapu Mahalleleri", "UNCPath": "43a3b54a-e332-e1de-d3e7-44c5bcc57ee6AccessConnectionString_bb9f3b8a-6141-4ba7-9406-6cd3cd5ea5e1\\Table:Kişiler\\Table:PK_Value_objectid:1", "ContentType": "file_db:geodi_row", "CreateDate": "0001-01-01T00:00:00.000Z", "ModifiedDate": "0001-01-01T00:00:00.000Z", "ComputerName": null, "IP": null } ]
Ortamda bulunan rapor dosyaları
VakifSet1.html
[
<dcc:repeater>
[=c.RepeaterIndex>0?",":""]
{
"Content":[=c.ToJson(d.DisplayName)],
"ContentId":[=d.ContentIdentifier],
"Version":[=d.DocVersion],
"Recognizer":[=c.ToJson(d.AdditionalValues.ContainsKey("DocLayersNames")?string.Join(";",(List<string>)d.AdditionalValues["DocLayersNames"\]):"")],
"UNCPath":[=c.ToJson(d.AdditionalValues["UNC"\])],
"ContentType":[=c.ToJson(d.ContentType)],
"ModifiedDate":"[=((DateTime)d.AdditionalValues["ContentDate"\]).ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'")]",
"Source":[=c.ToJson(d.AdditionalValues.ContainsKey("EnumaratorName")?d.AdditionalValues["EnumaratorName"\]:null)]
"ComputerName":[=c.ToJson(d.AdditionalValues.ContainsKey("SP_ComputerName")?d.AdditionalValues["SP_ComputerName"\]:null)],
"IP":[=c.ToJson(d.AdditionalValues.ContainsKey("SP_IP")?d.AdditionalValues["SP_IP"\]:null)]
}
</dcc:repeater>
]
VakifSet1.jSettings
{
"ID":"VakifSet1",
"__type":"Factory.ActionFactory:HTMLReporter",
"DisableDownload":true,
"DisableWaitConnectionCheck":true,
"DisplayName":"VakifSet1",
"ForcedExtension":".json",
"DefaultContentType":"text/json",
"GenericSettings":{
"QueryMode":"DLV",
"FillOptions":33554432,
"QueryStringParams": { "FillLayerNames": "1" },
"HideClient":true
}
}