(defun C:statistics_katalog_coordinate (/ )
  (if (setq o-doc(XML-Get-XMLObject (get-patch-to-katalog)))
    (progn
      (setq squares(XML-Get-Child (XML-Get-Child o-doc nil "puncts") nil "squares"))
      (setq z-only(XML-Get-Child (XML-Get-Child o-doc nil "puncts") nil "z-only"))
      (setq summ-xy-punkt 0)
      (setq summ-z-only-punkt 0)
      (setq summ-year-z 0)
      (setq n 0)
      (setq summ-year 0)
      (setq summ-z 0)
      (foreach x (XML-Get-ChildList squares)
	(foreach y (XML-Get-ChildList x)
	  (setq punct-ass-list(convert-punkt-recorg-to-ass-list y))
	  (if
	    (get-item-by-name-in-list punct-ass-list "year")
	    (setq summ-year (1+ summ-year))
	    )
	  (if
	    (get-item-by-name-in-list punct-ass-list "Z")
	    (setq summ-z (1+ summ-z))
	    )
	  (setq summ-xy-punkt (1+ summ-xy-punkt))
	  (if (=(rem n 100)0)(grtext -1 (strcat"читаю"(itoa n))))
	  (setq n (1+ n))
	  )
	)
      (foreach z (XML-Get-ChildList z-only)
	(setq punct-ass-list(convert-punkt-recorg-to-ass-list z))
	(if
	  (get-item-by-name-in-list punct-ass-list "year")
	  (setq summ-year-z (1+ summ-year-z))
	  )
	(setq summ-z-only-punkt (1+ summ-z-only-punkt))
	(if (=(rem n 100)0)(grtext -1 (strcat"читаю"(itoa n))))
	(setq n (1+ n))
	)
      (setq summ-z-only-punkt (length(XML-Get-ChildList z-only)))
      (setq string
	     (strcat
	       "\n Пунктов с плановыми координатами: " (itoa summ-xy-punkt)
	       "\n из них с указаным годом: " (itoa summ-year)
	       "\n        с отметкой: " (itoa summ-z)
	       "\n Пунктов только с высотами: " (itoa summ-z-only-punkt)
	       "\n из них с указаным годом: " (itoa summ-year-z)
	       "\n"
	       "\n Всего пунктов в каталоге: " (itoa (+ summ-xy-punkt summ-z-only-punkt))))
      (princ string)
      (alert string)
      (if squares(vlax-release-object squares))
      (if z-only(vlax-release-object z-only))
      (if o-doc(vlax-release-object o-doc))
      )
    (alert "Файл каталога координат пунктов не обнаружен!")
    )
  (princ)
  )